深入解读闪电网络:支付通道

深入解读闪电网络:支付通道
文章图片
免责声明:本文旨在传递更多市场信息 , 不构成任何投资建议 。 文章仅代表作者观点 , 不代表火星财经官方立场 。
小编:记得关注哦
来源:以太坊爱好者
作者:MagomedAliev
翻译:阿剑
闪电网络是一种去中心化的链下技术方案 , 可支持每秒上万笔交易并发 , 接近于Visa系统能做到的程度(举个例子) 。 而在当前的比特币(世界上最流行的密码学货币)区块链上 , 只能支持每秒处理约7笔事务 , 还要付出高昂的手续费 , 并等待很长时间来确认交易生效 , 这些因素都使得用比特币发送小额交易几乎不可能 。 而闪电网络把这两个问题都解决了 。
引言
闪电网络是一种支付通道系统 , 与常见的多签名钱包没有任何区别 。 所谓开启通道 , 就是参与方创建一个多签名钱包 , 并向该钱包充入资金 。 这个钱包接收到的资金数量就成为这个通道的余额 。 再然后 , 参与方之间的后续交易就全部在区块链以外的环境中发生了 。 任一参与方都能随时关闭这个通道 , 这时候 , 最后一笔链下的交易(决定着该通道各参与方的余额)会被发送到区块链上 , 同时作废掉所有中间的交易 , 因为所有这些交易都使用同样的交易输出 。 结果是 , 我们只需一笔交易来开启通道、一笔交易来关闭通道 , 中间所有的中间交易都是即时收发的 , 无需记录在区块链上(因此无需等待) 。
(译者注:比特币不是账户里面的余额 , 是一张张的支票;所有的支票都是由具体的某笔交易创造的;每一张支票都只用一次就会作废(也即只能用在一笔交易中) 。 交易可以任意分配所用支票的价值来生产任意数量的新支票 。 )
这样的通道所组成的网络使你可以向网络的另一个参与者发送资金 , 即使你们之间并无直接的通道 。 唯一的条件是你们之间要能形成一条“路径” , 即有通道能前后相接地把你和对方联系起来 。 此外 , 得益于特殊的智能合约(HTLC , 哈希时间锁合约) , 你不需要信任网络中的任何人 , 合约会保证安全地交付你支付的资金 。
要理解闪电网络是如何运行的 , 首先要理解的是支付通道的运行以及构成支付通道基础的HTLC 。 这些话题都不小 , 所以我把文章分成了两部分 , 从解释支付通道的工作原理开始 。
支付通道
如上所述 , 连接两个参与者的支付通道实质就是一个普通的多签名钱包 。 第一笔交易决定了一个通道的余额 , 我们称为“充值事务”或者“锚点事务” 。 这笔交易需要广播到网络中并记录到区块链上 , 以表明通道开启 。
做完了这一步之后 , 要更新通道双方的余额时 , 双方就需要手动交换签过名的“承诺事务” 。 这些交易本身都是有效的 , 随时可以发送到比特币网络中 , 但双方都会暂时保存起来 , 不会广播出来 , 除非已准备关闭通道 。 如此一来 , 通道内双方的余额状态 , 一秒内变动几千次也没问题 , 更新的速度仅受限于双方创建、签名和向对方发送承诺事务的速度 。
每次双方交换了一笔新的承诺事务 , 他们也就把通道的前一个状态作废掉;因此 , 只有最新的一笔承诺事务可以“执行” 。 这样设计的目的是防止某一方欺诈对方 , 把一个过时的但对自己有利的状态发送的链上来关闭通道 。 下文我会讲解几种防止这种欺诈的机制 。
最后 , 通道既可以双方一致同意关闭——就是把一笔关闭事务(叫做“结算事务”)发送到比特币网络中——也可以单方决定关闭 , 就是把最后一笔承诺事务发送到网络中 。 这是为了防止某一方离线导致另一方在通道中的余额一直“锁定”的情形 。