劲爆优惠40%
最新!💥 速看ProPicks,获取遥遥领先标普500 1,183% 的金股策略领取六折优惠

还没看够荒岛余生?这次它带着区块链技术穿越了

发布时间 2018-5-22 20:00
更新时间 2018-5-22 13:05
还没看够荒岛余生?这次它带着区块链技术穿越了

2000年上映的电影《荒岛余生》让大家记忆犹新。这部由汤姆·汉克斯主演的灾难剧情片,也可以说是一部励志片。18年后的今天,带着区块链技术穿越回南太平洋上的那座荒岛,会有不一样的故事吗?

18年后的今天,带着区块链技术穿越回南太平洋上的那座荒岛,会有不一样的故事吗?

如果你和你的伙伴被困在了一个孤岛上,与外界隔绝,那么你们掌握怎样运行分布式共识的过程,是非常有必要的。换句话说,你要学会操作一个简化版的区块链管理系统,来合理的管理和分配你们的资源。甭担心,实现起来无需太多的东西。看看这篇文章,准备一支笔和几张纸就足够啦。

小伙伴们刚经历了飞机坠落,被困在了南太平洋某个废弃的小岛上。他们的名字是雨果(Hugo),杰克(Jack),索亚(Sawyer)和凯特(Kate)。

他们四个人计划发行荒岛币,这是一种革命性的新货币,将结束该岛目前贸易瘫痪的状态。他们四个一致认为,如果每人起价100块,那就公平了。由于他们没有金属来铸造实际的硬币,他们就用几张纸来代替。他们四人间仍不是完全的信任对方,倘若让一个人来记账的话,他们之间对选谁来承担这个责任并没法达成一致。经协商,他们唯一的选择是把余额放在一起,四个人一起记账。

他们要达到什么目的?这其实很简单,他们要做的只是在一张纸上列出一个简单的收支平衡表。从此表中,大家能看到每个参与者有多少荒岛币。因为他们不相信任何一个人可以完全公正的记账,所以只用一张纸来记账是不够的。他们必须保持事物的平等,让每一个人来记录自己的版本,这就是所谓的分布式记账。当然,他们也希望所有4张纸最终都显示出相同的东西,这就是所谓的共识部分。

第一天:

那么,这张纸是什么?

纸上的这些余额从哪来?他们之前已经同意,每个人的余额都从100个荒岛币开始,是公平的。他们需要一个人在这张纸上进行记录。实际上,不管是谁做这件事都可以,那就让雨果来吧。他会把这张纸记录的账本发给每个人,让每个人都存有一份副本。

由于荒岛币余额预计会生变,他们将在每天结束时用一张新的纸来记录当天发生的变化。不过,不可能总是让雨果来进行记录,大家会随机轮流来做此事,毕竟,大家都希望尽可能的保持公平。

另外,他们要做到让每个人都来确认账本当天的更新。要做到这一点,一个简单的方法是让每人在每份账本纸张上签字,但前提是他们同意上面写的内容。

一张账单纸如何才算是被最终批准呢?需有多少人签字?他们对此需事先达成一致的意见。因为他们共有4人,要保证多数人同意,才能最终批准,多数人至少是4人中的3人。上面的文件是由所有人签字的,所以它肯定是可以通过的。为什么不要四人的签名才能批准呢?因为这将有可能产生由于一个人的行为影响整个记账过程的可能性。倘若Sawyer去钓鱼外出了几天,另外的人在他回来前将无法更新余额。这给了一个人太多的权力。那为何他们需要多数人同意呢?比如四个人当中的两个人的签名够吗?如果他们只需4人中的2人,他们可能最终会有2人(如雨果和索亚)签署一个版本的账本,而另外2人(凯特和杰克)签署一个不匹配的不同版本。这样的情况下他们将无法达成一致。

第二天:


第二天早上,凯特想买一个西红柿。雨果给每个西红柿标价2个荒岛币。凯特想把两枚荒岛币转给雨果。凯特拿了一张新纸,在上面写着:
图==凯特第一次交易

这是凯特有史以来的首笔交易,所以她给这笔交易贴上了这样的标签。此外,凯特签署了这份文件。他们必须看到她的签名以确保没有其他人可以伪造她的转账请求。

第二天快结束了,这伙人想公布一套最新的余额。这几个人同意用简单的轮换顺序来记账:雨果、索亚、凯特、杰克、雨果、索亚以此循环。第二天的记账该轮到索亚了。他发布的账本中有着凯特的转账情况:

索亚公布的这个账本还未最终确定执行,因上面仅有索亚的签名。他需要收集到更多的签名。索亚找到所有的人,要求每个人核实并签字。这个帐本很容易验证。首先,验证者需要查看自己的文件副本,并找到显示前一天(本例中为第1天)余额的文件。然后,验证者需检查新的交易。在这种情况下,他们只有一次凯特的交易。这笔转账很容易得到核实,他们可确保它确实是由凯特签署的,他们可确保凯特的确有足够的荒岛币余额转账给雨果。

一旦每个岛民完成了他们的核查程序并签署了文件,索亚现在可向所有人公布次日的账单了。每个人都抄一份,然后满意地睡觉去了。

第三天:


此系统运行良好,每人都很愉快地去使用他们的荒岛币了。雨果想用10个荒岛币从索亚那里买些木柴。索亚欲用25个荒岛币来交换杰克那儿的一些药丸。杰克想从雨果那里用两个荒岛币买个西红柿。他们各自拿出一张纸,在上面详细地写明了他们的转账:

雨果首次交易


索亚首次交易


杰克首次交易


随着夜幕降临,今天负责记账的人是凯特。为了确保凯特将这些变化反映在她所记录的账本中,他们每个人都需要给她发送一份更新请求的副本。实际上,向每个人发送今天变化的副本是有必要的,因为参与交易的人不一定记得该由谁来发布今天的更新。

杰克未能及时地把更新请求交给凯特,当他发给凯特时,当天的收支平衡状态已写好了:


杰克感到非常沮丧。这意味着雨果不会收到杰克交易番茄的付款,也不会给杰克番茄当晚餐。杰克今晚要饿着肚子睡觉咯。他匆忙地出去找别的吃的,也没向凯特提供签名。幸运的是,凯特能从其他人那儿得到足够的签名来完成记账:


凯特得到了3个签名。他们占多数,所以这个账本被认为是可执行的。

第四天:


今天是第四天,没人知道杰克在哪儿。他前一天晚上去钓鱼,遇上暴风雨,没有回营地。这会让大家遇到麻烦,因为今天轮到杰克发布账本更新了。

凯特今天想进行两次转账,她把它们写在一张纸上,然后给每个人一份副本:

晚上快到了,杰克还没回来。这伙人以前曾同意由他来公布新账本,但找不到他,所以这天的账本更新就直接跳过了。

第五天:

今天是第五天,雨果负责新帐本的更新。雨下了几天,雨果想找个暖和点的地方睡觉。他请索亚给他建一座小木屋。索亚需要200个荒岛币来完成这项工作。问题来了,因为雨果只有98个荒岛币。雨果有一个疯狂的想法,由于他是负责更新资产负债表的人,所以为什么不增加一个疯狂的交易呢?


今天没有其他交易。雨果保留了昨天的和他新的疯狂的交易。


雨果签了字。要使此状态更新成为最终状态,他需收集另两个签名。当他去索亚和凯特那儿要签名时,他们注意到在此前的最后一次资产负债表上(从第三天开始),雨果有92个硬币。他怎能把200英镑给索耶?他们拒绝在账单上签字,直到他修正了这个错误并删除了这个无效的转账后才罢休。他勉强同意并公布了一份正确的新的账单。他们最终签了字:

此余额更新是最终更新,因为它有3个签名。

第六天:


今天是第六天早上。杰克终于回到营地。他在暴风雨中度过了一段艰难的日子。过去两天,他没有参加讨论,错过了新的转账公告和新的余额更新的账单。他实际上不确定自己有多少硬币。他找到了他看到的第一个人,并要求得到他错过的最新消息。他将获得第5天的最终更新版本的账单。

杰克很容易和那帮人保持同步。他可以看到这些余额更新确实签署了至少3次,所以他可以相对安全地认为它们是真实的。他还可以根据这些更新和他拥有的最新更新(从第2天开始)自己执行计算。这样杰克就可以像没有错过任何东西一样参加今天的交易了。

这个系统似乎运行良好。的确,这有点过于简单了,但足以满足岛上居民的需求。没有白皮书,他们就不可能有一个运作良好的区块链!

最新评论

风险批露: 交易股票、外汇、商品、期货、债券、基金等金融工具或加密货币属高风险行为,这些风险包括损失您的部分或全部投资金额,所以交易并非适合所有投资者。加密货币价格极易波动,可能受金融、监管或政治事件等外部因素的影响。保证金交易会放大金融风险。
在决定交易任何金融工具或加密货币前,您应当充分了解与金融市场交易相关的风险和成本,并谨慎考虑您的投资目标、经验水平以及风险偏好,必要时应当寻求专业意见。
Fusion Media提醒您,本网站所含数据未必实时、准确。本网站的数据和价格未必由市场或交易所提供,而可能由做市商提供,所以价格可能并不准确且可能与实际市场价格行情存在差异。即该价格仅为指示性价格,反映行情走势,不宜为交易目的使用。对于您因交易行为或依赖本网站所含信息所导致的任何损失,Fusion Media及本网站所含数据的提供商不承担责任。
未经Fusion Media及/或数据提供商书面许可,禁止使用、存储、复制、展现、修改、传播或分发本网站所含数据。提供本网站所含数据的供应商及交易所保留其所有知识产权。
本网站的广告客户可能会根据您与广告或广告主的互动情况,向Fusion Media支付费用。
本协议的英文版本系主要版本。如英文版本与中文版本存在差异,以英文版本为准。
© 2007-2024 - Fusion Media Limited | 粤ICP备17131071号 | 保留所有权利。