上回说到区块链分叉,谈及软分叉,硬分叉。这回就来了解了解什么是软硬分叉,什么是向前兼容?
硬分叉是指:当系统中出现了新版本的软件(或称协议),并且和前版本软件不能兼容,老节点无法接受新节点挖出的全部或部分区块,导致同时出现两条链。
软分叉是指:当系统中出现了新版本的软件(或称协议),并且和前版本软件不能兼容,新节点无法接受老节点挖出的全部或部分区块。软分叉和硬分叉都"向后兼容",这样才能保证新节点可以从头验证区块链。
向前兼容(forward compatible)
向前兼容是非常有意思的术语,它不同于我们通常说的软件设计中向后兼容(backward compatible)的方式。它要求对于新可能出现的区块形态、共识机制有个预先的判断,并在老的系统中留有余地或后门。当新的节点被部署时,老的节点能够接受新节点所产生的区块。
那么,比特币里是如何实现向前兼容的?答案是:非标准交易(non-standard transaction)。
比特币中设定了如下规则:
1. 将所有交易分类为:标准交易、非标准交易和非法(invalid)三种;2. 如果发现非法交易,一律拒绝,如果该非法交易在某个区块中,则拒绝整个区块;3. 在标准配置下,所有节点对非标准交易采取以下态度:a. 不转发 b. 不接受 c. 不打包;4. 对于已经进入区块的非标准交易采取以下态度:接受该区块;对区块中的所有交易,包含该非标准交易按既有规则进行验证;
本站所有软件信息均由用户上传发布,版权归原著所有。如有侵权/违规内容,敬请来信告知邮箱:764327034@qq.com,我们将及时撤销! 转载请注明出处:https://czxurui.com/zx/61460.html
发表回复
评论列表(0条)