区块链原理及应用漫谈(下).pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

区块链原理及应用漫谈(下)

作者:漆英

来源:《中国金融电脑》2017年第7期

三、柜员入账为了更好地理解区块链的运作机制,现类比银行的账务处理,看看如何入账。

1.竞争上岗

设想有这样一个“民主网点”:第一,网点有若干柜员,柜员拿绩效工资,但其主管是

“程序”,即一切协调事宜均由程序负责;第二,网点有一个“交易池”,客户按前述的方式

完成交易(类似于客户填完交易单),并将交易单放到交易池中就走了(但交易未记账,即平

时说的异步方式),只不过是交易单不是纸质的,而是由程序控制的、各柜员可共享和拷贝的

电子交易单;第三,网点是用区块链作“账本”,由柜员将交易池中的交易记账(写入区块

链)。

这个“网点”如何运作?

首先,交易如何记账?将交易池中的交易组装成一棵梅克尔树,再生成一个新的区块头,

该新区块头含有前一区块头的指纹,即区块链长了一节,黄色节表示新的区块头+新梅克尔树,

这样就完成了交易的批量记账(如图11所示)。

其次,谁来记账?从图11中可以看出,新加入链(记账)的区块(头)中含有前一区块

(头)的指纹,区块链的正常增长是一个顺序动作,应“一次加一块”,这一块的增加(这批

记账)可由一个柜员完成。如何选择、选择哪个柜员记账?这就相当于在一个民主社会如何产

生一个“临时负责人”的问题。“石头、剪刀、布”、选举、传令牌以及能力PK等都是民主

社会中的选择方式。在我们所设定的场景下,PK柜员的“能力”(程序能鉴别的能力)是个不

错的选择,所以就有了区块链中可选用的各种“能力”证明(如工作量证明、权益证明、股份

授权证明)。

以工作量证明为例,为了竞争出哪个柜员承担当前的记账柜员,主管(即程序)出一道计

算谜题,谁先完成谁胜出。由于柜员拿绩效工资,所以,大家争着去解题,但由于这个谜题需

要“暴力破解”,拼的是“计算力”、“工作量”,故叫“工作量证明”。

最后,记账频度如何控制?区块链是历史链,每增加一区块,就是一批交易记账(梅克尔

树的叶子全是交易)。当然,如不希望历史链增长过快,可以给一个时间窗口来限制速度,如

10分钟,即10分钟产生一个区块,但这样就要协调各柜员的时钟,比较困难。如果重新审视

一下我们的需求,时间窗口就不必严格,可追求平均意义下的时间窗口。在工作量证明(做完

交卷)的场景下,计算题的难度就可以代表一个时间窗口,实际时间为算得最快的那个柜员的

时间。在计算题中加一个调节难度的参数,就可以协调时间窗口和计算力之间的关系。记账频

度也是柜员的竞争频度,即链上“一次加一块”、柜员“一块一竞争”。

2.工作量证明

“民主网点”的柜员通过解计算谜题来竞争上岗,那是一个什么样的谜题?

区块链需要计算区块头的指纹,将谜题与该计算结合起来设计:

(1)区块头中加一个变量Nonce,这个变量每取定一个值就能得到区块的一个指纹,对该

变量随机取数进行试算(暴力破解),一旦计算的指纹合乎“要求”,就认为解答了谜题。

(2)上述计算指纹是用哈希函数,哈希函数具有分散性质(散列),也就是指纹会较均匀

地分布在总范围内。将总范围划出一块作为目标范围,上述“要求”表述为计算值落入目标范

围,定义目标范围,即多少位的数,我们换一个说法,前面多少个0,即定义一个上界(它为

定长,表示为16进制为000…000FFF…FFF)。这样,上述“要求”表述为计算值小于上界,

以Bits表示上界中0的个数。

(3)显然,Bits越大(上界中前面0的个数越多),解的范围越小,谜题就越难,反之,

谜题就越容易。上文我们说需要一个“难度参数”,Bits就是该参数。程序需要“定期”(如

两周)地去调节这个参数,“定期”是个时间概念,不好处理,把它转化成好处理的“区块个

数”,即每2016块后调节一次(每10分钟产生一块,两周对应2016块)(调节公式略)。

在区块链的基本结构中,我们描述了区块头的基本结构,若要采取工作量证明,则区块头

中需要增加上述两字段,构成完整的区块头(见表2)。

暴力破解在程序中是用for循环,即对Nonce从0开始逐一试算,直至指纹落入范围,解

谜题即是找符合的Nonce。

柜员都用这个程序,那么,大家的谜题是一样吗?如果是一道谜题,大家拼的是for循环

计算,那个“算力”最强的柜员必然获胜,这样的竞争就没有意义(因为每次都是他获胜)。

好在还有一个“机关”,即Merkle

文档评论(0)

xinhezil + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体衢州市衢江区星赫电子商务商行
IP属地浙江
统一社会信用代码/组织机构代码
92330803MA7BB9H7X8

1亿VIP精品文档

相关文档