主页 > imtoken钱包官方下载最新版 > 如何将比特币带入以太坊区块链

如何将比特币带入以太坊区块链

在过去的几个月里,我们一直在讨论如何以最可靠和用户友好的方式将比特币和其他货币引入以太坊区块链。这个想法是创建一个代表比特币的 ERC20 代币,为简洁起见,我们将其称为 BTCT。用户可以从他们现有的比特币创建新的 BTCT,然后将他们的 BTCT 换成比特币。 BTCT 可以启用的应用程序多种多样,从去中心化交易所到支付再到高级金融产品。在 Kyber Network,允许用户在比特币和其他 ERC20 代币之间进行交易是我们的主要优先事项之一,因为这将有助于增加交易所的交易量。这篇文章描述了我们一直在考虑的应对这一挑战的一些可能的解决方案。

信托托管

从技术角度来看,这是最简单,也许也是最简单的解决方案。在这种方法中,将有一个获得许可的托管人作为受信任的第三方。该托管人将提供比特币地址供用户发送他们的比特币,然后他们将相应数量的 BTCT 代币发送回给用户。当用户希望将他们的 BTCT 换成比特币时,他们只需向托管人发送请求,托管人又将比特币直接发送到用户的地址。托管人可能会为每次存款和取款收取一些费用,以资助他们的运营。

虽然托管人确实需要信任,但此解决方案的一大优势是用户始终可以验证托管人在托管钱包货币中是否拥有等量的比特币。如果托管人不诚实行为,用户可以通过完全透明的公共记录对托管人采取法律行动。这与 USDT 的解决方案不同,在 USDT 的解决方案中,用户需要信任审计决定,并且在发生审计时无法采取独立的法律行动。此外,在 USDT 系统中,审计不会是实时的,即需要等待托管人编制报告。

如何拥有比特币

使用智能合约进行无信任托管

上述解决方案虽然可能在实践中运行良好,但需要一个中心化实体作为受信任的第三方。这与去中心化的理念相冲突,甚至可能带来一些风险。例如,托管人可能会违法,留下用户的钱,或者由于监管管理效率低下,各方之间的沟通可能会中断或延迟。在本节中,我们将介绍一种新的解决方案,该解决方案利用智能合约使 BTCT 的发行和赎回完全无需信任。

该解决方案利用了 BTCRelay,这是一种在基于以太坊的智能合约中运行的比特币轻客户端。 BTCRelay 允许以太坊智能合约验证比特币交易,使以太坊在线实体能够检查比特币网络上的支付是否实际发生。

在这个方案中,会有第三方准备初始资金,以方便BTCT的发行和赎回。这笔初始资金将是用户存入比特币之前所需的押金,即如果发生任何不好的事情,用户可以获得这笔押金作为退款。为简单起见,举个例子,Kyber Network 可以充当第三方,为比特币合约中的 ETH 和 ERC20 代币提供保证金。然后,Kyber 将提供比特币地址,用户可以在其中存入比特币以创建 BTCT 代币。确认用户存款后,Kyber 在 BitcoinToken 合约中为用户创建相应数量的 BTCT 代币。如果 Kyber 没有发行新的 BTCT 代币,用户可以将该 merkle 存款证明提交给 BitcoinToken 智能合约,然后与 BTCRelay 通信以验证用户确实将比特币存入了 Kyber。如果检测到违规游戏,BitcoinToken 合约将没收 Kyber 的一部分押金并用它来支付用户。其他用户也可以开始用 BTCT 代币兑换他们的比特币。由于押金的价值总是超过托管人当前持有的比特币数量,因此用户将收到比特币押金。上述场景如下图所示。

如何拥有比特币

让我们考虑一个用户希望用比特币兑换 BTCT 的情况。他们需要做的就是在他们想要接收比特币的比特币地址的 BitcoinToken 合约中调用“销毁函数”。 Kyber 会监听销毁事件,并将相应数量的比特币发送到用户的比特币地址。如果用户没有看到 Kyber 发送的付款,他们可以通过调用 BitcoinToken 智能合约来挑战 Kyber(我们可能会要求用户支付少量押金以防止滥用此功能)。如果 Kyber 无法提供有效的付款证明(如果没有付款,Kyber 将无法提供),Kyber 的押金将被部分没收,这样用户将获得更多的 ETH 和 ERC20 代币,他们以后可以出售他们的比特币。其他用户一旦发现 Kyber 未能支付,可以要求兑换他们的 BTCT。

与受信任的托管方法相比,这种方法提供了几个很好的属性。

不过,不利的一面是,随着采用率的提高,该解决方案需要更多资金。

如何拥有比特币

ETH 和 ERC20 代币的总存款必须至少等于已发行的 BTCT 总量加上额外的安全边际 (10%-20%) 以应对价格波动。例如,对于 BTCT 中的 $X,我们需要 1.2 倍的初始资本。另一个主要缺点是在不受信任的托管人将数十亿美元作为抵押品的情况下潜在的安全风险。此外,它不是完全去中心化的事实可能意味着该实体可以被一个中心化的组织垄断。

为 Evm 兼容令牌移除 BTCRelay

在上述解决方案中,强调了 BTCRelay 需要开发和维护工作,而对于 Ethereum Classic,Litecoin 和 ZCash 其他的发送将非常昂贵。此外,在以太坊上处理比特币交易可能会带来一些复杂性。在本节中,我们提出另一种不涉及 BTCRelay 的解决方案,并更有效地简化流程。为了实现这一点,我们必须需要另一条链来支持基于 EVM 的智能合约。幸运的是 Rootstock 将会开发并且它们与 EVM 兼容,他们已经使用联合侧链将比特币从比特币区块链转移到 Rootstock。该解决方案也适用于其他加密货币,如 Ethereum Classic 和其他基于 Ethereum 的货币。在本节中,以下提及比特币时,除非另有说明,否则我们将讨论比特币。

与之前的解决方案一样,托管人仍需要在以太坊链上持有他们的存款,无论是 ETH 还是其他 ERC20 代币,或两者兼而有之。此外,托管人必须提供小额保证金,例如目前持有的比特币数量的 5% 左右。 Rootstock 上的这笔押金将存入比特币,如果保管人在 Rootstock 链上行为不端,将受到处罚。

如何拥有比特币

在用户将 X 个比特币存入 Rootstock 上的 DepositContract 后,托管人将签署一条消息“X 个比特币存入以太坊 Z 区块的 Y 上”,将其提交给 Rootstock DepositContract。然后如何拥有比特币,托管人将在以太坊上的 BitcoinToken 合约上发行相同数量的 BTCT 代币。除非托管人因未能付款而受到质疑,否则只有托管人有权从 Rootstock 的存款合同中删除比特币。如果托管人没有提供签名消息,用户可以挑战 Rootstock 并从托管人在 Rootstock 上的存款中获得比特币和一些奖金。如果托管人签署消息后未能在以太坊上发行新的BTCT代币如何拥有比特币,用户可以使用签名的消息在以太坊上自行发行BTCT代币,并追究托管人不履行职责的责任。

当用户请求在以太坊上兑换他们的 BTCT 代币时,他们会调用 BitcoinToken 合约上的销毁函数并提供他们的 Rootstock 地址来接收他们的比特币。

托管人将签署一条消息,上面写着“用 X 换比特币,用 Y 换 Rootstock”,并在以太坊上提交比特币合约。然后托管人将 X 个比特币转移到 Rootstock 上的用户地址以完成交换。与发行过程类似,如果托管人未能在以太坊上提交签名消息或在砧木上进行比特币转移,他们可能会受到处罚。

1.好处

如何拥有比特币

2.缺点

结论

考虑到优缺点,我们采用的方法可能是上述所有建议的混合。我们希望为用户创建一个无需信任且完全兼容的平台,以将不同的加密货币转移到以太坊。具体来说,我们计划与拥有数字资产托管许可证的合作伙伴以及其他加密基金合作,为保证金提供资金。我们相信这是我们长期运营的最佳方式,不会牺牲用户的安全性或增加监管机构的难度。

最后但并非最不重要的一点是,我们相信此举不仅有利于 Kyber 网络,也有利于整个生态系统。因此,我们真的希望社区做出贡献并帮助我们构建解决方案并共同提高区块链的采用率。如果您有兴趣参与此计划,请通过 hello@kyber.network 与我们联系。

================================================ ======================

分享一些与以太坊、EOS、比特币等区块链相关的交互式在线编程实践。教程: