信息化的本质分享 http://blog.sciencenet.cn/u/Babituo

博文

比特币用例分析-挖矿——续3

已有 3649 次阅读 2017-11-30 11:10 |个人分类:智慧城市|系统分类:科研笔记| 智慧城市, 区块链, 比特币, 挖矿

挖矿

用例价值:为记账提供一张共同认可的账簿。

用例启动时机:完成交易验证后,为抢先找到一张账簿,矿工们开始一个人为设定的计算力竞赛的过程,率先计算出结果的人,有权创建一张新的账簿。如果得知账簿已经被其他矿工抢先创建出来了,自己就会放弃这一轮,转到为下一轮记账做准备,因为要争取时间在下一轮胜出。

用例脚本

1.矿工启动一个计算过程,寻找一个随机数,使得用这个随机数进行一连串复杂计算后,取得的结果能满足一个验证条件。

a) 这个寻找和计算的过程很费计算资源,也需要一定的计算时间,而且取得正确的结果,谁早谁晚,还靠点“运气”,好比瞎猫撞死耗子。当然,跑的越快的瞎猫(算力越强的电脑),撞到死耗子(算出随机数)的机会还是大些。

b) 但对这个计算结果是否合乎统一的计算规则的验证却很容易,可以让得知结果的矿工立即作出验证。

2.撞到死耗子的矿工立即创建一个新数据块,附上上一个数据块的验证码,以及根据验证码算得的本数据块的验证码,以及自己找到的随机数(供大家验证我是费了劲才算出这个账簿来的)。这就是一张新出炉的账簿了。

3.接下来就是回到记账用例中做记账和广播了。

例外:

2.1如果在不同的地点,有多个矿工“几乎同时”找到新的账簿,广播到每个其他矿工处,由于有网络传输的延迟,而且延迟时间和传输距离及网络路径相关。可能导致不同地点的人最早收到的最新账簿不同,或同时收到多个不同的账簿。接收者会同时记录多个可能会得到发展的新账簿,由此会产生链接分叉的情况。但在连续的后续几个链的发展中,很快就会自然分出胜负,唯一最长的链会“自然”形成共识。

用例实现的要点:

1. 挖矿的过程,看似是毫无意义的计算,浪费电力。这也是比特币系统被诟病较多的槽点。但这却是为了让新账簿创建工作不被某大佬独霸,同时,也不让太多的矿工同时得到有效新账簿而设计的一个“巧妙”做法。好比跑一百米,分出第一名胜负难的话,那就跑42公里,看第一还有几个人来争?

2. 把这个做法和新比特币的发行挂钩,可以用“挖矿的能量消耗和现实货币的造币相比较,消耗的能量其实小得多”的辩驳,来获得一丝安慰。同时,也解决了新比特币的发行问题。

事实上,这是利用了经济社会的逐利本质的假设建立起来的机制。矿工为了获得建账和记账的报酬,自然不惜投入重金构建自己的计算力。而造成算力竞赛的局面。算力竞赛的结果,最终是否能自行形成均衡的态势,只能走着瞧。

实际上,这在某种程度上决定了比特币的最终命运,是收敛在某种算力均衡的平衡态(所谓纳什均衡),还是崩溃于算力竞赛的失衡?还有算力的“无意义”消耗,随着竞争的激烈程度也不断加大,最终也难以收敛,最终必将成为比特币系统自身发展的障碍。

3. 抛开挖矿机制的经济学意义不说,对于比特币系统而言,却是维持区块链的可靠性和群体信赖的关键机制。也就造就了区块链(就是那个分布式账本)这个可以得到普遍信赖的数字记录媒介。而区块链的应用价值,正是依赖于它的不可篡改的公正性来消灭了人们对信任的心理需求——人们只有在缺少信任的时候,才需要信任,当信任可以成为自然的背景,人们在心理上自然会“忘记”对“信任”的需求,就像人对“空气”的需要一样。确实,当人不需要为“信任”支付成本的时候,“信任”存在于经济学中的意义也就消失了,这确实是一笔“巨大的节省”。

反向思考一下:如果挖矿是虚拟货币系统的最佳实践机制,却产生了可靠的分布式数据媒介——区块链这个高价值的“副产品”。如果我们只是为了直接得到这个副产品,而不必建造一个虚拟货币系统,我们还一定要“挖矿”么?


点到了。



https://blog.sciencenet.cn/blog-33982-1087566.html

上一篇:比特币系统的用例分析——续2
下一篇:大数据概览
收藏 IP: 14.125.59.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-19 22:09

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部