这篇文章主要介绍“比特币怎么接入以太坊区块链”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“比特币怎么接入以太坊区块链”文章能帮助大家解决问题。
这是技术性角度最简单,也许是最容易理解的解决方案。在这种方法中,将有一个许可的托管人充当受信任的第三方。该托管人将提供比特币地址供用户发送他们的比特币,然后他们将相应数量的BTCT令牌发回给用户。当用户希望将他们的BTCT兑换成比特币时,他们只需向托管人发送请求,托管人又将比特币直接发送到用户的地址。托管人可能会为每次存取款收取一些费用以资助其运营。
虽然托管人确实需要信任,但此解决方案的一大优势是用户始终可以验证托管人在托管钱包中具有等量的比特币。如果托管人行为不诚实,用户可以利用完全透明的公共记录对托管人采取法律行动。这与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合约中调用他们想要接收比特币的比特币地址的“burn function”。Kyber将监听销毁的事件,并将相应数量的比特币发送到用户的比特币地址。如果用户没有看到Kyber发送的付款,他们可以通过调用BitcoinToken智能合约来挑战Kyber(我们可能需要用户提供一些小额存款以防止滥用此功能)。如果Kyber无法提供付款的有效证明(如果没有付款,Kyber将无法提供),Kyber的存款将被部分没收,这样用户将获得更多的ETH和ERC20代币,以后可以卖掉他们的比特币。其他用户,一旦发现Kyber未能付款,可以要求兑换他们的BTCT。
这种方法在可信托管方法之上提供了几个很好的属性。
1.无信托。用户无需信任Kyber Network或任何其他第三方。如果发生任何事情,他们可以提交证明,而Kyber Network将受到处罚。罚款金额将发给报告犯规的用户,并且用户从保证金中获得超过ETH/ERC20代币中比特币的原始值。请注意,保证金将足够大,所有用户都可以使用奖金领取比特币。
2.成本效益。当事情好的时候,用户不需要提交太多数据,事实上他们不需要在以太坊上做任何事情来发布BTCT。他们只需要向以太坊发送一笔交易即可兑换其BTCT。
3.公开可验证的。一切都是透明的,公开提供给用户。用户可以在决定发布BTCT之前验证锁定的存款。
然而,缺点是随着采用的增长,解决方案需要更多资金。
ETH和ERC20代币的总存款必须至少等于发行的BTCT总额加上额外的安全边际(10%-20%)以解释价格波动。例如,对于BTCT的X美元,我们需要1.2倍的初始资本。另一个主要缺点是,在无信托的托管人将数十亿作为抵押品的情况下,潜在的安全风险。此外,它没有完全去中心化的事实可能意味着该实体可以被一个集中的组织垄断。
在上述解决方案中,强调BTCRelay需要开发和维护工作,并且对于以太坊Classic,Litecoin和ZCash的其他发送而言将非常昂贵。此外,处理以太坊上的比特币交易可能会引入一些复杂因素。在本节中,我们提出了另一种不涉及BTCRelay的解决方案,并且更加有效地简化了流程。为实现这一目标,我们必须要求另一个链支持基于EVM的智能合约。幸运的是,Rootstock将会开发并且它们与EVM兼容,他们已经使用联合侧链将比特币从比特币区块链转移到Rootstock。此解决方案也适用于其他加密货币,如以太坊经典和其他基于以太坊的货币。在本节中,当提到下面的比特币时,除非另有说明,否则我们将讨论的是比特币。
与之前的解决方案一样,托管人仍需要将其保证金存放在以太坊链上,无论是在ETH还是其他ERC20代币中,或两者兼而有之。此外,托管人还必须提供一笔小额的安全保证金,比如当前持有的比特币金额的5%左右。Rootstock上的这笔保证金将存入比特币,如果托管人在Rootstock连锁店行为不当,将对其进行处罚。
在用户将X比特币存入Rootstock上的DepositContract之后,托管人将签署一条消息“X比特币存放在块Z处的以太坊上的Y”,将其提交给Rootstock上的DepositContract。然后,托管人将在以太坊上的BitcoinToken合约上发行相同数量的BTCT代币。除非托管人因未能付款而受到质疑,否则只有托管人才有权将比特币从Rootstock的DepositContract合约中移走。如果托管人未提供签名消息,则用户可以对Rootstock进行质询并获得存入的比特币,并从Rootstock上的托管人的保证金中获得一些奖金。如果保管人在签署消息后未能在以太坊上发行新的BTCT令牌,则用户可以使用已签名的消息自行在以太坊上发出他们的BTCT令牌,并让保管人因未履行其职责而受到处罚。
当用户请求在以太坊上兑换他们的BTCT令牌时,他们会调用BitcoinToken合约上的burn函数,并提供他们的Rootstock地址来接收他们的比特币。
托管人将签署数据说“兑换X比特币以解决Rootstock的Y”并在以太坊上提交比特币合约的消息。托管人然后将X比特币转移到Rootstock上的用户地址以完成兑换。与发行过程类似,如果托管人要么没有在以太坊上提交已签名的消息,要么在砧木上进行比特币转移,则可能会受到处罚。
1.好处
不需要BTCRelay或其他中转环节,这可能是昂贵和繁琐的维护。
由于不必在以太坊上处理比特币交易,因此实施起来要简单得多。
2.缺点
需要与EVM兼容的智能合约(因此需要Rootstock支持比特币)
成一个便签DApp的开发。
java比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Java代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Java工程师不可多得的比特币开发学习课程。
php比特币开发教程,本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。
tendermint区块链开发详解,本课程适合希望使用tendermint进行区块链开发的工程师,课程内容即包括tendermint应用开发模型中的核心概念,例如ABCI接口、默克尔树、多版本状态库等,也包括代币发行等丰富的实操代码,是go语言工程师快速入门区块链开发的最佳选择。
关于“比特币怎么接入以太坊区块链”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。