Standard OTC—了解付款渠道
问题
首先,为什么我们仍然需要在区块链之外进行交易?使用比特币的人们正在寻找安全性,而区块链无疑是实现安全交易的最佳方法。当然,问题在于,区块链非常昂贵且效率低下,因为网络中的每个参与者都存储了整个历史的副本,并且必须限制其使用以保持可持续的网络参与。
可以放在区块链上的有限数量的数据引发竞争,使交易包含在分类账中,从而推高了交易成本。因此,为了保持区块链层的轻巧和安全,我们需要尽可能少地使用它,并找到其他交易方式。
链下支付渠道
支付渠道基于交易替换的思想,可在将未确认交易的状态广播到网络之前对其进行更新。这个概念比大多数人认为的要古老,实际上,第一个比特币发行中实现了类似的功能(但是当时的目标不是提高可扩展性,而是实现一组交易方之间的高频交易)。
通过在广播之前替换交易,无需使用昂贵且缓慢的区块链即可进行大量交易。脱链支付渠道可以分为三类:
单向支付渠道
基于时间的双向支付渠道
基于惩罚的双向支付渠道
单向支付渠道的基本设计如下:
发送0.1 BTC,自己创建并签名了一笔交易,该交易给自己0.9 BTC,向别人提供0.1 BTC并将其发送给别人。
要第二次发送其他0.2 BTC,更新通道的状态,创建另一个事务,该事务向自己发送0.7 BTC,向另一个人发送0.3 BTC。
自己无法向网络广播,并且其中任何交易都包含在区块链中,因为她没有另一个人的要求签名(请记住,资金已锁定在多重签名合同中)。
总是被激励只广播频道的最后一个状态,因为这代表了他收到更多比特币的结果。
为了保护自己免受别人响应迟钝,不合作广播任何频道状态的风险(也阻塞了自己的资金)的风险,在多次签名合同开始时创建了一项限时交易,向自己退还一个BTC。需要时间锁定以确保仅在别人无响应的情况下自己才能使用此事务。
在时间锁定期结束之前,别人将广播通道的最后状态,以避免自己广播时间锁定事务的风险。
基于时间的双向支付渠道
在单向支付渠道中,只有自己可以将钱汇给别人,但不能反过来,在双向渠道中,资金流可以双向流动。
单向支付渠道的安全性基于这样一个事实,即别人没有动机来广播该渠道的旧状态,因为它只会使自己受益(后者缺少别人的签名,无法自己广播旧状态。)。但是,在双向信道中,双方都可能有动机在不同时间广播信道的旧状态,因此需要不同的安全模型。为此,有两种不同的方法:基于时间的安全和基于惩罚的安全。我们将开始分析前者。
一个基于时间的通道通过时,锁定交易,这样通道的最后状态始终最低的时间锁定实现安全,这意味着它是第一个可以在blockchain播出。具有较低时间锁定的每个新事务都会使所有先前的事务无效,从而更新通道的状态。
惩罚性支付渠道
创建没有到期日的渠道的另一种方法是将安全性基于恶意交易对手的惩罚而不是按时。这个想法仍然是将资金锁定在参与该渠道的两方之间的多重签名合同中,但要保证尊重正确的行为,双方都要签署交易,而交易将花费在更复杂的智能合约设计上,以确保交易替换的安全性。这种支付渠道设计就是用于照明网络的实现。
要设置频道,首先自己和另一个人必须生成一个秘密(即随机数)并交换增加一人。双方创建了一笔资金交易,并在2比2的多重签名合同中存入了一些硬币,假设他们各自投入0.5 BTC,但是在将其广播到网络之前,他们都创建了资金交易的后续交易,即所谓的承诺交易。在承诺交易中,向自己发送0.5个BTC,向合约发送0.5个BTC,合约中的硬币可以由另一个人在预定的时间(例如,交易在区块链上进行一周后)之后使用,也可以由自己使用,包括在交易中另一个人产生的秘密。