首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

村长的账本实践和中本聪的区块链

雄狮财经

这里只讲和钱有关的故事

遥远的比特星里有一个金村。

在这个时空的世界里,还处在用金条作为货币来进行商品交换的时期。

抱着金条跑来跑去很不方便,金条储存在家里又占地方。

于是有一天,村长想出了一个好主意。

这年的年初,村长在金村的村口召开全体大会,宣布要在自己家设立一个大账本,村民们上交金条,村长就在账本上做记录。

比如小张拿两个金条换小李的一头牛的时候,就给村长打个电话说明情况。

村长看看账本,小张是否真的有两个金条,如果有就划归到小李名下,再打个电话告诉小李。而小李得知转账成功后,再把牛给小张。

村民们都很信任德(yi)高(shou)望(zhe)重(tian)的村长,于是纷纷把金条交给村长家,村长家的大账本正式运营起来了。

一个春天过去了,一切交易都井然便利地进行着,只是村长一个人渐渐应付不了繁多的记账和电话,就雇佣了几个帐房先生管理账本。

夏天出了个事故,一个帐房先生偷偷把别人家的金条记在自己家的账上,事情败露后群情激愤之下村长只得当机立断开除了这个帐房先生,并宣布自己亲自监督和审查每一笔交易,这才稳住了民心。

秋天收获了,盛产庄稼的金村和盛产水果的隔壁东村开始有了频繁的商品交易,村民们懒得换现金,就请求村长把账本业务拓展到隔壁村。

没想到,当村长拿着账本到了东村的地界,东村村长根本不认村长的账:“俺们村也有账本,但不是这么记的。你们这种记法俺们看不懂。”

这时候,村民们开始有点沮丧。终于挨到了冬天,村长长松了一口气,好歹累死累活没出什么大岔子。在年夜这天傍晚,村长又在村口召开了一次村民联欢晚会,想要回顾一下这一年的账本计划,展望一下未来,重振一下村民对账本模式的口碑。

“各位乡亲们盆友们,”村长站在戏台子上拿着大喇叭,“今年是收获的一年,希望的一年。我们村的账本经济蓬勃发展,红红火火,大家看,就像此刻,西边的日落把我家的方向映照得一片红光!”村民们顺着村长大手所指的方向向西边望去,果然火红一片。

大家看得出了神,会场突然出现了迷一般的寂静。打破寂静的是一阵哭号,村长家的家丁屁滚尿流地跑过来,一边跑一边哭喊:“村长!您小儿子在家里玩炮仗,您家……炸了!”

第二天,村长家人去楼垮,门口只剩一个大喇叭在循环播放:“村长家炸了,村长老婆跑了,村长无心经营,银行倒闭。幸金库未受影响,请各位村民尽快取走自己的金条。”取完钱后,大伙怀里抱着沉甸甸的金条呆立着,心中十分迷茫。

是啊,靠村长记账的方式不靠谱,但是如果连德高望重的村长都靠不住,还能信赖谁呢?难道信赖我们这些贫民不成?

“没错。”这时,一个叫中本聪的聪明人突然不知道从哪里冒了出来,“我来给你们安了一个解决方案,我叫它[区块链]。这个方法我已经在我开发的比特币体系中实践和应用了,刚好可以拿来解决你们村的问题。”

中本聪的提议并不复杂,各家还是把现金转化成账上的记录,但是从此就不再在大账本上记账了。当张三要拿两个金条换李四的一头牛时,中本聪悬赏一定的金额让大家帮着检验记账,第一个验证出“张三确实有两个金条并且确实把两个金条给了李四”的人被授予“矿工”称号并获得一定奖赏。

“矿工”需要把这一笔交易写在一张编号001的纸条上;第二天李四拿出一个金条找王二买一只鸡,村民们便抢着翻阅大账本和编号001的纸条,验证成功后把交易内容写在编号002的纸条上,并在纸条上写上“之前交易内容见001”,以此类推。

这时候,只要账本的[初始状态确定],每一张纸条的记录[公开可验证并有时序],当前每个人持有的钱数都是可以推算出来的。

中本聪为了说服大家,给大家讲解了一下[区块链]在比特币记账中的工作原理:以比特币的区块链为例,你可以把区块链想象成一个比特币的公共账本,这个账本:

1、存放在互联网的各个比特币节点上,每个节点都有一份完整的备份

2、里面记录着自比特币诞生以来的所有比特币转账交易

3、账本是分区块存储的,每一块包含一部分交易记录。每一个区块都会记录着前一区块的id,形成一个链状结构,因而称为区块链

4、当你要发起一笔比特币交易的时候只需把交易信息广播到p2p网络中,矿工把你的交易信息记录成一个新的区块连到区块链上,交易就完成了。

这里有几个问题:

1、如何保证用户有足够的余额,例如你只有十个币,而你居然发起了一笔转20个币的交易怎么办。

这个问题很好解决,因为区块链上记录了所有的比特币交易记录,只需要回溯所有的和你账户相关的历史交易就能知道你这个账户上到底有多少余额,余额不对矿工是会拒绝记录你的交易的。

由此你可能又会产生一个疑问,那么最初的比特币是从哪里来的呢?

最初的比特币是由系统奖励给记录区块的矿工的。每一个区块在生成的时候就会在生成这个区块的矿工的账户上生成一定数量的新比特币作为奖励。

2、如何保证你的账户不被冒名顶替

这问题也很好解决,用数字签名技术就好了。每个比特币账户都有公钥和私钥。你发起交易的时候用私钥对交易信息签名,矿工收到信息后用公钥检查一下签名就好了。

3、那么多矿工,如何决定该由哪个矿工生成下一个区块?

解决方案是这样的:中本聪设计了一个数学问题,这个数学问题会耗费大量的计算机cpu时间才能得出答案,同时每一次得出的答案都会作为下一次计算的初始条件进行技术。

全世界的矿工一起来计算这个问题,谁先得出答案,他就可以用这个答案生成一个新的区块,再广播到网络中。收到这个新块数据的矿工会立即停止当前的计算,用新块里的数据重新进行下一次计算,这就是所谓的“挖矿”。

矿工产生的区块一旦被网络接受,他就能获得一笔比特币作为酬劳。

这时要考虑一种情况:如果同时有两个矿工各自得到一个正确答案,并各自生成了一个区块广播出去会发生什么呢?

这时候在区块链上同一个位置就有了两个区块,所谓的“分叉”就出现了。

分叉是绝对不允许的,所以当矿工发现区块链分叉之后,会选择最长的一条继续计算,短的那条区块链会被丢弃。

“仔细思考下这个体系,你会发现它几乎无懈可击。首先你不能凭空造出比特币,只能挖矿获得;其次你无法伪造交易,无法控制整个比特币账本。一旦交易被确认,几乎无法取消。”中本聪说完之后突然消失了。

听到这里,村民们明白区块链的本质了:一个公开透明的可信赖的帐务系统,它能安全的存储交易数据,并且无需任何中心化机构的审核,因为这个过程完全是由整个网络来完成的。

它很好的解决了传统的中央系统虚拟货币体系的三大弊端:

第一,区块链体系是由大家共同维护的,不需专门消耗人力物力;同时数据的公开使得在其中做假账不再可能;

第二,区块链以数学算法(程序)作为背书,所有的规则都建立一个公开透明的数学算法(程序)之上,能够让所有不同政治文化背景的人群获得共识,实现了跨区域互信问题。

第三,区块链系统中任一节点的损坏或者失去都会不影响整个系统的运作,具有极好的健壮性。

那么接下来该怎么办?村民们面面相觊,毕竟中本聪不见了,他只是讲了一个方法,具体怎么做还没说。

于是材民们只好抱着金条继续过着曾经简单的生活。

而中本聪在比特星说完这番话之后,很快来到了地球……

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180326G1CBV800?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券