主页 > imtoken钱包苹果版 > 闪电网络解读丨如何破解链下交易的安全性?

闪电网络解读丨如何破解链下交易的安全性?

imtoken钱包苹果版 2024-01-26 05:11:26

自2008年比特币诞生以来,热度逐渐上升。 每个区块大小为 1MB,每秒可处理 7 笔交易,无法满足激增的需求。 社区一直在积极讨论扩容的解决方案,链下扩容就是其中之一。 . 链下扩容是相对于链上扩容而言的。 链上扩容是指直接发生在区块链上,通过改变区块大小或数据结构来提高交易处理能力的解决方案,例如分片技术(Sharding)、隔离见证(Segregated Witness,简称SegWit)和增加区块容量。 链下扩容是指在主链之外建立外围或二层交易网络,如状态通道(States Channels)、侧链(SideChains)和DAG(Directed Acyclic Graph)。 今天的故事就从状态频道说起。

状态通道(States Channels)的总体思路是将原本在链上结算的交易放到链下,交易方通过状态通道维护中间状态,并将最终结果上传到链上. 如有争议,返回链上仲裁。 链上仲裁的公平性和安全性,从博弈论的角度保证了交易对手不会作恶。

状态通道也分为几个层次,对应链上不同程度的功能替代,总结如下图:

比特币分叉影响比特币总量_比特币开发源码_比特币开发者可以作弊吗

状态通道是一种更通用的支付通道形式,不仅可以用于支付,还可以用于状态更新。 2015 年,Ledger Labs 创始人 Jeff Coleman 首次详细描述了状态通道。 状态通道在比特币上的实现称为闪电网络,用于实现区块链上的小额支付。 以太坊网络上的相关技术称为雷电网络,它允许用户通过状态通道与连接到更大通道网络的另一个实体进行关联,从而可以以极低的成本与区块链网络上的任何人进行关联。 贸易。

在具体技术上,*Hashed-Time Lock Contract(简称HTLC)是实现闪电网络支付路径的关键,而雷电网络则利用条件引入了更通用的“智能合约”以太坊支持智能合约。 条件(Smart Condition)”,实现智能转账(Smart Transfers)。智能条件可以接受任何格式的消息作为参数,并在执行后调整支付通道上的余额。智能转账可以根据条件进行结算被链上智能合约读取,提供比哈希时间锁更多的功能,比如支持预测市场、期货等条件,实现更多的应用,闪电网络中的哈希时间锁是实现的条件之一智能传输。

闪电网络(Lightning network) 闪电网络和雷电网络使用的技术统称为状态通道,属于链下扩展。 从历史上看,闪电网络概念的出现与中本聪发布的比特币一样古老。 经过不断的讨论和优化,2015年的一份题为《比特币闪电网络:可扩展的链下即时支付》(The Bitcoin Lightning Network: Scalable Off-Chain Instant Payments)的白皮书终于成为了规则制定者。 江湖号称仅次于比特币白皮书【闪电网络白皮书】。 本文作者原为智能合约交易平台Mirror的首席技术官——Joseph Poon和Thaddeus Dryja。 之后,两人于同年秋天在旧金山成立了闪电支付实验室Lightning Labs,伊丽莎白·斯塔克(Elizabeth Stark)为创始成员。 第一个比特币主流网络闪电网络 (LN) 于 2018 年 3 月发布,该公司将其描述为“重大里程碑”。

比特币开发源码_比特币开发者可以作弊吗_比特币分叉影响比特币总量

同年,还有另外两家公司开始研究闪电网络:澳大利亚区块链流媒体公司 Blockstream,是一家区块链软件和硬件解决方案的服务提供商。 公司联合创始人兼CEO Adam Back博士是英国密码学学者,hashcash机制的发明者,是中本聪比特币白皮书中引用的人物之一。 联合创始人 Pieter Wuille 是比特币的核心开发者之一,基础设施架构师拉斯蒂·罗素(Rusty Russell)擅长 Linux 内核的网络子系统和文件系统级标准的工作,并起草了比特币的大规模规范闪电网络协议规范。 部分。 另一家,总部位于巴黎的初创公司 Acinq,其 CEO 是皮埃尔-玛丽·帕迪欧(Pierre-Marie Padiou),最初从事硬件钱包业务,受到比特币矿业巨头 Bitfury 的倡议 Flare 的启发,开始了闪电支付项目 Eclair .

从比特币容量来看,如果交易双方频繁交易,最后的结果是不是要过一段时间才能广播到全网? 还是建立两方交易通道,在不信任第三方中介的情况下保证资金安全? 闪电网络白皮书详细阐述了双向支付通道、可恢复序列成熟度合约(Recoverable Sequence Maturity Contract,RSMC)、哈希时间锁HTLC等解决方案,力图一一解决链下支付通道的交易问题。 接下来我们重点解读这三种技术。

1. 双向支付通道交易双方相互熟悉、相互信任,使得多笔交易可以在链下通道完成,最终交易余额在链上广播。 这样,很多小额支付就变成了交易集,它们可能会选择在未来的某个日期发布到链上。 通过延迟交易的公布,最终公布的主链交易数量将大大减少,从而达到扩容的效果。

问题来了,如果双方是第一次交易,如何建立支付通道?

引入“2-of-2双签名地址”,即需要双方签名才能转账的地址。 2-of-2 表示签名总数为 2,一笔交易必须获得 2 个签名才能生效。 对应的,2-of-3多重签名地址是指签名总数为3,一笔交易只有获得2个签名后才能生效。

基本规则:

比特币开发源码_比特币开发者可以作弊吗_比特币分叉影响比特币总量

Alice和Bob有一个2-of-2双签名认证地址,然后各自往这个地址存入资金;

任何一方都可以在此地址单独转回自己的资金;

如果是交易,则需要双方签名才能达成共识。

栗子:Alice和Bob分别转入一定数量的比特币到一个2-of-2双签名地址,例如(A:1 BTC;B:2 BTC),1 BTC属于Alice,2 BTC属于Bob . 这个2-of-2签名地址和这个余额分配状态是一个双向支付通道。 如果 Alice 想在通道中支付给 Bob 0.5 BTC,那么 Alice 和 Bob 将对 2-of-2 签名地址进行签名,并将余额状态调整为(A:0.5 BTC;B:2.5 BTC)。

2. RSMCRSMC 是一种基于“支付通道”技术开发的新型合约,解决了支付通道环境下货币单向流动的问题,使得取消之前的交易成为可能,从而建立了基础工作双向支付方式。

问题是,如果其中一方想要撤销交易怎么办?

比特币开发者可以作弊吗_比特币分叉影响比特币总量_比特币开发源码

引入“FT=Funding Transaction,CT=Commitment Transaction,序号Sequence”。

在资金交易FT中,交易方提供资金,形成初始通道FT。 双方为此交易创建输入和输出,但不签署交易。

承诺交易CT可以代表双方当前的余额。 如果双方只交换一个2-of-2的双签名CT,那么双方肯定能收回FT主链后的资金。

序号序列是合约的某个参数。 比如一个RSMC的序号是1000,如果它的父交易所在10000区块,那么如果这个RSMC写在10999区块,那么这个RSMC就不会执行(相当于自动失效)。 为了保证RSMC能够被执行,我们等到当前区块为11000,然后在比特币网络中广播RSMC。 这样RSMC所在块的高度必须大于11000,才能执行RSMC。

基本规则:

1. 交易双方将约定的资金放入资金交易FT,相互签订合约后广播至主链;

比特币开发者可以作弊吗_比特币开发源码_比特币分叉影响比特币总量

2、在交易金额不超过总额的前提下,双方进行链下交易,交易次数不限;

3、每笔交易都必须签订新的合约,即承诺交易CT,只在支付通道中流通,不在主链区块中广播记录;

4. 当双方最终同意不再进行新的交易并准备提取各自的资金时,其中一方将发起广播请求;

5. 一方发现交易结果有误的,可根据双方交易合同中的前置约定条件,在有效期内提交合同真假验证请求; 虚假交易合约的传播一经确认,欺诈方持有的资金池中的资金将全部支付给对方作为补偿。

6、在签订资金交易FT之前比特币开发者可以作弊吗,先签订一份承诺交易CT,交给对方。 因为CT可以保证投入FT的资金可以赎回,所以双方可以放心的签署FT并进行广播。

比特币开发源码_比特币分叉影响比特币总量_比特币开发者可以作弊吗

比特币开发者可以作弊吗_比特币分叉影响比特币总量_比特币开发源码

栗子:Alice和Bob建立通道FT,相当于一个资金池,存放Alice和Bob的资金。 该 FT 有两个输出,承诺交易 C1a 和 C1b。 这两个合约是互斥的(在比特币网络上只能广播一个),即 Alice 只能广播 C1a比特币开发者可以作弊吗,Bob 只能广播 C1b。 每个CT有两个输出,一个是正常输出,一个是RSMC合约。

Alice 将 C1a 广播到比特币网络,根据 C1a 的普通输出 D1a,Bob 可以立即使用 0.5 个比特币。 RD1a 是 RSMC 合同。 当 1000 个区块后 C1a 被广播到主链时,Alice 可以广播这个 RSMC(RD1a),这样她就可以再使用 0.5 个比特币。

问题来了,如果资金分配状态更新后,一方在主网上广播了错误的CT怎么办?

引入“违约补救交易”,防止一方在新确认的交易完成后广播旧交易。 违约补救交易用于替代旧CT中的RSMC,规定交易对手方可以立即获得全部剩余资金。

比特币分叉影响比特币总量_比特币开发源码_比特币开发者可以作弊吗

栗子:Alice和Bob在生成新交易C2a和C2b时,分别生成违规补偿交易BR1a和BR1b。 违规补偿交易有效地取消了之前 CT 中的 RSMC 合约。 如果Alice向主链广播C1a,C1a正常输出D1a,Bob立即得到0.5个比特币。 C1a 的 RSMC 合约输出 RD1a 被违规补偿交易 BR1a 替代,Bob 获得剩余的 0.5 个比特币。 到目前为止,RD1a 一直无效。 通过设计这样的违规补偿交易,保证双方只能广播最新的承诺交易CT。

按照常理,接下来应该进入第三点hash time lock HTLC,这是一个非常重要的技术点。 但由于知识消化能力有限,产出效率低下,这部分无法在本周完成,只能搁置。 找个时间,根据自己的心情补上。