一直在说区块链是一系列技术结合后的新的技术架构,那么这里分别介绍下这些相关技术,也涉及到一些扩展开去的相关内容。
区块链-《精通比特币》笔记十三:
《精通比特币》第二版网络在线阅读地址:
http://book.8btc.com/books/6/masterbitcoin2cn/_book/ch08.html
矿池:现在bitcoin环境中,矿工算力竞争激烈,那么个体solo挖矿几乎没有什么机会,综合电力和硬件成本,solo挖矿意义着实不大,就算通过最快的ASIC也无法和巨大机房里数万芯片集成的矿产竞争。综合经济利益考虑加入矿池,通过专门的协议协调矿工。个人矿工在建立了矿池账号之后,设置自己的挖矿服务器连接到矿池服务器,矿工的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作,分享挖矿任务,分享奖励。当然每个区块被挖出来之后,bitcoin奖励是发送到矿池的bitcoin地址,当奖励到一定的阈值,矿池服务器定期支付奖励给参与的矿工。一般情况下,矿池服务器为提供矿池服务收取一个百分比的费用,参加的矿池的矿工把去挖掘区块的任务分割,根据其挖矿的贡献值来或者相应份额的分红,矿池赚取一个份额设置一个低难度的目标,通常难度低于1000倍以上。
当矿池中有人成功挖出一块,矿池获得奖励,并和所有矿工按照他们做出的贡献份额的比例分配。矿池中几乎每个参与矿工都能分得奖励,这就激励了每个人为矿池做出贡献,一般通过设置一个较低的取得份额的难度,矿池计算出每个矿工的工作量,每当矿工发现一个小于矿池难度的区块头hash,就证明已经完成了寻找结果所需的hash计算,同时为取得这份份额,能使用一个统计学上可衡量的方法,整体寻找一个bitcoin网络的目标散列值,众多矿工尝试较小区间的hash值,最终找到符合要求的结果。
扩管矿池:大部分的矿池都是托管的,简单理解,一个公司或者一个个人用户经营一个矿池服务器,这个服务器的所有者称为矿池管理员,他通过收取矿工收入的一个百分比费用来实现盈利,矿池服务器运行专业软件以及协调矿池中矿工们活动的矿池采矿协议,同时这个服务器也会连接到bitcoin全节点访问完整的bitcoin区块链完整副本,这样使得矿池服务器可以替代矿工验证区块和交易同时缓解运行一个完整节点负担。和一般的运行系统一样,完整bitcoin节点需要监控、维护、升级,对于矿工来说这样频繁操作可能会导致宕机或者一定程度损害矿工的利益,故加入矿池能部分避免这些问题。矿工连接到矿池服务器采用一个采矿协议(STM、GBT),这些协议都创建包含候选区块头模板的区块模板,矿池服务器通过打包交易,添加coinbase交易,计算merkle根、并连接到上一个区块hash来建立一个候选区块,这个候选区块作为模板分发给每个矿工,矿工用这个模块在bitcoin网络的难度下采矿,发送成功结果给矿池服务器来获取利益份额。
P2P矿池:互联网上是一个活性群体,不排除作弊可能,故托管矿池也存在这样的一个问题,管理人可以利用矿池进行双重攻击导致区块无效,矿池也存在一个中心化的概念,一旦发生中心化矿池的故障,那么就意味着单点故障,拒绝服务或者服务器宕机,那么就直接影响到了矿工的采矿,2011年避免中心化矿池的问题,提出P2Pool矿池,这是一个点对点矿池,没有中心管理节点,P2Pool通过将矿池服务器的功能去中心化,实现一个矿池区块链的系统,这里称为份额链(sharechain)。一个份额链是一个难度低于bitcoin的区块链系统,份额链允许矿工在一个去中心化的池中合作,每30秒一个份额区块出块,并获得份额,份额链上的区块记录了贡献工作和矿工的份额,并且继承之前的区块份额记录,当一个份额区块上实现bitcoin网络的难度目标时,那么就被广播到bitcoin区块链上,奖励份额链中的矿工。简单理解,份额链就是一个记录矿工份额和奖励的区块链系统,通过类似bitcoin的去中心化共识机制来保存所有份额记录。P2Pool采矿方式比之前中心化矿池要复杂,至少需要矿工硬件,网络带宽能支持一个bitcoin完整节点和P2Pool节点软件。P2Pool矿工加入到份额链,通过类似solo的挖矿模式,但是在份额链上合作采矿。P2Pool是一种比solo有效的挖矿方式,同时也兼顾了托管矿池给于管理人太多的权利,一种众合的方案,一种多样化采矿生态系统,使得P2Pool整体比bitcoin更为强大。
本文由币乎社区(bihu.com)内容支持计划赞助。
之前写了点东西,随着对区块链的理解,发现有些理解的并不透彻,重新整理。如有理解不正确的地方,请及时指正,同时有兴趣一块交流的可以加笔者微信:
领取专属 10元无门槛券
私享最新 技术干货