总览Solana基金会(Solana Foundation)希望向一个团队提供赠款/赏金,以在Solana上建立以下数字资产的跨链集成:
比特币
以太坊
有意者可以在这里提交有兴趣从事这项工作的意向。
范围有几种方法可以在Solana上实现对其他区块链的跨链支持,以下是我们感兴趣的几种实现:
1.无状态的简单付款验证(SPV)
在另一个智能合约中的一个链上验证工作量证明历史的过程。无需预言机或可信赖的第三方。
为了在Solana智能合同中直接验证比特币交易,在分析比特币交易和区块时需要一些标准。有一些示例可以说明如何实现此目的(由Summa One提供),已开发为Bitcoin-SPV和Solidity的开源库。
SPV设计提案概述(从比特币到Solana)
验证交易输入和输出
智能合约会验证比特币交易的所有输入和输出,以确保调用者没有试图传入虚假输出
提取第一个输出的satoshi值,在第二个见证人中找到与pubkey关联的Solana帐户,或从OP_RETURN中提取数据以用于合约数据调用
验证交易是否包含在区块中
然后智能合约将验证有问题的比特币交易是否已包含在区块中
智能合约可以使用Merkle包含证明来验证从Merkle树的根到持有交易的叶子的路径
智能合约只需要存储标头、交易和包含证明(几百个字节)即可验证包含
验证区块标头
智能合约需要验证每个区块都引用了前一个区块
为了验证这一点,智能合约获取我们要验证的标头列表并确认:
1. The headers contain the work that they claim to
2. Each header links to the previous one
3. The accumulated difficulty of the proof is above our security parameter.
参考文献
具备状态的SPV(简单的付款验证)
Merkle包含证明
BTCUtils
如何在以太坊中验证比特币支付(仅需70万gas!)
Cross-chain Auctions via Bitcoin Double Spends
2.从Solana到以太坊的跨链桥接下来的范围将包括构建从以太坊到Solana的中继器和智能合约。此桥的设计方案是由Solana经设计在很大程度上启发Tendermint链所涵盖这里。这座桥的设计方案很大程度上受到了从Solana到Tendermint链的Warp设计的启发。
MVP-Bridge v0此MVP的最初实现是建立一种机制,在Tendermint链和Solana之间为同一所有者移动令牌。Warp请求将包含一个证明,证明Ethereum上令牌的所有者控制了Solana上的有效私钥,反之亦然。这一额外的安全层减少了令牌被错误处理的可能性。Ethereum链运行一个中继器,该中继器接收另一条链上的交易,并从Solana令牌账户转移令牌,反之亦然。在令牌存在于Solana上的期间,中继器将托管在以太坊上的令牌。事例#1:从以太坊发送令牌到Solana
中继器收到N个令牌的交易
交易中包含注释、Solana pubkey和签名
中继器将solana上的N个令牌转移到公钥
如果Solana签名验证失败,则中继器将在Ethereum上将令牌转移回所有者。示例 # 2:将令牌从Solana发送到以太坊初始化中继器r在solana上初始化令牌程序,使用u64::MAX作为它的供应。最大供应量由中继帐户保管。Solana上未清算的令牌数量为(u64 :: MAX-当前中继帐户余额)。该金额应始终等于Tendermint链上中继帐户中代币的余额。实现
中继器在Solana上收到N个令牌的交易
交易包含注释、以太坊地址+签名
中继器将以太坊上的N个令牌转移到该地址
MVP-Bridge v1本MVP的目标是确保帐户所有权证明得到验证,否则交易将失败。Solana和Ethereum将使用智能合同来验证”注释”中的签名。如果签名检查失败,则转移资金的交易将失败。
MVP-Bridge v2这个MVP的目标是减少对中继者的信任假设。两条链都应支持Cosmos IBC在彼此之间移动资产,而不是为中继者添加M/N签名验证或更复杂的密钥管理。从概念上讲,IBC是作为智能合约的轻客户端实现。通过IBC实现,中继器成为两条链上验证器之间的无需信任消息传递中继器。IBC智能合约会验证另一条链接受交易的共识证明。