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

区块链比特币举例解读 看完豁然开朗

原创

/及时|整编/linken

本文经原创作者授权转发

更多区块链知识请点击下方红色字体跳转阅读

比特币之小红花

假设阿聪老师发小红花给成绩突出的学生予以激励,小红花可以在学校图书馆换动漫书、小说等等。此举很受学生欢迎,学生私下的交易也使用小红花作为代币。小强用小红花换我的《火影忍者》,我又可以拿小红花去换小说,小红花自然成了学校的代币。

有学生为了换取更多书籍自己制作小红花,它的量越来越多,超过阿聪老师往书架补货的速度,所有图书被买空,小红花变得无用武之地一文不值。

小红花数据中心化

阿聪老师为了重整学生信心,开始记账。每位学生都有一个属于自己的“小红花账本”,同时在班长那里记录“小红花总账”。当同学之间发生交易,双方在班长的监视下核对交易数据,再把交易登记在“小红花总账”上。

例:我想要小明同学的漫画,支付给他1朵小红花,在自己的账本记“小红花-1”,小明在他的账本记“小红花+1”,然后我们拿给班长确认,没问题就在“小红花总账”上记录这笔交易。如果有学生未经班长审核修改自己的账本,肯定对不上总账。

但是某天某位同学发现班长的同桌傻妞有用不完的小红花……

小红花数据去中心化

如此如何是好?山穷水复疑无路,看似解决不了问题,但是阿聪老师想出一套绝妙的方案。(有人也许想到让纪律委员监督,此方治标不治本。还可能导致纪律委员和它的同桌甜妞也有了用不完的小红花)

方案如下:

①不设立总账;

②每笔交易全班同学共同记账;

③当天发生的交易当天记录;

④奖励1朵小红花给最先确认数据无误的同学;

⑤前提是所有同学的账目一致才被承认有效。

例:我想借小明同学的小说,支付1朵小红花,把这笔交易记在自己的账本上,然后把付款的单子传递给前后左右的同学,收到单子的同学记录这笔交易之后再传给他们周围的同学,直到所有同学都记录了这笔交易。如果有同学再想偷偷修改账本基本不可能,他必须与全校的同学对账,只有全部同学账目一致,交易才被认可。还调动同学计算账目的积极性,因为最快计算出正确数据的同学有奖励。

学校or区块链(1)

把这个模式套入区块链,每位学生与自己的账本结合构成一个区块,所有同学数据相互链接构成区块链。

方案拆分:

① 账本上的小红花等同虚拟货币比特币;

② 全班同学组成p2p网络,每个同学等同一个节点;

③ 同学+账本构成区块,所有同学账本数据同步链接构成区块链;

④ 去中心化,不需要班长的“小红花总账”;

⑤ 所有同学同步计算,最先计算出正确数据的同学得到奖励,就是币圈说的挖矿;

⑥ 有同学用计算器算得比别人快,计算器就是一台硬件够牛的矿机;

⑦ 如果所有同学的账本名字用代码表示,就是匿名性的体现。

如图所示把学校的例子嵌入互联网:

每个记账的同学相当一个节点。网络中用户在电脑上运行比特币客户端软件,这样的电脑称为一个节点。节点通过互联网连接形成p2p网络。网络节点都参与记账,形成互连的分布式同步数据库。

互联网安全多重要大家都知道,比特币程序用“密钥串”保证安全,一个私钥对接一个公钥。

学校or区块链(2)

再看学校的例子,假设每个同学都有自己的密码(私钥),然后去阿聪老师那里根据私钥领取对应的公钥。公钥作为同学们的账户名和地址。我要跟小明交易,他用公钥账户收款,我用公钥账户汇款,其他同学拿我公钥提交的数据去阿聪老师那里验证,公钥公开透明,但是我们的私钥所有同学都不知道,我们也不知道其它公钥哪个对应哪位同学。

返回网络,每个记账的参与者随机生成一个字符串做私钥,转换变成公钥(也是一个字符串),公钥就是私人比特币账户。我向其他人转账的时候,我把数据发给其他的节点,然后传播到全网。网络上的其他节点使用对应的公钥对交易数据进行验证,同步记录交易数据。

所有节点一起验证交易数据,每10分钟的数据都被打包成一个“数据块”。例似学校每天计算的账目,比特币系统每10分钟统计一次交易数据,也就是每十分钟奖励一次小红花。

胜出者得到一定比特币的奖励,奖励最初设定为50比特币,每生成210K个区块,比特币的数量依次减半。直到第33次减半,每个数据块只能产出0.0021个比特币时直接减为0。

比特币程序每10分钟生成一个区块,210K个10分钟接近4年。所以比特币挖矿的收益大概每4年降低一半。2009年到现在已经降低2次,目前每次胜出者的奖励约12.5个比特币。

♥♥♥承蒙赏识,如果认同本文存在价值,分享给您的好友是对小编脑洞输出的最佳鼓励方式!

长按右侧图片跳转

关注漫威国际资讯

每时每刻与光同步

着手当下拓展未来

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券