写点什么

web3.0 多链挖矿 dapp 系统开发技术详情

  • 2022-11-10
    广东
  • 本文字数:936 字

    阅读完需:约 3 分钟

多链(multi-chain)不同于跨链(cross-chain),多链不需要第三方的跨链桥、跨链协议,也不存在抵押增发跨链资产,项目开发 I34-合约 I633-部署 53I9,是指在相同的通信协议下无缝转移原生资产(native assets)。跨链与多链的本质性区别是安全性不一样,多链是确保状态一致,即如果回滚那么也会状态一致的回滚。但跨链受制于不同区块链的状态不同,无法做到同步一致,一旦发生攻击,那么跨链资产的平衡将会打破。


层次设计多链一共分为 3 层,链管理层 SMC,通过一个合约 SMC 管理验证节点押金,验证节点随机抽样等;Date 为具体的交易数据层,开发对接唯 hkkf5566,各个子链分别维护各个子链的全状态数据和主链的全状态;state 层主要是交易的产生层,也可以说是智能合约的执行层。


基本的分片结构假如一台计算机的处理能力为 C 笔交易,主链节点能观察 C 条子链,则整个系统能处理 C*C 笔交易。


多链系统中的大多数用户都会运行两部分程序。


多链架构图;主链变更


本子链协议可单独于现有 MainChain 主链实施。只需再主链中作出如下修改,其中第二个变更非技术必须。


在 MainChain 主链上增加合约;该合约支持存入 DEPOSIT_SIZE 的 ETH;deposit 函数以:


fields = {


# Hash of the parent block
'parent_hash': 'hash32',
# Slot number (for the PoS mechanism)
'slot_number': 'int64',
# Randao commitment reveal
'randao_reveal': 'hash32',
# Attestations
'attestations': [AttestationRecord],
# Reference to bumo chain block
'bu_chain_ref': 'hash32',
# Hash of the active state
'active_state_root': 'hash32',
# Hash of the crystallized state
'crystallized_state_root': 'hash32',
复制代码


}复制主链状态分为活跃状态和结晶状态两种。


以下为活跃状态


/ActiveState:


fields = {


# Attestations that have not yet been processed
'pending_attestations': [AttestationRecord],
# Most recent 2 * CYCLE_LENGTH block hashes, older to newer
'recent_block_hashes': ['hash32']
复制代码


}MainChain 主链处理


处理 MainChain 链与处理 bu1.0 链在很多方面非常类似。客户端下载并处理区块,维护当前“规范链”,终止于当前的“头部”。但是,由于主链链与现有 bu1.0 链的关系,并且本身是一个多链的架构,所以(处理)也存在一定的差异。

用户头像

还未添加个人签名 2022-05-23 加入

区块链项目开发,咨询weixin:hkkf5566

评论

发布
暂无评论
web3.0多链挖矿dapp系统开发技术详情_开发微hkkf5566_InfoQ写作社区