单链TPS方面是存在硬件天花板的, 而多链并行是目前来看最具备可操作性的问题解决思路。接下来我们会谈论一下在实际执行过程中必然会遇到的一些关键议题。
多链并行怎么提TPS
把交易工作按照业务域进行拆分, 把它们放到不同的子链中去。让每一条子链都只负责运行特定类型的事务处理流程。这样一来, 单条链内部的吞吐量会直接增加一倍。在分片这个环节上,采取什么样的策略是非常核心的关键。如果按照地址哈希的方式来进行切分, 那么这种做法是适合高频支付的场景的。
如果按照合约类型的方式进行切分, 那么在金融领域的应用就会显得更稳健一些。合约维度分片这种形式, 对于跨链结算以及合规审计这类工作来说, 都是友好得多的。在实际的项目开展过程中, 这种方案是被用得最多的情况。
跨链消息的延迟是一个容易被大家忽视掉的隐性成本因素。桥接协议如果去选择轻客户端模式, 还是去选择中继验证模式, 这个直接的决定性作用会影响到TPS的上限在哪里, 也会影响到安全性的边界在什么位置, 要是选错了的话, 那么整个并行架构的效果就全都白搭了, 等于没有用。
因为延迟的情况要是控制不好的话, 那么用户得到的体验就直接会退回到和单链一样的水平上了。

TPS多链并行难在哪
现在, 安全模型变得越来越复杂了。在以前, 单链只信任一个出块者就完事了, 但是在多链并行的情况下, 这意味着跨链信任假设的数量成倍地增加了起来, 只要任何一条子链被攻破, 那么就有可能通过消息通道把其他所有的链都拖垮。因此, 攻击面越来越大的时候, 审计和形式化验证的成本就肯定会变得更高。
运维的复杂度其实也是一个非常大的坑。因为子链节点的部署工作, 还有链与链之间状态对账的问题, 以及异常状态下的回滚机制, 这些方方面面都必须要考虑清楚。每多运行一条链, 那就意味要多出一整套的监控手段和故障排查流程。所以, 团队的规模大小必须进行调整, 工具链的配置也必须跟着一起增加上来。
实际上是不存在一种能解决所有问题的万能方案的, 我们必须依据具体的业务特征来决定分片的粒度以及所使用的桥接协议是什么样子, 一定要在通过小流量成功跑通并验证效果之后再来谈关于横向扩展的事情, 千万不要在刚开始的时候就采取全量切换这种做法。
转载请注明出处:imtoken,如有疑问,请联系()。
本文地址:https://www.zmdyd.cn/imazbqb/10262.html
