比特币Optech通讯#27:2018年度回顾特刊

2018.12.29
阅读 2749

本周的时事通讯是一个特别的年终版,总结了2018年全年比特币的显著发展。尽管这份时事通讯的篇幅很长,但我们感到遗憾的是它只涵盖了数百个开源项目中的一小部分工作。贡献者。

如果没有这些低级别的贡献,本期简报中描述的高概念想法将只是空话,所以我们向今年为比特币开发做出贡献的所有人致以最诚挚的谢意。

一月

在今年年初之前,数百个Lightning Network(LN)频道在testnet上开放,但是2018年1月,一些企业和用户开始在主网上使用真实比特币的LN支付。

开拓者将他们自己的行为标记为

#reckless,

但这并没有阻止其他实验者在新生支付网络上冒真钱。

本月还出版

 了Gregory Maxwell,Andrew Poelstra,Yannick Seurin和Pieter Wuille 

出版的基于Schnorr的

muSig

交互式多方签名协议。

这提供了与比特币当前multisig相同的安全性,但通常可以减少所需的事务数据量,直到单个看似正常的公钥和签名。

这不仅降低了开销和成本,还通过使基本多重事务看起来与单一事务交易相同来增加隐私。


建筑的理念是muSig,或类似的东西,有可能在比特币成为可能,麦克斯韦进一步描述

主根

 -a强大的优化Merklized替代文字树木

2

MAST

)。

就像muSig允许基本multisig看起来像单sig一样,Taproot甚至允许最复杂的比特币脚本看起来像单个sig如果它的参与者彼此合作(但如果他们没有,他们仍然获得完全的安全性他们选择的剧本)。

这为更大的用户提供了更少的开销,降低了成本和增加隐私。



二月

好像Taproot的潜在利益还不够,2月份Gregory Maxwell描述了一种名为

Graftroot

的构造,它

允许目前被授权花钱的人创造额外的条件,允许花钱 - 而无需创建新的交易。

在任何时候,任何授权的条件都可用于花钱。

例如,如果一个硬币目前可以通过Alice和Bob(2-of-2 multisig)之间的协议花费,他们都可以同意允许任何两个Alice,Bob或他们的律师Charlie(2) -of-3 multisig) - 他们可以在第一次收到硬币之后多年做出这个选择而不创建新的交易。

这可以进一步提高效率和隐私,特别是对于某些离链合同协议。

与此同时,LN协议开发商Olaoluwa Osuntokun和Conner Fromknecht描述了

一种通过LN进行多路径支付

新方法

多路径付款是指通过多个渠道分割的部分付款 - 例如,Alice可以通过她与Bob的频道将部分付款发送给Zed,并通过她与Charlie的频道分开。

作者指出,LN通过对付款的每个部分使用相同的承诺原像(hashlock)为多路径支付提供原生支持,但使用此机制允许第三方检测到他们正在处理同一付款的不同部分。

然后,他们描述了一种更复杂的协议,可以防止这种相关性并可能提供其他好处。

无论使用更简单的方法还是使用更复杂的方法,都可以通过消除用户必须具有足够资金来进行支付的单个频道的约束来显着增强LN的可用性。

例如,在当前协议中,如果Alice有两个频道,每个频道的价格超过100美元,她只能在一次付款中安全地向Zed发送最多100美元。

通过多路径付款,


二月以一点历史平行关闭结束。

早期的比特币贡献者和第一个用比特币购买披萨的人,Laszlo Hanyecz,

使用LN以6.49 mBTC 

购买了

两个比萨饼 - 比BTC条款价格低得多,他

在2010年5月为两个比萨饼

支付

了1000万mBTC 

游行

许多比特币用户都熟悉能够创建与其比特币地址相对应的签名消息。

目前没有使用P2SH或segwit地址执行此操作的标准方法。

3月的讨论最终将变成

BIP322

,这是一个创建通用格式的提议,能够为任何可花费的比特币脚本创建签名证明。

2018年摘要


流行基础设施项目的主要版本

2月发布的

比特币核心0.16

包括钱包中用于接收segwit地址的默认支持,

BIP159

支持允许被修剪的节点表示他们愿意为最近的块提供服务,以及一些性能改进。

3月发布的

LND 0.4-beta

是第一个针对主网支持的LND版本。

它还支持使用比特币核心作为后端,使用Tor进行连接以及许多其他功能。

6月发布的

C-Lightning 0.6

减少了资源需求,提供了内置钱包,并增加了Tor支持。

9月发布的

LND 0.5-beta

包括许多改变,重点是使系统更可靠。

它还放弃了对完整节点后端的要求,以保持事务索引,提高性能并减少磁盘空间需求。

10月发布的

比特币核心0.17

包括可选的部分支出避免,动态创建和加载钱包的能力,以及

BIP174

部分签名比特币交易支持比特币程序之间的通信。

四月

LN协议开发商Christian Decker,Rusty Russell和Olaoluwa Osuntokun宣布推出

Eltoo

,这是LN的替代执行机制。

当前机制(

LN惩罚

)要求先前的offchain余额更新不安全,以便用户不要尝试将它们放在链上。

Eltoo机制允许先前余额更新的链接花费以便稍后在有限时间窗口内平衡更新。

在正常操作中,各方通常只是简单地在链上发布最终的渠道余额,但即使一方要发布旧余额,他们的渠道对手也可以简单地发布第二笔交易,将其更正为最终余额。

除了他们支付的交易费之外,任何一方都不会损失任何费用

Eltoo的优势在于用户软件不需要管理使早期平衡更新不安全的数据。

这简化了备份并降低了与数据丢失相关的风险 - 但最重要的是,它使得在单个onchain事务中许多用户之间打开支付渠道变得更加容易和计算效率。

这为其他提案奠定了基础,例如 

渠道工厂

,可以使LN通道的链路运行效率提高10倍或更高。

Eltoo需要一个软叉来添加一个新的可选签名哈希, 

BIP118

 SIGHASH_NOINPUT_UNSAFE。

4

 这将允许授权UTXO花费的签名表明签名不仅适用于该UTXO,而且适用于可能由同一私钥签名花费的任何UTXO。

此外,Eltoo的发布机制

可能不安全,

因为当前节点中继策略允许

事务固定

尽管如此,协议开发人员似乎对该提议持乐观态度,许多人希望无输入功能可以成为未来可能的Schnorr和Taproot软叉提案的一部分。

可以

一个

草案BIP

为蒲公英协议发布五月份的Bitcoin-dev邮件列表。

蒲公英可以私下中继交易,以便无法可靠地确定消费者的IP地址。

即使不使用像Tor这样的方法也可以使用,蒲公英可以与Tor结合使用,进一步降低隐私泄露的风险。

蒲公英本身只能完全受益于中继完整节点的用户(不是P2P轻量级客户端

5

),它需要与某种形式的加密相结合,以防止ISP识别消费者。

然而,蒲公英部分依赖于中继节点假装他们从未见过他们以前帮助中继的交易。

这使得节点容易受到拒绝服务攻击,这些攻击可能浪费节点的带宽和内存问题,开发人员

在采用此协议之前

仍在 

解决

这些问题。

2018年摘要


值得注意的技术会议和其他活动


六月

今年6月,Matt Corallo公开宣布了他已经开展了一段时间的项目:从采矿池服务器到个体矿工以及实际工作的ASIC的新协议。

该协议

命名为

BetterHash

,将池支出与交易选择分开。

为什么这很重要的说明出现在今年晚些时候,当时几个传统的采矿池

威胁

要将他们的比特币哈希值重定向到使用山寨币 - 这是使用BetterHash的矿工可以自动抵制的东西。

Corallo为BetterHash提供了

BIP草案

工作实施

,其中包括与主要的Stratum挖掘通信协议的向后兼容性。

与此同时,

一些比特币协议开发人员早就知道

漏洞

在不知不觉中被公开披露。 

CVE-2017-12842

可以通过特别制作在块中得到确认的真正64字节事务,为不存在的事务创建SPV证明。

许多依赖于SPV样张的轻型钱包即使在今天仍然容易受到攻击,但是这次攻击的估计成本比Nakamoto在2009年

比特币论文

第8节中描述的对SPV信任钱包的原始攻击更加昂贵。

因此,轻量级客户端似乎没有以前那么安全。

对于SPV证明与完整节点一起使用的其他情况,例如与联合侧链一起使用时,比特币核心修改其RPC以执行其他检查或提供完全缓解漏洞的其他信息(请参阅PR 

#13451

和 

#13452

)。

有趣的是,

Lightning K0ala 

satoshis.place

网站作为一个使用LN花费真正的比特币的有趣场所突然变得非常受欢迎。

数以百计的用户为每个像素支付一个satoshi,以便在共享画布上绘制他们想要的任何内容,从而提供了一个非常有效的现场演示,说明了LN支付的速度和便利性。

七月

经过一年多的

提前通知

,7月开始

发布

以前用于签署通过比特币P2P网络传播的警报消息的私钥。

警报消息不仅仅警告用户有关问题,而且在软件的一些旧版本中,使具有警报密钥的人能够有效地停止比特币网络上的所有商业 - 关于分散网络的电力集中。

可以使用警报密钥执行的针对旧节点的多个拒绝服务漏洞的详细信息与密钥同时发布。

正面新闻中,Pieter Wuille发布了

一份BIP草案,

 定义了一个基于Schnorr的签名方案,其目标是允许每个人讨论 - 并且希望同意如何将比特币添加Schnorr的方面起作用,而其他可能的软叉的细节是还在努力。

建议的格式将与现有的比特币私钥和公钥完全兼容,因此HD钱包不需要生成新的恢复种子。

签名将大约小10%,稍微增加链的容量。

签名也可以批量验证,比单独验证的速度快2倍,即使并行也是如此,主要是加快节点追赶的块验证速度。

签名方案与1月(或类似协议)中描述的muSig协议兼容,因此包含其提高效率和隐私的好处。

使用Schnorr还简化了Taproot,Graftroot等技术的实施,LN的更多私人支付渠道,跨链的更多私有原子交换,同一链上的更多私有原子交换(提供改进的coinjoin),以及其他提高效率的进步,隐私或两者兼而有之。

同时,隐私圆桌会议的参与者描述了一种名为Pay-to-EndPoint(

P2EP

的方法,该方法

通过将有限形式的coinjoin应用于交互式支付,可以显着提高钱包对区块链分析的抵抗力。

简化形式

的建议也已经被描述。

该协议通过让事务的接收者将他们现有的一些比特币混合到事务中来工作,防止外部观察者能够自动地假设交易的所有输入来自同一个人。

使用此技术的人越多,输入关联假设变得越不可靠 - 改善所有比特币用户的隐私,而不仅仅是使用P2EP的人。

爱丽丝和鲍勃知道什么

网络看到了什么

目前的规范

输入:


  


八月

8月,随着

比特币核心

公关

的开放

以及

修订后的BIP151

的出版,

为比特币的网络协议带来加密的长期努力获得了新的发展

使用Tor可以实现(并推荐)通信加密,这可以提供其他好处 - 但默认情况下启用加密可以帮助保护大量用户免受其ISP的窃听。

另外,Pieter Wuille 

自2月以来

一直在

根据他的协议Gregory Maxwell和其他人一直在开发允许在加密之上进行可选身份验证的协议来

编写草案文档

BIP150

类似 

,这样可以更轻松地跨Internet安全地设置白名单节点或绑定到受信任节点的轻量级钱包。

值得注意的是,目前的想法是在不向第三方透露身份的情况下启用身份验证,以便匿名网络(例如Tor)上的节点或简单地更改IP地址的节点无法跟踪其网络身份。

尽管Wuille在他最初提交的文件中发现了缺陷,但随着对协议开发的研究的进行,它已经得到了更新。

2018年总结


比特币Optech

在5月份

启动

Optech

之后

,我们已经签约了15家公司作为成员,举办了两次

研讨会

,制作了28份每周

通讯

,构建了一个

仪表板

,并在一本关于可单独部署的缩放技术的书上取得了可靠的开端。

要了解我们在2018年取得的成就以及我们计划在2019年实现的目标,请参阅我们的简短

年度报告

九月

9月份的主要消息是

在未修补的比特币核心版本0.14.0至0.16.2中

发现,

披露

,修复和分析

CVE-2018-17144

重复输入漏洞。

该漏洞允许矿工创建一个不止一次花费相同比特币的块,从而允许意外膨胀比特币货币量。

这将在testnet上暂时被利用(暂时),证明了漏洞,但没有将真正的比特币置于危险之中。

没有证据表明有人试图对比特币主网进行攻击。

使用比特币核心0.16.3或更高版本的发布版本的任何人都不再有风险。

这些问题最终只能通过增加代码更改所获得的审查和自动化测试的数量来避免 - 为此,比特币需要更多的审阅者,更多的测试编写者以及更多致力于雇用或赞助此类贡献者的组织。

十月

10月初

举行

的第五届

Scaling比特币会议

既介绍了比特币未来的新思路,又改进了现有的创意。

在相关活动中,

立即实际的会谈

 重点关注交换安全,钱包安全以及区块链重组和分叉的安全处理。

比特币核心开发人员还 

召开了会议

,让每个开发人员都有机会与其他开发人员讨论他们当前的计划。

另外,LN协议开发人员Rusty Russell提出了一种

拼接

方法 

,允许用户在不停止该频道付款的情况下从频道添加或减少资金。

这尤其有助于钱包向用户隐藏管理余额的技术细节。

例如,Alice的钱包可以使用LN通过该支付渠道或使用来自该支付渠道的拼接(退出)链接从同一支付渠道 - offchain自动支付Bob offchain或onchain。

2018年摘要


新的开源基础架构解决方案

7月发布的

选民

提供了一种用Rust编程语言编写的

Electrum

风格的事务查找服务器的高效重新实现。

资源需求明显低于替代品。

电子式服务器为许多钱包和一些其他服务提供后端。

Square于10月发布的

Subzero

提供了一套工具和文档,可与硬件安全模块(HSM)一起用于密钥管理。

它旨在帮助交易所和其他比特币托管人安全地存储他们的比特币。

12月由

Blockstream

发布的Esplora为块浏览器提供了前端和后端代码。

部分基于Electrs,它支持mainnet,testnet和Liquid侧链。

十一月

LN协议开发人员于11月召开会议,决定对即将出台的Lightning Network Protocol Specification 1.1采用哪些变更。 

接受的变更

主要关注可用性改进。

两个变化,多路径支付(上面描述的2月)和拼接(10月),可以使钱包几乎完全隐藏用户的渠道平衡管理的复杂性。

例如,只需点击一下(理想情况下),Alice就可以通过她的渠道的任何组合向Bob支付几乎全部钱包余额,无论她是向他支付离线还是在线。

其他可接受的变化包括增加最大渠道容量,可以帮助企业改善其LN用户体验的双资金渠道,以及可以帮助节点保持隐藏的隐藏目的地,即使在为任意不信任的消费者路由付款时也是如此。

这个主题和许多其他主题

在Lightning-Dev邮件列表中这个最繁忙的月份

进行

了讨论

其中一项理想的变化需要与比特币核心的中继政策不一致。

LN开发人员希望在使用频道时,通过离线支付承诺支付最低数量的在线费用。

当频道关闭时,他们希望使用费用冲销将费用设置为适合当前网络条件的金额。

一些比特币核心代码用于防止拒绝服务攻击使得这种情况变得困难,但令人遗憾的是,在对抗情况下,费用提升不可靠,但协议开发人员Matt Corallo 

提出

了一条新规则,可以安全地允许在两个情况下发生费用冲突。派对LN付款。

十二月

Pieter Wuille,Gregory Maxwell和Gleb Naumenko研究了如何减少用于中继比特币交易的数据量。

他们的初始结果是

libminisketch

,这

一个允许一个用户拥有一组元素(例如{1,2,3})的库,可以有效地将缺失的元素发送给另一个只拥有该集合部分的用户(例如{1,3}) 。

不需要对比特币共识进行任何更改 - 这只是传输相同信息的不同方式。

如果实现了中继,它可以将整体节点带宽(对于典型情况)减少

40%到80%

它还随着连接数量的增加而保持低带宽,可能允许节点与对等体建立更多连接,以提高P2P中继网络的健壮性。

最后,随着2018年即将结束,开发人员继续讨论如何将Schnorr签名,Taproot MAST,SIGHASH_NOINPUT_UNSAFE和其他更改整合到一个具体的软叉提案中。

协议开发人员Anthony Towns简明地

总结

了提案中可能包含的内容,如果它今天发布的话。

2018年摘要


使用减费技术

2018年压缩的pubkey,segwit,支付批处理和选择使用RBF的情节

我们调查了各种

降低交易费用

技术,

 通过查看已确认的交易可以轻松跟踪其使用情况。

压缩的pubkeys

每次使用可节省32个字节,

自2012年以来

已被广泛使用 

使用压缩驴的投入数量从1月份的约96%上升至12月份的98%。

Segwit花费

将证人大小对费用的影响降低多达75%,具体取决于segwit的使用方式(见下图)。

使用segwit的投入数量从1月份的约10%上升至12月份的38%。

批量支付

分散了在更多输出上投入一组输入或一组输入的规模和费用开销,这使得它们成为交易所等高频消费者

节省高达80%费用的好方法

花在三个或更多产出上的交易数量全年徘徊在11%左右。

注意:此启发式算法还会计算coinjoin事务和其他非严格支付批处理的技术。

选择加入RBF

(按费用替换)可以实现有效的费用提升,因此消费者可以通过支付低费用开始,然后再提高出价。

信号RBF的交易从1月份的约4%上升至12月份的6%。

包装和原生segwit在2018年使用的情节

有两类segwit花费:

嵌套的

 segwit将扩展机制置于向后兼容的P2SH脚本中,使其与几乎所有软件兼容,但不允许它实现其全部效率。

使用嵌套segwit的输入数量从1月的约10%上升到12月的33%。

Native

 segwit效率更高,但只与支持发送到segwit地址的钱包兼容。

本地segwit输入的数量从1月的几乎0%上升到12月的约5%。

在2018年,每块的UTXO设置变化图

我们调查的最终费用减免技术是对未确认交易输出(UTXO)集的大小的每个块的变化。

减少表明

比特币

合并

成更大的硬币,以后可以更有效地使用。

总而言之,今年UTXO的设置规模减少了约1200万个。

块大小的绘图占最大允许块大小的百分比

总的来说,今年使用的平均块空间很少接近协议允许的最大值,但它似乎确实在12月初达到最大值。

如果这种趋势在2019年再次出现并且块状物再次变满 - 与2017年相同 - 费用可能会上升,实施减费技术的钱包和企业可能能够为其用户提供比没有费用的竞争对手低得多的成本优化。

所有上述图的数据包括从每个块内收集的值,使用超过1,000个块的简单移动平均值进行平滑。

从分析中排除空块(仅具有生成事务的那些块)。

大多数上述统计数据可以从

Optech仪表板

获得,该

仪表板

在每个块之后更新。

注意:在2019年1月1日之后,我们将更新本文中的图表以反映2018年的所有情况,此时将删除该句子。

结论

我们有时会听到有人要求制定未来比特币开发的路线图,但回顾2018年的发展情况,可以清楚地看出这样一份文件是多么无用。

上面描述的许多发展都是我们怀疑的,即使是一年前最先进的协议开发人员也可以预测的。

因此,我们不确切知道2019年为比特币发展做了什么 - 但我们期待着找到答案。

Optech通讯将于1月8日恢复其定期的周二出版时间表。

您可以

通过电子邮件订阅

或关注我们的

RSS源

脚注

Schnorr签名提议可能不会使用与当前脚本相同的操作码,但使用类似muSig的单一sig,multisig,以及使用类似Taproot的协作MAST都可以使用相同的格式。 

↩ 

 

↩ 

2

也称为

Merklized抽象语法树,

因为Russell O'Connor的原始想法将merkle树的加密承诺结构与抽象语法树的编程语言分析技术相结合,提供了一种紧凑地提交到复杂脚本的方法,该脚本的元素和结果来自不同分支可以合并。

稍后对该想法的简化已经消除了这种组合的潜力,因此最近的提议与抽象语法树不同,导致O'Connor和其他人不鼓励使用原始术语来表达新想法。

然而

,至少从2013年开始

缩写词“MAST”被用来指代基本技术 

,因此我们选择采用Anthony Towns 

提出的

 backronym,

Merklized Alternative Script Trees

。 

此示例不对应于任何特定的MAST提议,而是提供MAST工作所需的最小数据的简单视图。

对于实际的建议,请参阅BIP的

114

, 

116

117

。 

BIP118

 SIGHASH_NOINPUT_UNSAFE收到不安全的称谓,因为天真地使用它可能会导致资金损失。

例如,Alice收到1个BTC到她的一个地址。

然后,当她将这些资金用于Bob时,她使用无输入。

之后,Alice再次收到另一个BTC到同一地址。

这允许重复使用先前交易的签名来将Alice的新1 BTC发送给Bob。

BIP118的共同作者Christian Decker 

同意

 将操作码标记为

不安全,

以鼓励开发人员在使用旗帜之前了解这一安全问题。

精心设计的程序可以安全地使用无输入,方法是小心它的标志以及它向用户接收付款所暴露的地址。 

使用比特币P2P网络的轻量级客户端不会为其他用户中继交易 - 他们只发送自己的交易。

这意味着从P2P lite客户端发送的任何事务都可以与客户端的网络身份(例如IP地址)相关联。

蒲公英只是一种路由协议,因此无法消除这种隐私泄露。

相反,P2P lite客户端应始终使用匿名网络(如Tor)发送事务(并且应为每个支出事务使用不同的丢弃网络标识)。 

来源:https://bitcoinops.org/en/newsletters/2018/12/28/​​​

SaharaAnt

关注92粉丝2765

简介:我从比特币和区块链学到的 你的比特币信仰充值站

这是一个专为移动设备优化的页面(即为了让你能够在搜索引擎的搜索结果里秒开这个页面),如果你希望查看本文章的更多内容,你可以继续打开完整版本。

https://media.weibo.cn/article?id=2309404322460878127188