主页 > imtoken在新手机上登录 > 雷电网络详解

雷电网络详解

imtoken在新手机上登录 2023-09-07 05:13:12

雷电网络

必须承认,虽然比特币在区块链技术蓬勃发展的今天显得臃肿老旧,但比特币社区依然为区块链技术贡献了重要思想。 基于闪电网络的思想,以太坊社区也提出了自己的链下微支付通道解决方案:Raiden Network。

Raiden 项目的源代码托管在尚未完成的开发语言 Python 中。 它的实现原理是基于文章“Universal Payment Channels”。 当我们将以太坊作为侧链引入其他加密货币时,很容易开发出依赖以太坊智能合约的各种加密货币的小额支付通道。

比特币交易系统源码_比特币源码详解_比特币详解

雷电项目的思想直接继承自比特币闪电网络,但也得到了发展。 由于以太坊智能合约对消息格式没有特殊字段限制,雷电可以为通道余额快照引入单增序列号,轻松自然地解决了旧版本快照的识别和失效问题。

首先,必须在以太坊上建立一个智能合约比特币源码详解,让智能合约处理下面提到的OpenTransaction和UpdateTransaction等命令。

比特币详解_比特币交易系统源码_比特币源码详解

比特币详解_比特币源码详解_比特币交易系统源码

图 1 雷电:建立交易通道

与闪电网络一样,双方都需要在以太坊区块链上开通通道,并各自锁定以太币。 这个动作可以通过向雷电智能合约发送双方签署并批准的消息来实现。 消息中的关键信息包括:双方的公钥、双方锁定的资产数量、双方的签名。

任何后续的支付动作都可以发生在以太坊区块链之外,相关各方只需要私下传输一系列消息,其中最重要的是UpdateTransaction,其形式如下。

比特币详解_比特币交易系统源码_比特币源码详解

比特币源码详解_比特币交易系统源码_比特币详解

图 2 雷电:更新交易通道

这条消息的内容几乎是闪电网络通道平衡分配方案的翻版,只有几个细微的差别:

比特币源码详解_比特币交易系统源码_比特币详解

一是增加Sequence Number字段和Hold Period字段来标识过时的消息。 如果A在区块链上向合约提交双方签名的UpdateTransaction消息,合约将等待Hold Period时间。 在此期间,如果交易对手 B 可以提交更高 Sequence Number 的 UpdateTransaction 消息,合约将没收 A 在通道中质押的所有资产,并将其转移给 B。如果没有异议,直到 B 等待超时,合约将根据消息内容在区块链上完成转账支付并关闭通道。

二是通过Net Transfer Amount进行隐式余额分配的方式与闪电网络略有不同。 这里的方法是在通道建立时申报的Amount 1中减去Net Transfer Amount,然后加到Amount 2中,与直接申报余额相比,只是形式上的区别。

第三是 Thunderbolt 引入了比 HTLC 更通用的“Smart Condition”。 智能条件表示为可以在区块链上执行的函数(参数)。 它可以接受任何格式的消息作为参数,执行后返回一个介于[0, 1]之间的数字。 将返回值乘以匹配的Condition Transfer Amount,再与Net Transfer Amount相加,完成条件支付引起的余额调整。 闪电网络中所谓的哈希锁现在是Smart Condition的一个特例。 Smart Condition可以提供远比哈希验证更丰富的功能,例如可以根据某类ORACLE提供的道琼斯指数值完成衍生品合约的自动执行。

比特币详解_比特币源码详解_比特币交易系统源码

当发生纠纷时,只需向区块链上的智能合约出示最新版本的UpdateTransaction消息,请求智能合约处理消息中的Smart Condition,合约即可执行。 如果没有争议,以上都不会出现在以太坊区块链上,增强隐私并提高性能。

其他的设计思路,比如通过多跳打通小额支付通道,接收方提交适当的论据作为提款凭证,与闪电网络类似。

Vitalik Buterin 最近提到的 State Channel 技术和这里本质上是一样的。 它有意将区块链作为争议仲裁和执行的最后手段比特币源码详解,通常尽量避免链上信息泄露。