昨天,我们在下篇|“区块链”版《荒岛余生》—内附白皮书讲述了Hugo(雨果), Sawyer(索耶), Kate(凯特) and Jack(杰克)四个人在荒岛上如何通过纸和笔运行最简单的区块链。
生活从来都不是一帆风顺的,接下来他们又会遇见哪些麻烦呢?
第三天
到目前为止,这个简单的区块链系统运行的很好,大家都很兴奋可以用Islandcoin(小岛币)来购买东西。
雨果想花10个小岛币从索耶那里买一些柴火;
索耶想花25个小岛币向杰克买一些药片;
杰克非常想吃西红柿,所以他想花2个小岛币从雨果那儿买一个。
他们每个人都有一个小本本记录自己的消费情况:
夜晚来临了,负责发布今天更新的是凯特。
杰克很沮丧,因为他的转账请求没有经过凯特确认,这就意味着雨果没有收到杰克购买西红柿的2个小岛币,当然也不会给杰克西红柿了——看来杰克今晚要饿着肚子睡觉了
于是杰克冲出去找吃的去了,他也没有在凯特的更新文件上签字。
第四天
杰克失踪了!
没有人知道他去哪里了。
杰克前一天晚上出去钓鱼了(估计真的是太饿了),被困在风暴中,没有回到营地。
这就麻烦了,因为今天轮到杰克要发布今天的账户更新了。
凯特今天想要买一些东西,她把转账请求的副本发给了所有人:
最后大家一致同意:无需杰克确认,今天的记录生效。
第五天
又轮到雨果负责今天的账户更新了。
小岛上已经连续下雨好多天了,雨果想找一个暖和点的地方睡觉。他想让索耶给他建一个小木屋,索耶答应了,但是需要雨果支付200个小岛币。
但是雨果只有98个小岛币啊。
今天小岛上没有发生任何交易行为。
为了确保今天的账本记录是有效的,雨果至少还需要2个人的签名。当他找到索耶和凯特的时候,他俩注意到了一个问题,在第三天的记录里,雨果只有92个小岛币,他怎么能够向索耶的账户转200个呢?
索耶和凯特拒绝承认这笔无效的交易请求。
除非雨果撤销这笔交易。
最后,雨果同意了,并发送了一份正确的记录,索耶和凯特也签字确认了:第六天
在第六天早上,杰克回来了!
他在风暴中度过了艰难的几天。
过去的两天,杰克错过了许多事情。他甚至都不确定自己还有多少小岛币?他找到了他看到的第一个幸存者,并且询问了账户更新情况。这个人给了他第五天和第三天的记录。
看到这些记录,杰克松了一口气,这些记录的确经过了至少3次确认,杰克对大家目前的账户余额一目了然。
杰克可以与大家“无缝对接”了,就好像他从未错过任何事情一样。
这个系统运行的挺好。
虽然它确实有点简单,但是对于岛上的居民来说,已经足够了。
好吧,如果没有“白皮书”这就不能算是一个功能齐全的区块链项目!
为什么说这是一个“区块链”呢?
首先,每天更新的那张纸可以理解为是“一个区块”;
每个区块都被编号,并且指向前一个区块,这就形成了一条“链”;
为了核实当前记录的正确性,确认者必须从第一天(创世区块)开始一个区块一个区块地连续确认;
这是一次理想的区块链模拟实验吗?
或许并不是。
它在很多方面都需要改善:
它只支持4个居民参与进来,如果有其他的幸存者来到这里该怎么办呢?这个协议对他们适用吗?
这个协议目前是有效的,我们怎样把它变成无效的呢?
如果我们想要修改它使用工作量证明(proof of pow)或者股权证明(proof of stakes)呢?
好的,我们将会在本系列的下一篇文章中来探讨这些想法,敬请期待
郑重申明:本文完全出于信息传播目的,不构成任何投资建议/意见。