来源:头等仓
编者注:原标题为《深入了解孤块》
虽然我钟情于以太坊,以及图灵完备的区块链,但以太坊也是建立在比特币的众多概念基础之上,因此两者有极大相似性。
本文,我们就来聊聊比特币的“孤块”。大多数情况下,所有PoW链都与下文描述相符合。
比特币有一个“最长链制胜”的规则,也就是说,拥有最高算力的那条链将获得认可,或被网络接受为“主链”。这是为了防止个人或某个集团掌控集体网络。由于PoW算法需要大量算力做支撑,因此对于作恶者而言,要保持最长链不仅困难,而且耗资高昂。
最常见的情况是,最长链是拥有最多区块的链,如果区块数量相同,则比拼总PoW。但“最长链制胜”容易让人误解网络中可能存在多个竞争链。正确的理解是,一条链存在多条路径,节点需要遵循PoW最多的那条路径。
联合国贸发会议报告:不依赖大宗商品的发展中国家在使用区块链等方面表现更优:7月7日,联合国贸发会议发布《2021年大宗商品与发展报告》。报告强调了低技术能力和高大宗商品依赖度之间的相关性。报告中提到的技术发展指数显示,依赖大宗商品的发展中国家的平均分值为1.55,而中国、印度、墨西哥、土耳其和越南等不依赖大宗商品的发展中国家的平均分值为5.17。不依赖大宗商品的发展中国家在使用人工智能、物联网、区块链和机器人等方面表现更优,因而其技术发展指数的平均得分更高,而依赖大宗商品的发展中国家在这方面的表现较差,其技术发展指数的平均得分因而更低。(经济日报)[2021/7/8 0:35:27]
那路径又是指什么?也就是我们经常会碰到网络无意中出现的分歧或“分叉”。
在采用PoW算法的区块链中,当网络中两位矿工几乎同时算出PoW难题,会产生意外分叉。两位矿工各自向剩余网络广播自己是“制胜”区块所有者,这是由于网络延迟造成的。
A股收盘:深证区块链50指数上涨0.73%:金色财经消息,A股收盘,上证指数报3320.13点,收盘上涨1.3%,深证成指报13894.26点,收盘上涨1.72%,深证区块链50指数报3920.51点,收盘上涨0.73%。区块链板块收盘上涨1.6%,数字货币板块收盘上涨0.8%。[2020/11/5 11:43:21]
让所有节点都知道有一个新挖出的区块,需要一定时间。
假设两位矿工几乎同时算出答案,我们将他们的区块称之为B与B’。两位矿工都将自己的“成功“区块广播给周围的节点,节点又广播给对等节点,直到整个网络都知道这一新区块。如果一个区块达到整个网络需要10秒,两个矿工分居网络两端,传播5秒后会出现网络分裂。
半数的人认为B区块的链是主链,而另一半人认为B’区块的链才是主链。
火币研究院:国家级漏洞平台增加区块链子库 优先关注公链漏洞:2020年6月3日,国家信息安全漏洞共享平台(CNVD)正式上线区块链漏洞子库CNVD-BC,该库中已收录247个漏洞,其中241条为公链及公链生态内的漏洞。火币研究院高级研究员赵文琦指出,此类漏洞库在传统的信息安全领域已长期存在,其中最著名的是CVE(Common Vulnerabilities and Exposures)平台,各大公司或组织如Apache、Linux等也维护了相应的漏洞平台。在区块链行业,面向细分领域,如区块链底层系统、分布式协议、智能合约、去中心化应用及周边软件等,建立相应的漏洞平台有助于提升各领域的安全性。此次区块链漏洞子库的上线补充了我国在这一领域的缺失。依据传统安全领域的经验,在未来,不同区块链平台及服务提供机构可能会陆续推出面向各自应用生态的漏洞库。[2020/6/4]
问题产生了
51CTO学院院长邱文平:5年内区块链人才仍然稀缺:51CTO学院院长邱文平在接受媒体采访时表示,当下高薪趋势是企业自己定的价格,价格由价值决定,在区块链风口的现在这一类现象出现并不意外,就好比现在区块链的工程师肯定比大数据工程师薪水高这样的一个道理。这是受供求关系影响的。太多新项目的出现,形成了一个急需区块链人才的一个现象。在有限的时间内,需要巨大的人才上岗,必然要出现较高的薪资。这种现象何时结束并不好说,因为供求关系不受人为控制。在供应上,区块链存在的泡沫会让多少企业逐渐死掉不得而知;在需求上,越来越多的人才供应也会不断增加,是否会达到饱和也不好说。这些都会让高薪现象发生改变。不过五年以内,区块链人才仍然是处于稀缺状态。[2018/4/4]
直到整个网络都知道了B和B’区块,先看到B区块的会将B放到最前面,但同时会将父块连接B’区块作为参考。
节点将B区块放到自己主链的最前面,但又同时保持对B’区块的引用。
之后,矿工又立即展开下一轮区块挖矿竞争。取决于矿工,下一个区块要么添加到B链,要么添加到B’链。
假设在这个例子中,矿工在B区块后面添加下一个区块C,并将C区块广播到剩余网络。除非再次出现分叉,否则一旦接收C区块,B’链将自动接受B区块路径,因为此时B链是最长链。
无论节点是否将B或B’作为头部,一旦区块C添加在B区块后面,B’区块就会被抛弃。
B’区块的交易将放回到mempool,B'被丢弃,成为一个孤块,B'的矿工失败了,他们失去了挖矿奖励。
因此,比特币的出块时间设置为10分钟。中本聪认为,10分钟是介于快速确认时间与低概率分叉的一个“中间地带”,因此孤块数量也会减少,这是一件好事。
更新部分:
最近我注意到,在孤块和陈腐区块之间存在很多混淆。这一节就用来阐明两者的区别。
1.陈腐区块是在孤块上挖出的块。
孤块和陈腐区块的矿工即使贡献了有效算力,也不会因为挖矿而得到奖励。
比特币不会发生上述情况,因为一旦挖出D区块并广播,整个网络都会选择跟随D区块。
2.孤块实际上是一个陈腐区块。
有些人会认为,我在这篇文章中使用的术语“孤块”应该被引用为陈腐区块。
3.陈腐区块是在找到有效PoW区块后还在工作的块。
一个叫做“比特币来源”的网站已经很好地总结了这一点,我在这里应用它们的定义。“在任何一秒钟,都可能算出一个区块“答案”。这意味着,世界上所有在挖这个区块的人都必须停止,并重新开始挖矿。在此之后还继续挖矿的区块被称为“陈腐区块”,因为它包含的是旧数据和旧交易。”
4.孤块指没有“父”块的区块。
这是公认第二大原因。有些人认为,孤块应该仅指“没有父块”的块。
因为比特币是一个广泛分布的网络,一些节点知道其他节点不知道的块。如果一个节点接收到一个块,而不知道它的父块,那么节点就无法验证,所以节点必须向网络中的对等节点请求父块信息。在接收到此信息之前,该区块将被视为孤块。
然而,在比特币v0.10版本之后,由于节点下载区块的方式发生了变化,因此比特币中不再有这类型的孤块。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。