初链主网Beta版上线的技术解读

首先祝贺初链成为全球首家实现无许可(Permissionless)环境下的混合共识公链。本次有哪些知识需要我们去了解呢,以下是Apple对本次主网在新加坡上线的技术解读:
本次初链采用了双链结构,并已经在美国获得先行专利。
1.采用双链机制
作为社区人员,我们都知道初链采用的是PBFT(拜占庭容错算法)+POW(Proof of Work,工作量证明混合共识)。目的是为了分离交易确认和算力保护。双链中将PBFT作为快链,POW作为慢链,其中快链用于存储账本和达成交易,慢链用于委员会选举和挖矿。
不选择的单链的原因:创始团队刚开始有考虑采用单链结构,后来在实现过程中发现在数据机构搭建和共识验证方面存在很多技术壁垒。



其中水果也是通过慢链来实现的,在区块链头中包括“Coinbase"、”PointerHash"、“FruitsHash"、”FashHash"、“SignHash"、”ToElect"、和“Fruit"属性,值得注意的是
Fruit属性不一定是水果,如果有signs属性填充,表示水果。没有signs属性表示普通区块。
2.首次引入水果链
初链采用FPOW协议,这样可以避免矿霸垄断的局面,保护矿工的合法权益。
3.首次推出TrueHASH
区块链自诞生以来,很多开发者一直在解决一个痛点就是对抗ASIC算法,到目前为止,很多解决方案都不能完全摆脱这种算法的控制,初链研究团队推出的TrueHash借助了冯诺依曼思想,从而实现了矿工的公平。
4.混合共识PBFT委员会采用随机选举机制
之前提到采用水果链,因为矿霸更多关注的是True,不会花成本去挖掘一些无价值的水果,这里初链团队采用VRF(verify random function,可验证随机函数)来实现PBFT节点等概率的公平选举。在选举前,算法会过滤掉那些水果比较少的矿工,从而保证随机公平性。
5.初链采用的验证机制
主要分为快链区块的验证与慢链区块的验证,快链验证指的是拜占庭共识委员会在收集P2P网络中的交易并产生快链区块或收到其他委员的广播区块,进行的一个验证,具体可以细分为共识委员会验证父区块是否存在,接着验证区块头,然后验证区块体,最后在进行验证交易和状态数据库。而慢链的验证主要分为2种机制,这两种机制主要针对普通区块和水果。对于普通区块,共识委员会首先验证区块头,接着验证区块体。而对于水果链,共识委员会会首先验证委员会签名,接下来验证水果新鲜度,最后验证区块头。
快链与慢链两种机制共存,想必大家最关心的就是机制之间的交互问题:其中快链负责收集区块中所有的快链区块,每个区块中含有所有的交易信息和拜占庭公司委员会的签名信息,这些信息是以打包的形式存储在快链中的。与此同时,慢链负责从块链中收集并存储委员会签名信息(其中包含快链区块的区块号码和区块哈希值),然后通过挖矿过程注入算力,以此实现信息不被篡改,从而保证了快链信息的安全性。
6.慢链的区块打包、挖矿和奖励分配机制
矿工负责收集区块链网络中的快链区块,拜占庭委员会签名、水果和慢链区块,将其中的快链区块和水果放入snail_pool中等待打包。
7.初链中区块挖矿的过程
首先开启挖矿线程并获得起始nonce值,其次计算本次区块挖矿的目标值和水果挖矿的目标值,然后,不停自增nonce值来计算区块头哈希值,直到满足挖取区块的条件或者挖取水果的条件为止,最后,构建符合要求的区块或水果并通知网络模块。
8.初链区块奖励的分配过程
矿工挖出的慢链区块的奖励分配是通过拜占庭委员会生成的快链区块时进行检测和触发,在挖矿过程中触发了慢链区块的奖励分发操作,对应快链区块负责记录区块哈希值和区块号。大致流程分为1.计算总区块奖励2.奖励分摊给委员会,区块矿工和水果矿工3.发放奖励分别给区块矿工、水果矿工、委员会

9.快链打包交易流程
构建快链区块->根据父区块计算当前块Gas上限值->从交易池中获取每个交易地址下的首个交易组成交易集合,并按照交易中的Gas价格降序排列->执行交易集合中的所有交易,收集收据、消耗的Gas和交易费,通过执行交易改变父区块快照下的世界状态数据库形成新的状态快照->将总的交易费平均分发给当前拜占庭委员会的所有成员->将总的收据集合和交易集合并写入区块->构建拜占庭签名数据并签名,该数据包含当前区块状态的高度和哈希值->将签名数据放入区块,等待被Request请求装包完成PBFT拜占庭共识流程
以上为本人的一些浅薄见解,如有理解错误的地方,还请大佬多多交流指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码研究员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值