共生体 (Symbiosis)通过中继器(trelayers)网络处理跨链交换——这是个离链中继器节点组,用于不同区块链之间的信息传输。
假设你想把以太坊上的USDC换成BNB币安链上的BUSD。中继器检测到来自以太坊的相应请求,确认了之后,将其传递给BNB链。
这里有个特点:relayers网络是由MPC技术驱动的,而不是区块链。虽然中继器节点运行在以太坊和其他区块链之上,但它们不利用自己的区块链。这种方法使我们能够达到高水平的安全性和可扩展性。让我们看看它是如何工作的。
什么是MPC?
多方计算(MPC;Multi-Party Computation)是一种加密技术,可以让一个小组的成员共同计算一些东西,但不必向其他方透露个别数据。
假设你和你的朋友想计算你的平均工资,但不想向朋友透露你的工资是多少。这就是你可以使用MPC的地方。你仅分享零散的信息片段给你的朋友——而这些片段在孤立情况下没有意义,但当你把它们混合起来并找到平均值时,就会看到正确的数字。
为何加密货币需要MPC?
在区块链领域中,当私钥被分给多方时,即使用MPC技术来签署交易。将私钥保存在一个地方时会带来不少风险。如果非托管钱包的私钥存储在用户的设备上,一旦这个密钥被盗或丢失的话,就等于资金丢了。如果一个DeFi智能合约只需用一个管理员的私钥来改变的话,这种合约的欺诈性更新可能性就会增加。
为了减轻这些风险,私钥可以分给多方。只有当所有(或大多数)这些当事方使用他们的部分密钥时,才能够签署交易。MPC技术可让各方集体签署交易,而不向其他方透露个别私钥。单独使用一方的部分私钥,是无效的;但当它们结合在一起时,就会生成一个有效的签名。这样就可以防止个别的参与者单独创建签名。
MPC如何运作?
当密钥被切分成几块时,要如何签署一项交易呢?
我们来看看加密货币签名的一般运作方式。当一个新的钱包地址在区块链上被创建时,会产生一对独特的公钥和私钥。每当这个钱包的主人想发送一笔交易时,他们就用私钥来签名。区块链节点会验证该签名,并确认钱包主人确实拥有该私钥并有权发送资金。
通过MPC签署交易的算法,其核心是相似的,然而这区别是:有额外的步骤,即生成一个碎片化的私钥,并使用这些碎片组成完整的签名。
MPC算法通常需要一个法定人数:只有当一个阈值数量的各方提交他们的签名片段时,签名才会有效。这种方法被称为TSS(阈值签名方案),我们用它来签署共生的跨链交易。
共生中的MPC: 中继器网络的可扩展性和安全性
共生(Symbiosis)的中继器网络本身并非区块链,却在区块链之间传输信号。要如何使这样的网络安全运作?答案是:使用分布于中继器节点中的MPC密钥。以下是它的运作步骤:
1.当中继者网络检测到一个区块链向另一个区块链发送转账货币的请求时,网络必须用TSS签名来签署交易。而且必须拥有三分之二中继器节点的最低法定数量需求--但我们更进一步,实施其他措举来增强安全性。
2.在中继器网络中,有一个所谓的否决群组——几个受信任的中继器,他们的参与是创建TSS签名时的必要条件。如果否决群组成员看到可疑的交易,他们不会参与TSS签名的生成,所以签名就不会被创建,而资金交换的请求也会被拒绝。
(上图为中继者网络的结构。MPC群组是在特定24小时内活动的中继器网络的一部分。可在此文档中了解更多信息。)
3.这是Symbiosis的一种独特方法,称为阶层授权门槛签名方案(HTSS)模型。否决权中继节点不能自己生成签名,但它可以拒绝交易--即使在其他中继节点被破坏的情况下,也能运作。
4.由Symbiosis团队添加受信任的中继者节点到否决群组中,但在未来将由其他中继者以去中心化的方式完成。
МРС/HTSS签名的另一个好处是,与区块链节点不同,在网络的当前状态下,中继者节点不需要存储整个区块链。在区块链中,对于节点之间达成共识是必要的。对于中继者来说,MPC密钥就已足够。这就是为什么我们把中继者网络称为无状态网络,它有以下优点。
在Symbiosis中使用多方计算的好处
● 高度安全的交易。中继者网络的目标是确保数据在未经修改的形式下,从一个区块链传输到另一个区块链。具有法定人数(阈值)和否决权群组的MPC机制,使我们能够消除潜在恶意方为了图利而破坏跨链数据桥的风险。
● 降低中继节点运行者的准入门槛。由于他们不需要存储区块链的整个副本,所以硬件要求大大降低。加入中继者网络和维护中继者节点变得更便宜且容易,使得网络更去中心化且强大。
● Symbiosis支持EVM兼容和不兼容的区块链(Solana、NEAR)之间的跨链互换。这是有可能的,因为无区块链的MPC模型可以使用不同的数据格式运作。
使用支持MPC的中继器网络签署跨链互换,让Symbiosis能够以快速和安全的方式处理这些互换,同时保持中继器节点的轻量和易于操作。各位可在我们后续发表的更多文章中,了解更多关于中继器网络和其演变。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。