第2讲 | 区块链到底是怎么运行的?
第2讲 | 区块链到底是怎么运行的?
讲述:黄洲君
时长12:10大小5.57M
中心化记账的问题
1. 公开记账
2. 创建创世区块
3. 交易
4. 打包 Transaction (挖矿)
5. 广播交易
总结
赞 7
提建议
精选留言(75)
- 蜡蜡置顶2018-03-29陈老师,您好,非常精彩的讲解了比特币到底是怎么运行的,个人对比特币运行的整理与思考如下,欢迎讨论: 步骤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,当谁最快又最准计算出,谁就可以把这交易信息放进信封里,并在信封上签字盖章。 步骤五:广播交易;记账人员把数据放进信封里,并签字盖章,用广播的方式通知所有人,每个村民可以验证交易是否伪造。 步骤六:账本按每一笔交易数据物理时间自然记录,并且只加不该不删,不断形成新的账本数据库,至此,全村人的记账问题就解决了。 当这些还看不懂比特币如何运行模式,举结婚场景大家脑补下: 张三与李四结婚,请全村人见证他们结婚了,张三签字保证爱李四一辈子,李四也同意爱张三一辈子,记录人员记录着他俩的承诺,并装进信封,然后通知全村人。当张三不爱李四啦,需征求全村人的意见,并且全村人同意他俩才能离婚。展开共 2 条评论42
- 良辰美景2018-03-28作者你好,我读了几遍,仍然还是不太明白,有如下问题,希望能给解答一下: 假如现在有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的区块链系统是由的,不过从架构上看更中心化一点。这个我们会再后续文章有详细讲解
共 2 条评论36 - near2018-03-28请问老师:例子中说拿出50万奖励封装信封的人,当这50万奖励用完以后,后续产生的交易信息由谁来封装信封呢?共 2 条评论20
- teletime2018-03-28这样记帐的话,随着时间推移,总帐无限增大,每次计算一个帐户的当前余额,要追溯的历史链越来越多,效率能撑住?共 4 条评论15
- 陈建斌红了..2018-03-28怎么广播,难道每个节点要保留所有其他节点的ip地址吗
作者回复: 是的。仅保存临近节点,临近节点接力
共 2 条评论15 - 胡敏2018-03-29我理解 打包交易 的的前提是有交易,如果交易量不足,哪些所谓矿工为啥可以一直挖矿呢
作者回复: 交易笔数至少会有一笔。这一笔叫做铸币交易。又称coinbase。这种区块我们叫做空块。属于正常情况
共 2 条评论13 - LuDi2018-03-29配一些图来说明的话,会让读者更容易理解呢?
作者回复: 谢谢建议,到深入讲解模块会配图的。
10 - ytl2018-04-03如果两个矿工差不多时间解除难题,都暂时认为自己获得奖励,区块链产生自然分叉。通过竞争,几个区块后只有一条链最长,所有矿工都追随最长链。前面以为自己得到奖励的矿工并没有真正得到奖励。
作者回复: 嗯嗯,我们理解一致。“最长”其实是难度累计最大,而不是高度。
7 - ync2018-03-29作者您好,阅读后我收获很多,但有个问题不太清楚:交易为什么不记用户余额?不记得话每次交易都要翻老帐,当用户量和交易量上去的话效率会不会很低?
作者回复: 你好。 区块链有两种记账模式,第一种是我们正在举例讲解的utxo模型,另外一种是你说的记余额模式。交易效率不会低的,但是会影响同步效率。 utxo是无状态的,余额是有状态的。后面utxo一文我们会有详细讲解这两者。
8 - jonhey2018-09-18中本聪规定比特币总量2100万个,等2100个万个比特币全部在流通了,如果有个人特会赚钱,把所有比特币都赚到手里了,这个系统怎么去创造新的流通货币?
作者回复: 你这种属于经济学假设,假设通过极端的市场操纵手段收获了大量比特币,这其实会造成剧烈的市场波动,价值共识基础可能会崩塌,那么比特币很可能就不值钱了,毕竟只是一串数字一串代码不是?
6 - life is short, e...2018-04-03老师您好,请问150w的总数,是怎样的一种机制保证他无法被修改?
作者回复: 由创世区块规定的,后面的区块的哈希计算都是依赖前面区块,所以历史记录没有办法改,一改全变了。
5 - Corey2018-03-29(1)矿工打包交易时,计算出目标哈希,是怎么实现易于验证的? (2)全网有没有可能,同时超过2个矿工同时计算出目标哈希,如果出现这种情况,网络是怎么处理的? (3)目前btc使用1M,bch使用8M,扩容可以提高交易量,带来的问题有 带宽、存储、计算,但是目前btc也基本都是专业人士在挖,扩容还带来了其他什么问题吗? (4)目前为了提高交易速度,除了扩容,还有分片和侧链,我想问的是,扩容是必须的吗?展开
作者回复: 1. 简单来说,就是所有人把这位矿工的计算原结果再计算一次。如果符合前n位是0就证明是有效的 2. 网络不存在绝对的同时。这种情况再观察下一个块的产生,如果其中某一条链“长度”大于另外一条,则废弃短链。这种情况的概率叫做孤块率,越低越好 3. 扩容之争有很多备选方案,比特币社区争论了很久,导致社区分歧才有了bch。专业矿机的产生不是扩容导致的,扩容后续我们也会讲。 4. 不是必须
共 2 条评论5 - DBG2018-03-29打包时计算出来的目标哈希 怎么确定没有被其他矿工已经计算出来
作者回复: 目标哈希不是唯一的,只要满足难度条件即可。即使别人同时有了答案,剩下拼速度了
5 - 万历十五年2018-05-271.数字签名主要解决了“谁干了什么”的问题 2.打包主要解决了“篡改”问题,使篡改成本变高3
- 张军营Jason2018-04-03咨询几个问题 1.多少个transaction可以打包成为一个信封? 2.transaction的验证过程,是否有效,不太明白
作者回复: 1. 这个是由区块容量上限决定的,区块容量上限是由物理环境,代码决定的。通常几百几千笔一个块。 2. tx的验证是由非对称加密中的签名算法保证的,全网可验证。
3 - 羽惑飞2018-04-0250万被旷工挖完后谁来打包?3
- davix2018-03-29建议老师对文章中出现过的关键概念,给出一些可以深入阅读的链接。比自己搜靠谱吧。3
- 李小文2019-03-26老师!李四解开难题后,再打包时,怎么知道的上一个信封中的第一个交易是什么?2
- 三木四水2019-01-15陈老师,能不能用经济学的角度说一下为什么数字货币可以交换实际存在的东西比如美金,真金白银?像法定货币都是有国家的黄金储备和国力在支撑的,但是数字货币好像就是凭空的一个东西?它为什么存在价值呢?数字货币如果不被世界认可,它的意义又在哪里?
作者回复: 你好,可以阅读后续章节来答疑哦。 本质上是在讨论什么是货币,例如美元的本质不是黄金储备和国力,而是美元霸权强制全球流通,这么看起来美元也只是人为定义的价值支撑,所以为什么是美元霸权,不是人民币霸权? 回到问题,信用货币本身也是共识的一种,它更多是法律意义上的甚至军事霸权强制的,而数字货币也是一种共识,只不过是自由的超越国家的存在,所以作为货币一点也不奇怪,只要有共识存在,那么货币就是成立的。
2 - 曼巴2018-10-06区块链的运行机制有下面几个步骤:公开记账,创建创世区块,交易,挖矿,交易广播。 这些运行步骤体现了区块链的特点,公开记账体现了区块链的公开透明,创世区块的创建初始化了整个区块链的起始状态,2