
我在上一篇札记“‘区块链’实应译为‘部落城’”中谈到,区块链在本质上是个共识社区,公有链和该链所发行的token(币)是共生关系;有了链才会有币,有了币,链才会有活力。因为有token的激励,才有很多人去记账,分布式记账的存在使得链上的活动都是不可篡改、真实可信的,于是会有更多的人愿意到这条链上来活动,上来的人越多,token就会越有价值,这样就形成正向循环。这个链-币共生体就是个共识社区,决定这条链/共识社区生死的底层基础,是该链/共识社区的价值观,链上的一系列具体算法,只不过是对其价值观的某种数学化表达而已。01如何进行分布式记账?要说清楚这个问题,得先简单说一下分布式记账是怎么操作的,因为价值观是在记账过程中被具体表达的。分布式记账行为是和所谓的挖币(挖矿)行为是并行的,对该过程的极粗略勾勒如下。首先,区块链上每个连入的设备都是一个节点,节点分两种,一种是记账的节点(矿工),一种是想要让人记账的节点(普通节点);之所以会有普通节点,就在于这些人希望有第三方帮助记一份不可篡改的账,以便让交易的对手方可以信任自己。任何人都可以随意选择想要做什么节点,也可以随意转换,还可以同时选择自己做两个身份,只要你愿意。普通节点完成一笔交易后,想要把交易记录上链,或者他想要把自己的一个随便什么东西储存到区块链上,就会把那个记录或文档对应的哈希值发到链上。所谓哈希值,是指通过哈希算法,可以给任意一个电子文档生成一个独一无二的字符串,如果有人对文档内容作了一丁点改动,再算出来的哈希值就会不一样了;如果有人复制了某电子文档,新文档与原文档哪怕内容完全一样,但是由于文档特征值(比如创建日期、创建地址之类)不一样,算出来的哈希值也不一样了。所以哈希值是确保电子文档真实性、唯一性的可靠凭证。图 丨 哈希算法(Hash Algorithm)普通节点在链上发布一个哈希值,这将在整个链上全网广播,请求矿工帮忙记账。记账节点(也就是矿工)在记账的时候同时要做两件事情,一是记录那些账目(各种哈希值),一是同时要做一道非常难的数学题。题的来源是由该链的算法自动生成的,一道题解出来了,链会自动生成下一道题。矿工们做题的目的是为了争夺记账的资格,谁先把题做出来了,就会把答案在链上全网广播,其他矿工看到了马上就会来验算。这道题解出来特别难,但验算很容易,只要有51%的矿工确认这个答案是对的,也就是达成“51%共识”,那么率先解出来的人就获得了这个token(这个币),其他矿工则赶快去做下一道题。而率先解出来题的那个人,他所记的账打成了一个包,其中的账目也就被大家所公认了,打成的这个包,就是一个区块。每个区块也都会生成一个哈希值,下一个区块的开头记录的就是上一个区块的哈希值,区块彼此之间是一个一个前后相继的,形成一个链条,这就是区块链。区块链账本会在所有矿工的服务器上都留存一份,普通节点如果愿意,也可以随时下载完整账本,不想下载的话,也可以在该链的网址上随时查阅所有账本。除非有51%的矿工同意,否则账本不可更改。只要矿工数量够多,并且其物理所在高度分散,那么要更改账本,就要搞定51%的矿工,这在操作上几乎就是不可能的。也就是说,只要一个东西上链了,它的真实性、唯一性虽然理论上仍然存在被篡改的可能性,但在实际操作上几乎可以保证无法被篡改。
标签: 施展札记
版权声明:内容均来源于互联网 如有侵权联系删除