tBTC:如何解决跨链难题

2020-08-31 13:45 栏目:经验之谈 来源:网络整理 查看()

最近,我们对论文中的tBTC进行了安全性评估:它是一种信任度最低的ERC20令牌,可兑现,并得到了比特币的支持。该项目使用“保持网络”来跨越比特币和以太网,旨在通过允许用户使用比特币支持的ERC20在以太网上进行交易,实现一种新的跨链经济。

我们很少审查像tBTC这样的项目。毕竟,tBTC跨越了几个系统:比特币、以太网和保留网络。促进所有这些互操作性的智能合同是复杂的,需要理解所有三种协议。促进所有这些互操作性的智能合同是复杂的,需要理解所有三种协议。尽管我们之前对流动性和原子贷款的研究在本质上是相似的,但tBTC庞大的代码库将它置于另一个层面。

在我们的复习中,我们学到了很多关于跨链系统开发的知识。特别是,我们对比特币交易的研究揭示了以太网中比特币交易验证的一个特别有趣的局限性。

什么是特殊目的公司认证?

在比特币环境中,特殊目的载体证明用于证明在给定区块内存在交易。简而言之,该证明将Merkle证明与比特币块的hashMerkleRoot相匹配,以表明该块中存在交易:

tBTC:如何解决跨链难题

这样的证明经常被使用,因为它们在计算中相对较轻。这一属性在构成tBTC的智能合同中尤为重要。由于运行在EVM(以太网虚拟机)上,tBTC自然受到以太网有限计算资源的限制。

假设我们想证明比特币上有某种交易。对于这个特殊目的验证,我们需要一些输入:

1.包含事务的块的块头

2.原始交易本身

3.事务的索引(它在块中的位置)

4.梅克尔证明(形成从交易到比特币块的“路径”的节点列表)

有了这些输入,可以证明交易存在于块中,而不连接到比特币节点。如果人们接受提供的比特币块头来自最长的工作量证明链,那么简单的支付验证(SPV)可以在任何设备上的任何地方执行。

跨链拼图

在研究比特币交易时,我们遇到了以太网上实施的特殊目的载体认证的基本限制:比特币交易的规模。

比特币交易主要受限于最大4兆的比特币块大小。此外,由于特殊目的载体证明可以排除见证数据,我们可以将理论上的最大比特币交易大小减少到1 MB。但就我们的目的而言,确切的上限实际上并不是由比特币的块大小决定的,因为它实际上是由区块链以太博物馆限定的。

为什么?与比特币不同,以太网的交易受到其执行所消耗的计算资源的限制。所进行的每个操作都需要一定量的天然气,并且交易消耗的天然气不能超过单个区块中包含的天然气。这就是所谓的气体极限,在撰写本文时大约是1000万种气体。

为了理解这大致相当于比特币的交易规模,我们可以使用以太网黄皮书中的Gtxdata非零定义,即交易中每字节数据的气体成本。gtx data非零值是每字节16种气体。

这意味着作为SPV认证的一部分,比特币交易每字节至少消耗16种气体。请注意,执行特殊目的公司认证需要额外的成本,但出于粗略估计的目的,我将忽略这些成本。

因此,在不可能证明以太博物馆的特殊目的载体之前,比特币交易能获得多少收入?答案是以太的有限气体极限除以Gtxdata非零值:

(10,000,000 gas)/(16 gas/byte)=625,000字节,约为1MB最大比特币交易量的63%。

这对tBTC意味着什么?

在技术性贸易壁垒中,特殊产品认证最初有两个目的:

存款证明:允许用户证明自己已正确进行BTC存款,并触发tBTC合同发布相应的比特币支持的ERC20。

防欺诈:允许用户证明BTC存款被存款人签名组在未经授权的情况下使用,从而触发签名人大幅减少存款并向存款人授予存款。

欺诈的证据

SPV防欺诈使用户能够防范恶意签名者。如果签名者群体相互勾结,他们可以在没有用户明确授权的情况下使用存放的BTC。通过向tBTC的合同提供这种未经授权的交易,用户可以证明已经发生了费用,惩罚恶意签署者,并确保他们承担存款损失的合理赔偿。

然而,使用上述比特币交易大小限制,签名者可以通过将存款用于足够大的交易来避免这种损失。

幸运的是,特殊目的公司欺诈证明是tBTC实施的两种欺诈证明机制之一。替代方法ECDSA欺诈证明为SPV欺诈证明提供了一种更强大的替代方法。结果特殊目的公司欺诈的证据已从tBTC的合同中删除。

存款证明

每个用户进入系统后,存款单仍在tBTC中使用。为了在以太网上发布比特币支持的ERC20,用户必须提供SPV成功存款证明。尽管比特币交易规模并未提供滥用存款系统的明确方法,但用户可能会通过有效的BTC交易向存款注入资金,结果却发现交易规模太大,无法在tBTC合约中进行验证。

没有删除此依赖关系的显式路径;必须提供特殊目的公司证书来验证存款。幸运的是,对比特币交易规模的限制并不严重,也不能阻止tBTC的全面运行;单个输入和输出的简单开销完全在以太网的当前块限制之内。只要努力确保用户充分意识到这一限制,比特币交易的规模在为存款提供资金时就不会构成大问题。

tBTC(和其他跨链项目)如何确保其系统正常工作?

你需要理解这两条链的基本原理。当使用以太网时,理解EVM在复制其他链的原语方面的缺点。跨链应用程序连接两个世界,每个世界都有自己的时间系统、规则和微妙的陷阱。

性能基准测试将提供一些可以用来衡量系统的基准。例如,在我们讨论了比特币交易规模的问题后,本文进行了一些基本的基准测试,以对其特殊目的验证提出更准确的限制。

单元测试永远不够。本质上,跨链dapp在系统的两端都有活动部件。为了确保这些部分协同工作,开发人员需要超越简单的单元测试。

集成测试将有助于揭示独立组件之间交互的不一致性,并在接近现实的条件下提供系统模型。

做最坏的打算。高度的复杂性带来了巨大的责任。在出版之前找出所有可能的问题是不现实的。

应急计划:制定快速反应计划可以减少严重问题的影响。在发布之前,可能需要做一些工作来制定应急计划,但这比没有准备好要好得多。

最后,教育你的用户。理解什么可能出错是这一部分;下一步是确保你的用户分享你的理解。

微信二维码
售前客服二维码

文章均源于网络收集编辑侵删

提示:仅接受技术开发咨询!

郑重申明:资讯文章为网络收集整理,官方公告以外的资讯内容与本站无关!
NFT开发,NFT交易所开发,DAPP开发 Keywords: NFT开发 NFT交易所开发 DAPP开发