比特币迎来闪电网络技术新转折点
2018-05-30 13:19 文章来自:IFTNews 收藏(0) 阅读(1933) 评论(0)

IFTNews区块链技术快讯:比特币闪电网络可能刚刚开始在区块链上发送交易,但其开发商已经在寻求重新架构这项技术。

这是因为,虽然它被宣传为大幅提升比特币容量的一种方式,但网络本身确实需要用户存储大量数据,这使得下载和运行变得困难。因此,Lightning Labs联合创始人LaoluOsuntokun和Blockstream的Christian Decker和Rusty Russell等几家闪电发展商已经发布了一项新的提案,该提案设想了一种替代的“简化”方式,即进行称为eltoo的脱链交易。

新的提案不仅仅是关于用户需要存储的数据量,还关系到保持用户的加密货币安全。

例如,所有这些数据都带来了另一个问题:如果用户不小心播放了旧数据,他们可能会赔钱。因此,这些数据被称为“有毒信息”。

另一方面,Eltoo仅存储最新的脱链交易数据,解决众所周知的“信息不对称”问题 - 即如果您正在运行闪电应用的设备发生问题 - 比如您的智能手机 - 你可能会失去对整个数据历史的访问。

Decker说:“有了eltoo,我们可以减少资金被冲走的风险,我们删除了这些有害信息。”他指出,该提案的名字是一个玩笑 - “L2”的拼音,代表第二层,许多人称之为闪电般的技术,推动交易脱链。

这是Decker自己亲自经历过的问题,因此非常感兴趣。

“这件事实际上发生在我身上,”他说,并补充道:

我的笔记本电脑上有一个旧的闪电节点。我恢复了它,我不知道我没有最新的状态,这个人关闭了连接,因为他们知道这是一个旧的状态,因此他可以偷。顺便说一下,他是这么做的

关于撤销

长期以来,开发人员一直试图为用户提供一种使用比特币进行一系列交易的方式,而不会因为不必要的数据而导致区块链膨胀。

这就是大多数的缩放辩论的内容。

但第一次尝试是在比特币历史开始的时候,当时人们尝试使用所谓的“序列号”来跟踪非链交易是最近的情况。

这个想法很简单——如果Alice有10美元,并向Bob发送1美元的交易,显然她的余额会减少到9美元。然后得到一个序号“1”。如果稍后,她发送Bob $4,她的余额现在是$5,并且这个最近的事务得到一个序列号“2”。

但根据德克尔的说法,这一机制“没有奏效”,因为矿业公司没有任何理由去执行这些规则,并用较新的规则取代旧的交易。

矿工只能播放Alice的余额下降到9美元的一笔交易(尽管她另外一笔交易将其余额降至5美元)。虽然目前还不清楚为什么矿工可能想要或决定不为另一个交易撤销交易,但他们可以决定这样做,因为没有可执行性。

以这种方式,撤销旧交易至关重要,否则鲍勃可能不会得到第二笔交易,爱丽丝可能会用这笔钱逃跑。

这种“缺乏可执行性”的问题直到2015年才得以解决。

到目前为止,闪电网络是最著名的解决方案。今天,撤销旧的状态是用“l2 -惩罚”模型完成的,即一个闪电钱包或节点存储所有这些中间状态,然后,如果某人试图广播一个更早的,现在无效的状态,这个被检测到,欺骗用户将被损失金钱。

Eltoo和L2

但是,三年后,研究人员实际上回到了使用序列号来撤销旧交易的想法。

与比特币的旧代码不同的是,eltoo还添加了一种程序,使每个状态更新都有规定。每个状态更新——例如Alice发送Bob货币——是由两个事务组成的,每个事务都存储并完全取代先前的更新事务。

“只有最后一笔交易才能在区块链上得到确认,”这篇介绍性的博客文章解释道。

该系统的切线优势是它增加了闪电的可伸缩性。在eltoo中,每个闪电节点不需要存储所有的中介状态,相反,它只存储最近的版本和关于事务本身的一些信息,例如它的相应的结算事务,以及从该解决方案中花费的HTLCs。

然而,这项提议中最有益的部分或许是,它不是建立在“赢家通吃”的模式之上。

相反,eltoo和更老的L2惩罚方案可以同时使用。

Eltoo也有非常不同的权衡。“我并不是在暗示它在所有意义上都是更好的,” Decker表示,指出了比特币开发者邮件列表中关于技术增加等待交易时间的争论的一些论点。

尽管如此,总的来说,他对eltoo和它带来的简单性感到非常兴奋,他补充道:

“我们不知道哪一个更好,但我也希望eltoo是更好的选择。”我认为eltoo更容易解释,并在以后扩展。

代码障碍

开发者们不仅还在讨论该提案的优点,还有一件事是站在技术的角度——“sighash_noinput”。

这种期待已久的代码选项需要添加到比特币代码库中,以使加密货币能够支持eltoo(至少是有效的形式)。

要理解为什么,重要的是要知道基本的视视功能是什么。它作为一种标记,指定在将事务数据转移到其他对象时需要签名的事务数据的哪一部分。用户可以从一系列选项中进行选择——例如,默认的flag, sighash_all,表示事务的所有部分都需要签名,这意味着在整个过程中,这意味着在整个过程中都不能更改这些部分。

所提议的“sighash_noinput”函数可能会标记出进入事务的“输入”数据不需要签名。反过来,输入数据可以随时间变化,从事务创建到写入到区块链时。

这正是eltoo需要的,因为概念是在开始和最终事务之间的所有状态都将被删除,这意味着输入将不同于开始和结束。

当被问及他是否认为“sighash_noinput”提案会被合并到比特币代码库中时,德克尔笑着说:“自从SegWit以来,我就不再做这些预测了。”

他指出,种族隔离证人(SegWit)得到了大量比特币最活跃开发者的广泛支持,但最终却引发了社区内长达数年的争斗。去年8月,比特币的代码更改才被添加到比特币中,尽管它是在两年前提出的。

尽管如此,即使是在早期,“sighash_noinput”函数对比特币的代码库来说也是一个相对容易的改变。

此外,他还说,在一段时间内,这一变化将对开发者产生许多积极的影响。由于这些潜在的好处,一些Twitter用户已经开始将代码更改添加到他们的配置文件中,以表达他们的支持,就像Twitter用户在规模讨论中所做的那样(#No2X在那些反对Segwit2x倡议的人中变得流行起来)。

剩下的希望,德克尔总结说:

“每天都有新的用例加入到sighash_noinput前面。”