为了顺利引入新的PoC2+标准,需要将全节点在共识层面上进行适当改造,也即所谓的分叉。本文为Lava核心开发者团队提出的分叉方案介绍。分叉一般有两种形态,一种是硬分叉,另一种是软分叉。该方案基于区块链的去中心化和社区自治精神,提出了一种由矿工投票激活的硬分叉方案,既有别于传统的硬分叉,也有别于比特币经常采用的MASF。
什么是硬分叉?
如果软件/硬件的规则发生改变,并且这种规则改变无法向前兼容。在区块链中,使用旧版本的节点和使用新版本的节点各成体系、无法互相辨认,称为硬分叉。
现实中的例子:
·苹果公司在iPhone5上使用了Lightning接口,以替代此前的30针Dock接口。iPhone5以前的手机无法使用新的接口,iPhone5以后的新手机也无法使用旧的接口。
什么是软分叉?
软分叉一般都是向前兼容的,也可以说是未来兼容。通俗解释就是:旧版本的软件/硬件,可以使用新版本的软件/硬件产生的数据。在区块链上可以理解为旧节点可以验证并接受新节点出的块。
威士忌行业巨头尊尼获加Johnnie Walker推出首个NFT系列Master of Flavor:6月9日消息,尊尼获加 Johnnie Walker 宣布推出首个 NFT 系列Master of Flavor,这家威士忌行业巨头将与 Virtue 和葡萄酒和烈酒 NFT 市场 BlockBar.com 合作,基于尊尼获加 Johnnie Walker 七瓶极为罕见的苏格兰威士忌发行 NFT,售价为 35,000 美元,每个 NFT 买家还将获得前往爱丁堡访问尊尼获加的机会,包括入住 Gleneagles 联排别墅,参观 Glenkinchie Distillery 和 Diageo Archive,以及品尝 Diageo 系列稀有威士忌的 VIP 体验。(bandt)[2022/6/9 4:12:24]
现实中的例子:
·立体声FM广播是向前兼容,它既可以被单声道的老式收音机播放,但没有立体声效果;也可以被新式的立体声收音机播放,具有立体声效果。
Lavender Capital对多资产交易协议Mobius Finance进行战略投资:据官方公告,资管公司Lavender Capital对多资产交易协议Mobius Finance进行战略投资,Lavender Capital将主要从资产管理、资金支持、社区建设等方面支持Mobius Finance。[2021/8/6 1:39:33]
软分叉在特殊情况下也可以是向后兼容,也即新版本的软件/硬件,可以使用旧版本软件/硬件产生的数据。在区块链上可以理解为,新节点也可以验证并接受老节点出的块。
现实中的例子:
·Intel的x86指令集CPU是向后兼容的,新款CPU依然可以运行老款CPU的软件,这是由于Intel希望保证老版本CPU有的指令集在新版本中也得以保留。这种只增加不删除的策略,保证了我们换CPU时无需更换相配套的软件。
分叉涉及的技术层面
针对LavaPoC2+的分叉方案中,在共识层面需要改动以下几处:
LAVAswap将于北京时间3月1日上线GOF、GENE和REC三个流动池:LAVAswap将于北京时间2021年3月1日22:00点上线GOF、GENE和REC三个流动池,增添GOF/USDT、GENE/USDT和REC/USDT三个交易对。
LAVAswap是基于火币生态链的DEX,包括质押池、流动性矿池、兑换功能、交易流动池、跨链资产桥等。[2021/2/28 18:00:28]
1.区块头中需要新增一个LAVA挖矿者地址的字段。这种区块头中附带地址用以验证的方式,burst已经使用,其地址即为区块头中的PID。因此LAVA中将以前的PID替换为LAVA专属地址的方法也是该思路的延续。
2.挖矿相关的一系列接口,包括:Miner请求信息,Miner提交信息后的验证,以及全节点的铸块时校验等。
3.全节点同步其他区块时的验证过程。
4.全节点重启后读盘时的区块验证过程。
LAVAswap总锁定价值突破1200万美元:据官方消息,LAVAswap上线1小时,链上TVL (总锁定价值)突破1200万美元。目前有三个活跃的空投池,包括HUSD、HBTC & HPT。HT单币质押矿池将于北京时间今天晚上10点开启。LAVAswap是基于火币生态链的全新DEX,包括空投池、流动性矿池、DEX、跨链资产桥等。详情见原文链接。[2021/1/28 14:12:46]
5.绑定关系数据库升级。
详细分叉方案的分析
1.向前兼容的软分叉
首先排除该方案。虽然该方案是区块链软分叉首选,但是由于需要修改区块头中的字段,因此就无法满足旧节点能够接收新节点出的区块这一大前提。
2.向后兼容的软分叉
该方案的实际效果如下图1。根据向后兼容的大前提,由于新节点可以接收并验证老
节点出的区块,而旧节点却无法接收新节点出的区块。因此最后新节点逐渐超过旧节点算力达到51%时,两条链分叉。这虽然保证了分叉的效果,但是也存在相应的问题,在最初始的网络中,由于旧节点算力占优,而新节点出块始终无法被旧节点接收,因此会存在很大程度上新节点算力的浪费。假设某时刻新节点挖出另一条链与老链分叉,在一段时间后老链的算力和长度会逐渐超过新链,新节点的向后兼容性又使得新链被旧链覆盖,整条新链的算力全都浪费。
前美国证交所首席执行官Mark Sulavka加盟IOTA基金会:\tIOTA官方推特显示,前美国证交所首席执行官Mark Sulavka已经加入IOTA基金会。Mark目前正在领导IOTA eXtension接口(IXI)集线器模块开发。这个IXI Hub模块将为交换机提供无摩擦和“即插即用”的交换接口,从而将IOTA生态系统打开到全球加密货币爱好者的全球市场。Mark Sulavka是美国证交所前董事长兼首席执行官,证券交易委员会注册的证券交易所和自律组织(“SRO”),也是MatchPoint Trading的联合创始人兼首席技术官。[2018/2/7]
图1.新节点算力超过51%
图2.新节点算力不到51%,回到旧链
3.传统硬分叉
传统硬分叉方式实际效果如下图3。传统硬分叉是指直接通过更新软件来进行分叉,更新后的软件和原有版本的软件无法互认,因此形成两条独立的区块链。传统的硬分叉若没有得到生态中参与者的同意,容易造成生态的分裂,应当谨慎考虑。
图3.传统硬分叉
4.一种由算力激活的链上硬分叉方案
Lava提出了一种由矿工投票激活的硬分叉方案。这种方案的实际效果如图4。
该方案将硬分叉分为两个阶段:
第一阶段:分叉前的矿工投票激活和锁定;
第二阶段:锁定期结束后激活分叉。?
图4.一种由算力主导的链上硬分叉方案
该方案的好处是:
第一,解决了上述向后兼容软分叉方案中,在分叉起始时新节点可能存在的算力浪费的问题。
第二,传统硬分叉由于两条区块链互相隔离、自成体系,可能导致生态的分裂。这是因为如果有部分生态参与者不同意分叉,但又强行被另一部分参与者意见裹挟而不得不服从,就容易引起不满和争议。硬分叉后,甚至可能存在两条链独立发展,例如以太坊和以太坊经典的案例。
算力激活硬分叉的第一部分:投票与锁定
矿工选择跟新全节点软件版本来铸造区块,新的全节点依旧会保持旧的共识规则,也即PoC2标准,与未更新软件的旧节点互认。新的全节点软件版本仅在区块头的版本中变更了版本号,用以表示出块者的投票意见。一段时间后,全节点会自动统计“投票”阶段中新节点出块的量,当数量达到一定阈值,即可开启下一个阶段——锁定。
锁定阶段中,新旧节点依旧使用POC2的共识规则进行铸块,当锁定阶段结束,即进入硬分叉的第二部分,正式激活硬分叉。锁定阶段的意义是提供共识切换前的过渡时间,以便用户可以逐渐将硬盘中的文件从POC2格式迁移至POC2+,用以在即将来临的新链上继续挖矿。
算力激活硬分叉第二部分:正式激活分叉
进入激活阶段后,硬分叉正式生效,旧链和新链共存。旧链依旧沿用POC2共识,而新链,也即新节点将使用POC2+共识进行铸造,验证,同步等过程。这也意味着,从此刻开始,新节点必须使用LAVA专属的P盘格式,否则将无法出块。
参考资料:
Lava项目官网:https://www.lavatech.org/
HyperPlotter?PoC2+升级P盘软件下载链接:
https://www.lavatech.org/HyperPlotter-x64-v0.2.2.zip?from=8btc
了解更多及合作洽询请联系:business@lavatech.org
1月31日消息,超级账本联盟正式发布了其企业分布式账本平台HyperledgerFabric的2.0版,据悉,该版本增加了几个主要功能,改进了不同参与者之间的交流方式.
1900/1/1 0:00:00作者:StuartPopejoy翻译:岳巍来源:区块链前哨导语:2016年时,市面上的区块链项目在技术上都不足以支撑企业的应用.
1900/1/1 0:00:002月5日,美联储理事、长期研究加密资产的LaelBrainard,在斯坦福的演讲中,透露出:美联储对发行央行数字货币的研究更加深入,态度更加开放.
1900/1/1 0:00:00DAO可以是一个社区,DAO可以是一种生态系统,DAO也可以是一类投资模式,DAO为我们带来的可能性将远远超过Token。 当前全球有1500+种Token和?50个DAO.
1900/1/1 0:00:00法国证券监管机构金融市场管理局在一份报告中指出了一些阻碍区块链发展的障碍,并表示它们是需要消除的战略优先事项.
1900/1/1 0:00:00原文作者:WilliamFoxley编译:Alice、江小鱼根据Zcash基金会1月30日公布的投票结果,Zcash社区已同意继续资助由ZCC和Zcash基金牵头的隐私币ZEC的开发.
1900/1/1 0:00:00