1. 如何快速创建自己的加密货币
5步教你创建属于自己的加密货币
当你看到制作出实物钞票要多么复杂时,就很容易明白为什么大多数人不会每天都开始尝试印制新形式的货币,但对于只有基础编程水平的人来说,制造出新的数字货币也会非常容易。
编程并不是制造新的数字货币的唯一步骤。下面是三个加密货币制造商给出您应遵循的五个步骤。
1、使用社区培育货币
克里斯·埃利斯是一位来自伦敦的企业家,同时也是羽毛币社区活动家,他认为,当你考虑制造一个新的数字货币时,很容易假设第一步就应该开始货币编程,其实这是错误的。
“第一步是找到一个社区,并在社区周围建立一种货币,而不是在建立一种货币后指望着人们都能出现,”埃利斯说,“它必须符合社区的需求,并与他们的文化遗产和背景相关。”
羽毛币由彼得·布什内尔在2013年4月创建。布什内尔在牛津大学布雷奇诺斯学院辞去了他的IT主管职位,因为他想自己创造一个以人为中心的货币。他在一个知名加密货币网站bitcointalk.org上看到,现有加密货币(比如比特币)缺乏社区参与和包容性,随即做出上述决定。
自去年3月以来,埃利斯一直积极宣传和向人们教授加密货币的知识,虽然当时还没有遇到布什内尔,但也感同身受的意识到比特币论坛上的那种疏远化和隔离感。
“这些论坛非常注重技术,对新人或少数群体并不欢迎,通常较小的团队能更好地服务这些新人或少数群体,”埃利斯说。“论坛并没有让人们更便捷地参与货币开发。这些论坛上的很多人都来预测价格而不是主动参与开发。”
埃利斯找到了基于羽毛币的加密货币社区,他表示,技术发展从社区中获益颇多。
“我们是一群羽毛币的加密爱好者,但是其中的一些新手要是在其他社区,可能不会这么轻易地融入进去”, 埃利斯说。他表示,羽毛币的每个人都认为,重要的是要展示出一群忠实的人能够建立稳定的货币。通过合作,一个专门的加密爱好者社区能够更好地发现并解决漏洞和安全威胁,例如羽毛币编码社区成功抵御了51%的攻击。
建立这种保护措施并促进货币的发展,可以使货币在公众眼中更合法,更容易被信任。可如果参与其中的都是一群只为私利的被动观察者,这就麻烦了。
2、编程,为了长期的利益
令人惊讶的是,与我交谈的每一位货币开发人员都说过同样的事情:“对加密货币编程通常是流程中耗时最少的部分。这是因为现在市场上的所有加密货币都基于GitHub上提供的比特币或莱特币的开源代码。”
Coino的创始人之一皮特·奥特巴赫表示:“创作本身并不需要很长时间。 这可能只有一天”,该公司自称是市场上最快的加密货币,最大交易时间仅为50秒。“要想开始编程,只需要会C ++就可以在其中创建自己的功能。”
据夸克加密货币开发商科林·埃文斯称,时间可能比一天长一点。“在编程方面,最复杂的步骤可能与您计划拥有区块链的各个参数的复杂程度有关,” 埃文斯说。“例如,很多货币只是使用并复制莱特币代码,但是夸克有一个全新的Hash算法 - 也就是说,它与比特币和莱特币都是分开的 - 所以如果想要改变,这方面肯定会是最困难的。”在这种情况下对加密货币编程可能需要几个月的时间。 但是,埃文斯指出,如果开发人员只是重复使用GitHub的代码并只更改一些简单的参数,那么任何一个有能力的编程人员都可以在“30分钟内完成”。
但仅仅认为任何掌握C ++技能的人,都可以制作自己的加密货币,并不意味着有一天货币种类会像iOS应用那样多,“羽毛币事实上是莱特币的一个分支,”埃利斯说。“它始于最小数量的参数变化,因为我们认为货币最重要的特征是生存能力。”
然而,羽毛币团队注意到,之前出现的一些货币并没有持续很长时间,因为它们包含了一个新功能,该功能可使投资者通过短期投机炒作盈利,但随后团队常无法长期按计划管理项目,致使项目失败。换句话说,那些失败的货币开发者可能想要短期创建加密货币并从中赢利,而不是进行长期开发——这从一开始就注定了会失败。
埃利斯表示:“必须要对修复缺陷负责,并且在推出货币时做出承诺,也有责任告知人们风险并保护他们的财产,” 如果你不能这样做,那么没有人会一直使用你的货币。
3、让矿工登场
一旦你开发了货币,就需要把信息传播出去,以便人们开始挖掘这种货币,让人们意识到它的存在,并有望开始在矿工和用户眼中得到一些价值。这就是加密货币制造商不能像程序员一样思考的地方,而是要研究人类如何将信任(和价值)置于事物之中。
羽毛币的埃利斯解释说:“一个好的开始就是成功了一半,因此这涉及建立信任,向矿工们表达您的愿景和意图,他们拥有所需的硬件,并让他们有机会迎接未来的机遇。“你必须诚实并尊重人们的期望和对风险的宽容,这是很多人看重的。
“货币销售量过热会适得其反, 包括那些只是为了尝试或为了脱颖而出而设计的新功能也不起作用。市场可以测试勇气和决心。你需要一群忠于初心,忠诚的矿工,即使在价格暴跌时也会处理交易,因为他们相信最终的结果。 这取决于良好的沟通和团队建设。
“许多加密货币因为低估了‘软件’而失败了,他们认为用技术可以解决所有问题。 然后事情并不是像他们所想象的那样。你必须善于意识到需要完成哪些工作,并准备好做别人不想做的工作。”
4、了解你的商家
如果你已经做到了这一点。 你已经将一个优秀的加密货币概念化,并将正确的团队聚在一起,沿着自己的方式进行培养和培育。你已经在加密货币论坛上传播了这个消息,并且有一大批矿工正积极努力挖掘你的货币。下一步就是营销你的货币,以便所有挖矿人都可以使用它。这是不小的壮举。毕竟,你需要说服个人和商家自己创造的这些货币拥有价值,并且可以像传统可被信任的货币一样进行交易。
“这是一个建立信心的过程,”埃利斯说。“需要很好的管理,花时间来制定出你真正相信和主张的东西。相比你的行动,人们会更愿意基于你的动机来购买货币,所以一旦你有信心,就必须开始向朋友,商人,在互联网论坛和社交媒体上讨论你的货币。”
皮特·奥特巴赫认同此种观点,“开始营销需要找到确切的目标群体,”他说, “起初你可以从加密货币市场开始,因为那里的人知道这种货币,你会看到他们的第一反应。之后会变得更加困难。你需要说服许多甚至不知道加密货币是什么的人,所以你必须把货币作为在线商店的支付解决方案,来吸引他们关注。”
“我想补充说,不仅仅是用事实来教育他们,”埃利斯说,“这是为了鼓励他们学习和发现自己的优势。 金钱是一个分类账户,它是人们用来达到目标和满足其需求的一种工具。 了解这一点将会使你在营销工作中取得长足的进步。”
埃利斯认为,让商人接纳货币和让采矿者接纳相似,关键是了解他们不同的观点。 “不同的利益相关者,却有相同的规则。区别在于矿工有投机情绪,相比来说商人更保守。”他指出,商人有三个主要目的:赚钱,省钱,提高他们的意识。“如果能够在降低支付费用的同时,为他们带来客户并提高销售额,其余的工作就是坚持不懈,让他们尽可能轻松地开始工作。”
5、结论
论是从专业的角度,还是传统的观点,制造加密货币之旅的最后一步,就是用货币统治世界。但鉴于5000年以来没有任何一种货币可以统治全球,不管硅谷比特币爱好者说什么 - 任何一种加密货币都是如此。
此外,加密货币统治全球“并不一定是目标,”埃利斯说。“货币可以是本地的,实际上我们认为羽毛币是可以服务于全球市场的本地货币。”
其中可能蕴藏着新兴加密货币领域的真正市场:某些社区,城市,活动,场地和人群的本地货币。围绕着志同道合的消费者群体建立,使他们能够快速自由地进行交易,并为他们生活中重要的商品和服务提供安全保障。而不必依靠中央银行和大型市场来告诉他们,不管是硬币还是纸币,都具有价值。
2. 比特币矿池的协议stratum
转自: https://zhuanlan.hu.com/p/23558268
getblocktemplate协议诞生于2012年中叶,此时矿池已经出现。矿池采用getblocktemplate协议与节点客户端交互,采用stratum协议与矿工交互,这是最典型的矿池搭建模式。
与getwork相比,getblocktemplate协议最大的不同点是:getblocktemplate协议让矿工自行构造区块。如此一来,节点和挖矿完全分离。对于getwork来说,区块链是黑暗的,getwork对区块链一无所知,他只知道修改data字段的4个字节。对于getblocktemplate来说,整个区块链是透明的,getblocktemplate掌握区块链上与挖矿有关的所有信息,包括待确认交易池,getblocktemplate可以自己选择包含进区块的交易。
挖矿有两种方式,一种叫SOLO挖矿,另一种是去矿池挖矿。前文所述的在节点客户端直接启动CPU挖矿,以及依靠getwork+cgminer驱动显卡直接连接节点客户端挖矿,都是SOLO挖矿,SOLO好比自己独资买彩票,不轻易中奖,中奖则收益全部归自己所有。去矿池挖矿好比合买彩票,大家一起出钱,能买一堆彩票,中奖后按出资比率分配收益。理论上,矿机可以借助getblocktemplate协议链接节点客户端SOLO挖矿,但其实早已没有矿工会那么做,在写这篇文章时,比特币全网算力1600P+,而当前最先进的矿机算力10T左右,如此算来,单台矿机SOLO挖到一个块的概率不到16万分之一,矿工(人)投入真金白银购买矿机、交付电费,不会做风险那么高的投资,显然投入矿池抱团挖矿以降低风险,获得稳定收益更加适合。因此矿池的出现是必然,也不可消除,无论是否破坏系统的去中心化原则。
矿池的核心工作是给矿工分配任务,统计工作量并分发收益。矿池将区块难度分成很多难度更小的任务下发给矿工计算,矿工完成一个任务后将工作量提交给矿池,叫提交一个share。假如全网区块难度要求Hash运算结果的前70个比特位都是0,那么矿池给矿工分配的任务可能只要求前30位是0(根据矿工算力调节),矿工完成指定难度任务后上交share,矿池再检测在满足前30位为0的基础上,看看是否碰巧前70位都是0。
矿池会根据每个矿工的算力情况分配不同难度的任务,矿池是如何判断矿工算力大小以分配合适的任务难度呢?调节思路和比特币区块难度一样,矿池需要借助矿工的share率,矿池希望给每个矿工分配的任务都足够让矿工运算一定时间,比如说1秒,如果矿工在一秒之内完成了几次任务,说明矿池当前给到的难度低了,需要调高,反之。如此下来,经过一段时间调节,矿池能给矿工分配合理难度,并计算出矿工的算力。
矿池通过getblocktemplate协议与网络节点交互,以获得区块链的最新信息,通过stratum协议与矿工交互。此外,为了让之前用getwork协议挖矿的软件也可以连接到矿池挖矿,矿池一般也支持getwork协议,通过阶层挖矿代理机制实现(Stratum mining proxy)。须知在矿池刚出现时,显卡挖矿还是主力,getwork用起来非常方便,另外早期的FPGA矿机有些是用getwork实现的,stratum与矿池采用TCP方式通信,数据使用JSON封装格式。
先来说一下getblocktemplate遗留下来的几个问题:
矿工驱动:在getblocktemplate协议里,依然是由矿工主动通过HTTP方式调用RPC接口向节点申请挖矿数据,这就意味着,网络最新区块的变动无法及时告知矿工,造成算力损失。
数据负载:如上所述,如今正常的一次getblocktemplate调用节点都会反馈回1.5M左右的数据,其中主要数据是交易列表,矿工与矿池需频繁交互数据,显然不能每次分配工作都要给矿工附带那么多信息。再者巨大的内存需求将大大影响矿机性能,增加成本。
Stratum协议彻底解决了以上问题。
Stratum协议采用主动分配任务的方式,也就是说,矿池任何时候都可以给矿工指派新任务,对于矿工来说,如果收到矿池指派的新任务,应立即无条件转向新任务;矿工也可以主动跟矿池申请新任务。
现在最核心的问题是如何让矿工获得更大的搜索空间,如果参照getwork协议,仅仅给矿工可以改变nNonce和nTime字段,则交互的数据量很少,但这点搜索空间肯定是不够的。想增加搜索空间,只能在hashMerkleroot下功夫,如果让矿工自己构造coinbase,那么搜索空间的问题将迎刃而解,但代价是必要要把区块包含的所有交易都交给矿工,矿工才能构造交易列表的Merkleroot,这对于矿工来说压力更大,对于矿池带宽要求也更高。
Stratum协议巧妙解决了这个问题,成功实现既可以给矿工增加足够的搜索空间,又只需要交互很少的数据量,这也是Stratum协议最具创新的地方。
再来回顾一下区块头的6个字段80字节,这个很关键,nVersion,nBits,hashPrevBlock这3个字段是固定的,nNonce,nTime这两个字段是矿工现在就可以改变的。增加搜索空间只能从hashMerkleroot下手,这个绕不过去。Stratum协议让矿工自己构造coinbase交易,coinbase的scriptSig字段有很多字节可以让矿工自由填充,而coinbase的改动意味着hashMerkleroot的改变。从coinbase构造hashMerkleroot无需全部交易,
如上图所示,假如区块将包含13笔交易,矿池先对这13笔交易进行处理,最后只要把图中的4个黑点(Hash值)交付给矿工,同时将构造coinbase需要的信息交付给矿工,矿工就可以自己构造hashMerkleroot(图中的绿点都是矿工自行计算获得,两两合并Hash时,规定下一个黑点代表的hash值总是放在右边)
。按照这种方式,假如区块包含N笔交易,矿池可以浓缩成log2(N)个hash值交付给矿工,这大大降低了矿池和矿工交互的数据量。
Stratum协议严格规定了矿工和矿池交互的接口数据结构和交互逻辑,具体如下:
1. 矿工订阅任务
启动挖矿机器,使用mining.subscribe方法链接矿池
返回数据很重要,矿工需本地记录,在整个挖矿过程中都用到,其中:
Extranonce1,和 Extranonce2对于挖矿很重要,增加的搜索空间就在这里,现在,我们至少有了8个字节的搜索空间,即nNonce的4个字节,以及 Extranonce2的4个字节。
2. 矿池授权
在矿池注册一个账号 ,添加矿工,矿池允许每个账号任意添加矿工数,并取不同名字以区分。矿工使用mining.authorize方法申请授权,只有被矿池授权的矿工才能收到矿池指派任务。
3. 矿池分配任务
以上每个字段信息都是必不可少,其中:
有了以上信息,再加上之前拿到的Extranonce1 和Extranonce2_size,就可以挖矿了。
4. 挖矿
1) 构造coinbase交易
用到的信息包括Coinb1, Extranonce1, Extranonce2_size 以及Coinb2,构造很简单:
为啥可以这样,因为矿池帮矿工做了很多工作,矿池已经构建了coinbase交易,系列化后在指定位置分割成coinb1和coinb2,coinb1和coinb2包含指定信息,比如coinb1包含区块高度,coinb2包含了矿工的收益地址和收益额等信息,但是这些信息对于矿工来说无关紧要,矿工挖矿的地方只是Extranonce2 的4个字节。另外Extranonce1是矿池写入区块的指定信息,一般来说,每个矿池会写入自己矿池的信息,比如矿池名字或者域名,我们就是根据这个信息统计每个矿池在全网的算力比重。
2) 构建Merkleroot
利用coinbase和merkle_branch,按照上图方式构造hashMerkleroot字段。
3) 构建区块头
填充余下的5个字段,现在,矿池可以在nNonce和Extranonce2 里搜索进行挖矿,如果嫌搜索空间还不够,只要增加Extranonce2_size为多几个字节就可轻而易举解决。
5. 矿工提交工作量
当矿工找到一个符合难度的shares时,提交给矿池,提交的信息量很少,都是必不可少的字段:
矿池拿到以上5个字段后,首先根据任务号ID找出之前分配任务前存储的信息(主要是构建的coinbase交易以及包含的交易列表等),然后重构区块,再验证shares难度,对于符合难度要求的shares,再检测是否符合全网难度。
6. 矿池给矿工调节难度
矿池记录每个矿工的难度,并根据shares率不断调节以指定合适难度。矿池可以随时通过mining.set_difficulty方法给矿工发消息另其改变难度。
如上,Stratum协议核心理念基本解析清楚,在getblocktemplate协议和Stratum协议的配合下,矿池终于可以大声的对矿工说,让算力来的更猛烈些吧。
3. 想在网上创建自己的比特币账号应该怎么操作
创建自己的比特币账号的操作步骤知如下:
1、电脑搜索“比特币”。
8、注册成功以后就可以进行交易、挖矿、支付等操作了。
4. 如何注册比特币钱包,拥有自己的比特币地址
在浏览器中输入比特币钱包的网址,可以网络一下比特币钱包,第一个带有blockchain名称的就是了。
点击 开始一个新的钱包 或 创建我的免费钱包。
如何注册比特币钱包 三联
先输入你的电子邮件地址,再输入两遍密码。后输入验证码。
这里要注意:密码要10位以上,而且一定要记住,丢了或忘了是无法恢复的,等于把你的钱丢了,真就找不回来了。
点击 继续。
如何注册比特币钱包
好了,钱包创建成功。把以下提示打印出来或是复制到其它安全的地方保存起来,也许哪天真丢了密码这可有大用了。
5. 如何组装一台比特币挖矿设备,自己装个挖矿设备至少需要哪些硬件
挖矿设备首先就是杜绝NV显卡。挖矿肯定是用显卡挖矿。
CPU不是很重要。但是也不要低过I5,
挖矿设备的整体结构和普通PC机器不一样的地方就是显卡数量。
可以通过PIC扩展来安装4,个或者8个。当然你觉得够2个,1个也行。
扩展后,需要自己制作个扩展架。来固定显卡等设备,架子上要弄些风扇给显卡散热的。
6. 怎样创建比特币钱包
当自己有了一定的比特币后,自己可以注册一个比特币钱包,将自己的比特币装入自己的比特币钱包。
现在我将比特币钱包的注册方法按步骤写下来:
首先打开比特币钱包注册地址:“blockchain.info/wallet/new”
红色方框就是我的比特币的特址,用它来实现转帐。
7. 想在网上创建自己的比特币账号应该怎么操作
创建自己的比特币账号的操作步骤知如下:
1、电脑搜索“比特币”。
8、注册成功以后就可以进行交易、挖矿、支付等操作了。
8. 怎么选择和使用比特币钱包
当自己有了一定的比特币后,自己可以注册一个比特币钱包,将自己的比特币装入自己的比特币钱包。
对于比特币用户来说,尤其是新用户来说,经常遇到的问题就是“哪个比特币钱包好用”就目前来说有个乌托市场的比特币钱包,在安全性和操作界面、转账方面都具有一定的优势。
现在我将比特币钱包的注册方法按步骤写下来:
首先打开比特币钱包注册地址:“https://www.utomarket.com”
如图所示,依次填写自己的邮箱地址、邮箱收到的验证码、用户名、登录密码、自己常驻的国家和选填的网站邀请码。
这些填写好后,就会自动生成一个比特币钱包,可以在网站的资产管理界面查看。
9. 如何搭建自己的区块链
第一部分:从 0 到 1 建立自己的区块链 目录:
1.1 从模仿开始,初识区块链
1.2 区块链的基础:共识机制剖析
1.3 共识机制的设计原理和设计方法
1.4 如何快速克隆一条区块链
1.5 如何把比特币变成自己的私链–分叉比特币
1.6 如何把以太坊变成自己的私链–分叉以太坊
1.7 如何把 Ripple 变成自己的私链–分叉 ripple
1.8 如何把 stellar 变成自己的私链–分叉 stellar 1.9 如何搭建一个矿池,并挖出自己的创始区块
1.10 如何开发自己的区块链钱包(Windows 和 MAC) 1.11 如何开发自己的区块链钱包(Android 和 IOS) 1.12 如何开发一个类似于 blockchain.info 的在线钱包 1.13 如何增加自己的区块链网络的安全性和鲁棒性 1.14 如何利用 coind 来处理充值提现业务
1.15 如何利用资金池搭建一个混币服务
1.16 如何设计一种新的挖矿算法
一般情况下都是这个流程,但一般人也是非常难以完成的。区块链成熟的项目有以太坊、DECENT、比特币等等。
10. 比特币自己能挖吗
1、首先连接好网线,把网线插进矿机的网线接口,记得插紧一点哦。只有连接上网线矿机才能挖矿,宽带没有限制。
(10)如何自己部署比特币扩展阅读
用户可以买到比特币,同时还可以使用计算机依照算法进行大量的运算来“开采”比特币。在用户“开采”比特币时,需要用电脑搜寻64位的数字就行,然后通过反复解谜密与其他淘金者相互竞争,为比特币网络提供所需的数字,如果用户的电脑成功地创造出一组数字,那么就将会获得25个比特币。
由于比特币系统采用了分散化编程,所以在每10分钟内只能获得25个比特币,而到2140年,流通的比特币上限将会达到2100万。换句话说,比特币系统是能够实现自给自足的,通过编码来抵御通胀,并防止他人对这些代码进行破坏。