不得不说的跨链技术

随着DAPP的发展,区块链的TPS是一个绕不过去的话题,以软硬件结合的HPB的TPS以达到5000+,就目前公链的TPS看,这已经是一个很高的值了。但有一点是必须要注意的,那就是这5000的tps是所有DAPP共有的,那就意味着随着DAPP的数量的增加,用户数量的增加,在高的TPS已有达到上限的一天,只是时间问题。考虑到目前公链的带宽,存储等问题,同时新节点接入的成本会越来越高,单条公链的发展瓶颈预计很快就会出现(除非根据公链性能限制DAPP),这就需要考虑另外一条可行的方案,跨链技术。

跨链技术可以应用在相同的链上,比如HPB–HPB,也可以应用到不同的链上,比如HPB–ETH,不同的链也就意味着共识的不一致,跨链的难度也会随之加大,这里就以同链HPB–HPB为例做个说明。

现已有一个HPB公链在运行中,称为HPB-A,假如此时HPB-A链的性能已达到瓶颈,也就意味着链上的交易再多就会发生拥堵。为了扩展性能,在起一个HPB-B链,只是两个链之间的ID不同,其他如源码,版本都一致。这样的话,交易的发生应该是这样的。
假设:HPB-A链上有账户 a1,a2,HPB-B链上有账户b1,b2,两个链的账户不一致
通过跨链技术产生的中间件称为链间服务,主要功能是做信息校验,数据转发
1、同链账户间交易,如a1与a2, b1与b2之间的交易
跟现有交易模式一样,属于单链上的事
2、不同链账户间的交易,如a1与b1,a1与b2,a2与b1,a2与b2
账户a1在HPB-A链上发起交易,A链先对交易进行验证(还是现有的验证,如签名,nonce,余额等),交易打包成块验证通过后判断接收账户b1是否属于本链账户如果不是,则需要通过 链间服务 将 交易和新块头(不是新块)转发到HPB-B链上进行校验,校验通过后将校验结果原路反馈给A链。
注意:1、B链的交易主要是针对块头的transactionsRoot进行校验,证明交易本身是存在的,其他的验证是否有必要还有待考虑。
2、新块在A链上校验通过后才会转发到B链,理论上不存在校验不通过的情况,但A链仍需要等待B链的校验结果,防止a1账户扣钱,b1账户没加的情况出现。

对于链间服务
1、之前说到链间服务只转发新块头和交易,而不是新块,本身是考虑到A链产生新块的大小可能很大,影响到B链的性能,因为B链节点收到此数据校验通过后也是需要广播给B链的所有节点的。
2、链间服务与链之间的通信是需要签名和加密的,既要防止重放攻击,也要防止数据篡改。
3、链间服务器的可用性是一定要保障的,除了做校验,转发外,还要能防止DDOS攻击,保证可用性。否则一旦出问题,A链上包含跨链交易的块发不到B链或者收不到B链的反馈,就需要长时间等待甚至丢掉当前块,对链A本身的性能造成严重影响。(这里既不能删除交易,也不能生成新块)(之所以不在交易验证通过而是在打包验证通过才去跨链验证,是因为交易本身可能并不会打包进块)

以上就是我的一点思考,欢迎大家讨论。(另外基于以上,是否可以将现有账户进行拆分或者整合,在多链上进行存储,这样来减少跨链的发生)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值