# DLC.Link 储备证明 **Published by:** [BitSafe中文](https://paragraph.com/@bitsafe/) **Published on:** 2024-01-30 **URL:** https://paragraph.com/@bitsafe/dlc-link-2 ## Content Prepared By: Jesse Eisenberg - jesse@dlc.link 该项目的目标是使用Chainlink 储备证明作为第三方验证系统,以提高DLC.Link上与BTC 挂钩的ERC20的通证的安全性。 什么是 DLC DLC提供了一种新颖的方式,将比特币锁定在双方之间的托管中,并预先设定一组支付,并使用第三方“oracle”来选择获胜的支付。我们正在实施DLC技术来锁定比特币,并在另一个区块链上使用智能合约来驱动获胜的支付。 了解更多 DLCs, 请看附件A. 了解更多DLC的技术架构: https://docs.dlc.link/architecture/tech-stack dlcBTC ERC20 Token DLC允许将BTC抵押品桥接到ERC20, ERC20是EVM链上最通用和最有用的表示形式。 实时监测储备状态 DLC技术本质上是“谨慎的”,并且许多协议不容易预测,例如在锁定时持有抵押品的多重签名密钥/地址。这可能使得监控储备抵押品比其他大多数其他跨链桥要棘手一些。 DLC 具有以下特征:DLC的签名方式类似于拥有比特币钱包的两方之间的多重签名,以及第三方证明者(类似于原始DLC参数中的oracle)。多重签名的地址在创建之前是不知道的,然后只有参与DLC的双方才知道。在ERC20的情况下,其中一方将始终是发布协议的一方,因此DLC它可以以编程方式报告包含被锁定抵押品的比特币交易的ID。锁定抵押品的比特币交易将始终有两个输出,一个用于锁定资金,一个用于其它结果。提议的解决方案每当针对ERC20铸造协议打开DLC时,锁定比特币的交易id将由链下或链上协议存储。然后,PoR系统将执行以下步骤。它首先会定期读取比特币交易id列表。验证哪些交易有足够的确认(传统上是6个确认)。Scan through each to sum the correct vouts by making sure they are not the change vout (paid back to the same address as the input), and that they are not already spent. 通过确保它们不是更改的(支付到与输入相同的地址),并且它们没有被花费,扫描每个以确定正确的总和。这是锁定抵押品的总量。出于隐私和成本效益的考虑,这些交易id可以存储在链下。然而,为了透明度,我们可能希望将它们存储在链上,要么存储在智能合约上,要么存储在基于区块链的文件系统(如IPFS)上。 此外,为了提高效率,ERC20协议可以在确认通证已被销毁时从列表中删除交易id。 结论 通过实现这一点,我们可以确保ERC20的数量始终与储备抵押品相匹配。如果您有任何问题或想法,请在本文档中直接发表评论。 Appendix A Learn more about DLCs Terms Protocol: Protocol DApp / service provider (e.g. Arcade.xyz, Arkadiko, etc.) User: User that will be using the protocol or service CET: Contract execution transaction DLC 交易流程示范: 初始DLC设置 前提条件:DLC验证者创建DLC公告,稍后将对该公告进行验证。在我们的用例中,我们将甲方称为协议,乙方称为用户。该协议创建DLC Offer哈希并将其发送到用户的钱包,或者让用户将其复制到他们的钱包中。用户的钱包显示DLC的详细信息,如果批准,则接受DLC。它将批准的消息发送回协议。协议签署接受消息,并将其发送回钱包,将交易提交给区块链。用户的钱包将交易提交给区块链。费用由参与者(协议和用户)分摊。Read more details about this process here: https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md What is a DLC? Discreet Log Contracts (DLCs) 谨慎日志合约促进了两方或多方之间对比特币和许多其他区块链进行有条件的复杂支付。通过创建一个谨慎日志合约,双方可以形成一个货币合约,将他们的资金重新分配给对方,而无需向区块链透露任何细节。它在区块链上看起来与普通的多重签名输出没有什么不同,因此没有外部观察者可以从公共账本中了解到它的存在或细节。Dlc不需要“oracle”。在DLC的背景下,我们把oracle称为“认证者”。oracle只是DLC各方将其视为协议真相来源的第三方数据或信息来源。 Further Reading: https://suredbits.com/discreet-log-contracts-part-1-what-is-a-discreet-log-contract/ https://suredbits.com/discreet-log-contracts-part-2-how-they-work-adaptor-version/ https://www.dlc.link/blog/dlc-link-vision DLC Specs Intro to the DLC technical spec: https://github.com/discreetlogcontracts/dlcspecs/blob/master/Introduction.md Communication Protocol between parties in the DLC: https://github.com/discreetlogcontracts/dlcspecs/blob/master/Protocol.md Message specifications: https://github.com/discreetlogcontracts/dlcspecs/blob/master/Messaging.md#the-contract_descriptor-type Transactions: https://github.com/discreetlogcontracts/dlcspecs/blob/master/Transactions.md About the Oracle: https://github.com/discreetlogcontracts/dlcspecs/blob/master/Oracle.md ## Publication Information - [BitSafe中文](https://paragraph.com/@bitsafe/): Publication homepage - [All Posts](https://paragraph.com/@bitsafe/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@bitsafe): Subscribe to updates - [Twitter](https://twitter.com/NonFungible_Amy): Follow on Twitter