第2讲 | 区块链到底是怎么运行的?
该思维导图由 AI 生成,仅供参考
中心化记账的问题
1. 公开记账
2. 创建创世区块
3. 交易
4. 打包 Transaction (挖矿)
5. 广播交易
总结
- 深入了解
- 翻译
- 解释
- 总结
本文通过一个村庄的中心化记账情景引出了区块链的概念,并详细介绍了区块链的运行方式。区块链是一种去中心化的记账系统,通过比特币区块链的运行原理来解释。文章首先介绍了公开记账的方式,每个参与者都可以记账,但需要通过广播机制来保证账本的一致性。接着详细介绍了创建创世区块和交易过程。创建创世区块是生成公开账本的第一笔交易,而交易过程则通过具体的例子展示了如何进行交易记录和验证。此外,文章还介绍了打包交易(挖矿)和广播交易的过程。在挖矿过程中,矿工需要解出一个难题的答案,才有权利将交易封装到信封中。而广播交易则是为了让全村人知道当前时刻产生了一笔交易或者装好了一个信封。通过通俗易懂的方式,深入浅出地介绍了区块链的运行原理,适合初学者了解区块链的基本概念和技术特点。文章内容生动有趣,通过村庄记账的情景,将复杂的区块链技术原理以通俗易懂的方式呈现,使读者能够快速了解区块链的基本概念和技术特点。
《深入浅出区块链》,新⼈⾸单¥59
全部留言(77)
- 最新
- 精选
- 蜡蜡置顶陈老师,您好,非常精彩的讲解了比特币到底是怎么运行的,个人对比特币运行的整理与思考如下,欢迎讨论: 步骤1:召集全村每家每户, 一起共同记账。 1)高薪招聘记录账本人员: 人人都可以参与,只要每次谁记录的最快又最准,每次可以拿到丰厚的报酬。 2)分发村民记账工具:特殊的印章(盖章有两块标记,第一块可识别的标记,第二块扫描器才能看)、扫描器(扫描器有两个功效、一是识别他人的交易是否真实有效,二是识别这个交易是不是自己账号的,同时识别并解锁未花费的余额) 、特殊的信封(装交易信息的文件) ; 3)记账注意事项: 为了防止大家真实姓名泄漏, 大家统一使用代号代替(第一块可识别的标记); 账本上不再记载每户村民的余额,只记录每一笔交易的信息,即只标注付款人、收款人、付款金额; 必须保证每个村民随时查看整套账本,每次交易信息用小喇叭通知大家。 步骤二:创建账本的开头;首先中本聪创建第一步交易信息,付款人为空、收款人为村长、付款金额100万元, 然后记录着交易信息,装进特殊的信封里,现在让村长把信封传递给张三,张三复印一份,在传递给李四,一传十,十传百,直到传到全村人。 步骤三:交易; 1)村长与村民的交易:现在村长有100万元,这时村长根据张三旧账10万元,把这10万元给张三,然后把旧账划掉。中本聪教村长记账,付款人代号村长、收款人代号张三、付款金额10万元;村长填好交易信息,在交易信息签名(盖章),这个章全村人可以用扫描器验证是否有效,就这样,村长与村民陆续操作,张三一笔10万元,李四一笔1万元,王五2万元,等等! 2)村民与村民的交易;现在张三有10万元,李四有1万元,现在张三买李四家的房屋1万元,张三在付1万元单盖章,李四用扫描器查看着1万元是否有效,然后高新聘请的记账人员开始记账,交易信息为:付款人代号张三,收款人代号李四,付款金额1万元。 步骤四:打包数据(挖矿) 因为装信封人报酬多,参与的人非常多,中本聪设定难题,答案很容易验证,计算过程非常复杂,如比如,2、9、1、5加减乘除如何计算得到24,只有答案(5-2)*(9-1)=24,当谁最快又最准计算出,谁就可以把这交易信息放进信封里,并在信封上签字盖章。 步骤五:广播交易;记账人员把数据放进信封里,并签字盖章,用广播的方式通知所有人,每个村民可以验证交易是否伪造。 步骤六:账本按每一笔交易数据物理时间自然记录,并且只加不该不删,不断形成新的账本数据库,至此,全村人的记账问题就解决了。 当这些还看不懂比特币如何运行模式,举结婚场景大家脑补下: 张三与李四结婚,请全村人见证他们结婚了,张三签字保证爱李四一辈子,李四也同意爱张三一辈子,记录人员记录着他俩的承诺,并装进信封,然后通知全村人。当张三不爱李四啦,需征求全村人的意见,并且全村人同意他俩才能离婚。2018-03-29242
- 良辰美景作者你好,我读了几遍,仍然还是不太明白,有如下问题,希望能给解答一下: 假如现在有A村民(有50万)与B村民,A转账10万给B 文章说需要在这个交易上写的信息如下: 10万,B章 40万,A章 问题如下: 1:上面的交易是否还要盖上村长的章?A主动转账给B,这个交易信息是否需要村长监控:比如村长需要监控A的账户是否有10万以上的钱 2:如果不需要,扫描器的作用是否能识别这个村里的每一笔交易,还是只能识别自已的交易(这个扫描器的作用还是没太明白)假如我是村民C,我能解开上面的交易么。 3:挖矿也就是得到信封,将交易数据打包到这个信封中,而这个信封也需要有一个地方存储,这个信封(区块)存在那里呢?每个村民的家中么(初使化好的服务器)? 4:这份账单会存在网络中多份,具体有多少个节点呢,是事先约定好的还是可以动态变化的? 5:一个区块(信封)能存储的交易数据有数量限制么(还是有一个时间段的限制),如果没有交易限制,如微信系统一分钟的交易量上百万份,这个数据量级的情况有解决方案么。
作者回复: 1. 不需要的。村民A如果有50万,转移过程由村民A盖章即可,其实这更像咱们的实体纸币,纸币100在花费的时候,现场确认是你掏出来的就行。钞票本身的面额就是50万,不需要检查的。 2. 村民C是无法解开交易的,扫描器和章是一对的。扫描器其实有两个功用,一个是可以验证别人的章是否有效,第二是识别属于自己的交易。 3. 是的,存在每个村民的家(本地持久化存储)中。快速理解就是每个村民家中都有一套日志型的账本,有点像数据库的binlog,是无状态的。每家收下的所有信封连在一起就是重演历史交易 4. 账单是全冗余的,所有节点都保存了副本。节点数量是开放的,动态变化的。 5. 一个区块是由大小上限的,比特币的上限为1MB一个块,曾经出现了网络拥堵的情况。上万TPS的区块链系统是由的,不过从架构上看更中心化一点。这个我们会再后续文章有详细讲解
2018-03-28236 - 陈建斌红了..怎么广播,难道每个节点要保留所有其他节点的ip地址吗
作者回复: 是的。仅保存临近节点,临近节点接力
2018-03-28215 - 胡敏我理解 打包交易 的的前提是有交易,如果交易量不足,哪些所谓矿工为啥可以一直挖矿呢
作者回复: 交易笔数至少会有一笔。这一笔叫做铸币交易。又称coinbase。这种区块我们叫做空块。属于正常情况
2018-03-29213 - LuDi配一些图来说明的话,会让读者更容易理解呢?
作者回复: 谢谢建议,到深入讲解模块会配图的。
2018-03-2910 - ync作者您好,阅读后我收获很多,但有个问题不太清楚:交易为什么不记用户余额?不记得话每次交易都要翻老帐,当用户量和交易量上去的话效率会不会很低?
作者回复: 你好。 区块链有两种记账模式,第一种是我们正在举例讲解的utxo模型,另外一种是你说的记余额模式。交易效率不会低的,但是会影响同步效率。 utxo是无状态的,余额是有状态的。后面utxo一文我们会有详细讲解这两者。
2018-03-298 - ytl如果两个矿工差不多时间解除难题,都暂时认为自己获得奖励,区块链产生自然分叉。通过竞争,几个区块后只有一条链最长,所有矿工都追随最长链。前面以为自己得到奖励的矿工并没有真正得到奖励。
作者回复: 嗯嗯,我们理解一致。“最长”其实是难度累计最大,而不是高度。
2018-04-037 - jonhey中本聪规定比特币总量2100万个,等2100个万个比特币全部在流通了,如果有个人特会赚钱,把所有比特币都赚到手里了,这个系统怎么去创造新的流通货币?
作者回复: 你这种属于经济学假设,假设通过极端的市场操纵手段收获了大量比特币,这其实会造成剧烈的市场波动,价值共识基础可能会崩塌,那么比特币很可能就不值钱了,毕竟只是一串数字一串代码不是?
2018-09-186 - life is short, enjoy mor...老师您好,请问150w的总数,是怎样的一种机制保证他无法被修改?
作者回复: 由创世区块规定的,后面的区块的哈希计算都是依赖前面区块,所以历史记录没有办法改,一改全变了。
2018-04-035 - DBG打包时计算出来的目标哈希 怎么确定没有被其他矿工已经计算出来
作者回复: 目标哈希不是唯一的,只要满足难度条件即可。即使别人同时有了答案,剩下拼速度了
2018-03-295