暴涨之外,BTC 还有哪些值得关注的进展?
作者:AARON VAN WIRDUM
翻译:
Sherrie
编辑:
Miko
比特币的技术社区似乎没有受到2020年的疯狂行情的影响,也基本上没有受到比特币价格剧烈波动(去年12月创下历史新高)的影响,继续向前推进。 比特币的软件和围绕它的许多项目在这一年中逐渐得到了改进,软件得到了优化,漏洞得到了修复,隐私漏洞得到了修补。 这项工作的大部分,尽管非常重要,却无法吸引媒体的关注。
然而,纵观比特币一年来的技术发展,有助于突出比特币正在进行的技术进步中的新里程碑。同样在2020年,持续增长的比特币开发社区引入了一些有用的新功能,几个特别重要的升级和一些特别显著的改进。
随着这动荡的一年接近尾声,以下是比特币在过去12个月里最引人注目的一些技术进展……
PayJoin和coinwap的新隐私工具
在比特币的隐私方面,今年PayJoin和coinwap项目代表了两个有希望的进步。
PayJoin,也被称为Pay to Endpoint (P2EP),是一种让交易接收者通过CoinJoin参与交易的技巧,发送资金给自己,同时也接收真实发送者的实际支付。如果一个进行区块链分析的窥探者假设在一次交易中发送的所有加密货币都属于同一个人——他们通常会这么做——那么他们就错了。 这已经有利于发送方和接收方的隐私,因为偷窥者会混淆(过去的)加密货币所有权。 此外,如果有足够多的人使用PayJoin,那么这种用于区块链分析的重要启发式可能会完全失效,反过来甚至会让那些没有自己进行PayJoin交易的人的隐私受益。
虽然2018年末演示版本的PayJoin工具已经实现在*****游戏Bustabit和加密货币混合软件JoinMarket上实现,Samourai钱包2019年在Cohoots保护伞下发布了自己的更有限的版本(隐私权衡略有不同),PayJoin今年实现了几个流行的比特币的项目。值得注意的是,这包括4月份广泛使用的支付处理软件BTCPay,允许BTCPay用户接受来自兼容钱包的PayJoin交易。专注于隐私的Wasabi钱包是第一个在同月晚些时候提供这种兼容性的钱包,而JoinMarket(9月)、Blue Wallet(10月)和Sparrow钱包(11月)也紧随其后。
与此同时,比特币开发者Chris Belcher开始实现coinwap的实现,这是一种由比特币核心贡献者Gregory Maxwell在2013年首次提出的隐私技术。 coinwap利用原子交换(这也是闪电网络的基础),让用户无需相互信任就可以交换货币。 每位用户最终都会得到无法与自己的交易历史链接的加密货币。
Belcher是比特币隐私领域的世界顶级专家之一,今年5月,他发布了一份关于coinwap协议如何实现的详细大纲,以确保最大限度的隐私。该提议将使coinwap交易与其他交易难以区分,使用分割技术来模糊金额,通过路由支付来挫败窃听参与者,等等。几个月后的6月,人权基金会宣布,其首笔比特币开发赠款将用于Belcher和他为实现该项目所做的努力。
去年12月,Belcher宣布了一个“比特币隐私和可替换性的大日子”:他在比特币的测试网络上完成了首个成功的coinwap交易。
闪电网络与瞭望塔的联系更加紧密
闪电网络(Lightning Network)是比特币的第2层协议,用于更快、更便宜和更私人的支付,在2020年继续全面改善。 随着闪电实现LND、Eclair、C-Lightning和——从7月开始——Electrum推出了许多新的软件版本,以及越来越多构建在协议之上的项目,闪电开发比以往任何时候都更加活跃。在比较值得注意的进展中, “瞭望塔”解决了闪电网络仍存在的一个弱点,从而产生了一个更强大的协议。
闪电网络的权衡之一是,用户需要密切关注他们的支付渠道,以确保支付渠道合作伙伴不会试图通过广播旧的通道状态来骗取更多的资金。如果渠道合作伙伴试图作弊,闪电用户可以介入, 但这需要监控比特币区块链,普通用户可能不会经常这么做。
为了减少作弊被错过的风险, 闪电协议允许将通道监控外包给公正的观察员,称为瞭望塔。 除了2019年底LND推出的第一个瞭望塔软件之外,今年2月,专门的瞭望塔实现Eye of Satoshi发布了alpha版本。不久之后,提议的瞭望塔协议规范进行了更新,而C-Lightning在5月推出了对Eye of Satoshi的支持。7月,《Eye of Satoshi》推出了第1版。
其他著名的闪电在2020年发展包括继续工作锚从一个通道输出,以确保用户可以声称资金单方面即使链上的费用已经上涨超过预期自上次付款通道更新、多路径付款在小块让用户支付闪电,闪电网络本地消息传递应用程序Juggernaut,通道管理工具Faraday,闪电循环测试版,但也有一些新发现的弱点和解决方案。
在Miniscript之后,比特币编程变得更容易
比特币交易中嵌入的代码指定了在下一次交易中使用比特币必须满足哪些条件,这些代码是用一种专门为比特币设计的编程语言编写的,称为脚本。然而,脚本可能很难处理:用程序员的行话来说,脚本很难“推理”。“这意味着,特别是当它变得更复杂时,我们可能很难理解一段脚本实际上允许什么:一笔交易可能无意中包含允许货币在不同的条件下消费的代码。这就是为什么许多比特币软件应用程序,比如钱包,没有充分利用脚本的潜力。
在过去的几年里,(前)Blockstream研究人员Andrew Poelstra、Pieter Wuille和Sanket Kanjalkar设计了一个名为Miniscript的“精简版”脚本。 Miniscript是从“脚本工具箱”中精心挑选的一些“工具”,它们实际上可以实现用脚本完成的任何事情,但它更容易使用,也更容易被程序员验证。 因此,虽然一行miniccript仍然是有效的脚本,但它本质上是通过防止意外的,可能是无意的代码结果来避免人为错误;Miniscript更容易推理。今年11月,Rugged Bytes的研发主管Dmitry Petukhov发布了一份正式的迷你脚本说明书。
为了让比特币交易更容易进行,Wuille还为miniccript设计了一种“策略语言”,这是一种自己的编程语言,可以编译为miniccript,也就是Script。基于Wuille的工作,比特币开发者Nadav Ivgi今年开发了另一种新的编程语言Minsc。Minsc于7月首次宣布,随后在11月进行了重大升级,目前仍在进行中,但将大大简化比特币交易的创建。 这将有助于解锁一系列有前景的功能,充分利用比特币的多功能性,如可互操作的CoinJoin钱包、智能合约解决方案、第2层协议等。
通过DLC,智能合约变得更加智能
每当智能合约依赖于外部数据时,它们都依赖于被称为“oracle”的外部数据源。 例如,如果两个用户想赌一场体育比赛的结果,oracle将不得不使用比赛的结果来解决赌对预测正确的人获胜的问题。
一个非常基本的体育博彩设置可以由一个三分之二的多重签名地址组成,其中玩家和oracle都各持有一个密钥,oracle被告知打赌的细节。比赛结束后,两名玩家可以合作,将资金从多签地址发送给没有oracle密钥的获胜者。但如果输家拒绝合作,oracle可以使用它的第三个密钥与赢家合作,从多团体向他们发送资金。这个系统是有效的,但是有两个主要的缺点。 第一,双方都需要相信oracle不会与对手勾结。第二,oracle需要被告知赌局,并可能在和解过程中扮演积极的角色:这意味着玩家在oracle中没有隐私,而如果有超过几个玩家想要赌局,那么设置就不能很好地扩展。
2017年,麻省理工学院媒体实验室的数字货币项目研究员Thaddeus Dryja提出了一个更好的解决方案:DLC。DLC使用一种聪明的数学技巧,其中oracle发布一个与事件结果相对应的密码学签名。在上面的例子中,如果第一个团队赢了,oracle将发布一个签名,如果另一个团队赢了,oracle将发布一个不同的签名。诀窍: 智能合约的设计目的是让获胜玩家使用发布的签名来申请资金。
在DLC中,oracle对智能合约的参与被最小化到签名的发布;以体育博彩为例,这可以通过现有的新闻服务来实现,并作为其常规广播的一部分。这也意味着oracle不需要被告知赌局的细节,事实上甚至不需要知道是否有赌局。与此同时, 任何数量的人都可以使用签名来解决他们的赌注,而不需要oracle的进一步参与,这大大有利于可扩展性。 虽然oracle理论上仍然可以与某人串通,传播错误的结果,但这种不诚实的行为对任何人来说都是显而易见的,并会损害oracle的声誉。
今年1月,首席执行官Chris Stewart宣布,他的公司Suredbits已经开始与Crypto Garage合作,制定DLC的规范。今年2月,Suredbits的工程师Nadav Kohen跟进了第一个工作代码。到9月,Suredbits和Crypto Garage已经开发出了可以使用的软件:Stewart和比特币开发者Nicolas Dorier参与了比特币的第一个DLC,对美国总统选举的结果下注。Stewart曾把赌注押在拜登身上,他在去年12月宣布了奖金的归属。
持有比特币金库(Vaults)变得更加安全
一长串的交易黑客和其他比特币盗窃事件证明了一个事实,即安全存储私钥仍然是一个挑战,特别是在许多比特币处于危险之中的情况下。
但更安全的存储加密货币的解决方案正在开发中。比特币金库——这个概念可以追溯到2016年——是一种保护比特币安全的智能合约,因此需要几笔确认的交易和一个时间延迟才能真正使用它们。这让潜在的受害者有机会在为时已晚之前恢复金额。
2020年推出了两种类型的金库原型。
Bitcoin Core贡献者Bryan Bishop在4月宣布了第一个金库原型。简而言之,Bishop的设计是基于预签名的交易,将从保险库花费一些加密货币到用户的热钱包的时间锁定延迟,而一个替代的消费选项没有时间锁定;也许是一个新的更安全的保险库。重要的是,用于签名预签名事务的私钥在金库创建时被删除,因此攻击者只能窃取预签名事务本身。
这种设置使得攻击者非常难以获得这些加密货币。即使预先签名的交易被偷了,小偷仅仅可以把加密货币花到热钱包,如果受害者不相信他的热钱包的安全性,他可以使用内嵌的时间延迟将加密货币转移到额外安全的地址。
4月晚些时候,比特币开发者Antoine Poinsot宣布了他与Chainsmiths首席执行官Kevin loec共同设计的另一个Vault演示,名为Revault。Revault在某些方面类似于Bishop的vault,比如它使用预签名交易,但它是专门为多用户设置而设计的,使用multisig地址。 Revault允许预先确定的一部分用户从保险库向热钱包消费加密货币,同样也有延时。 任何保险库参与者都可以使用这个延迟时间将资金返回保险库,如果他们不同意花费,或者他们可以将资金重定向到另一个额外的安全地址,如果他们不相信正在发生的事情。
此外,Revault要求在从保险库撤回时,当时间锁启动时,用户立即从热钱包创建交易,这也需要服务器共同签名。服务器被编程为签署任何交易,但从不冲突的交易,因此,如果攻击者危及保险库和热钱包,他们将不得不尝试并在其他人和时间锁到期之前索赔加密货币。如果热钱包受到威胁,这应该是显而易见的,警告了Revault用户组,并允许他们在时间锁定到期之前重定向资金。
现在可以使用Taproot,因为激活正在考虑之中
自2017年8月Segregated Witness激活以来,Taproot将是第一次比特币协议升级。Taproot最初是由比特币核心贡献者Gregory Maxwell于2018年1月提出的, 它允许用户在普通的比特币交易中“隐藏”智能合约:复杂的多重签名构造可能与简单的支付无法区分。
Taproot的升级还将包括Schnorr签名算法。 许多密码学家认为Schnorr签名方案是该领域中最好的,因为它的数学特性提供了强大的正确性,它不受延展性的影响,而且验证速度相对较快。Schnorr的“线性数学”也将允许一系列新的可能性,如更紧凑类型的多重签名解决方案,漂亮的智能合约设置,当然,还有Taproot本身。
经过2020年的持续开发,Taproot的代码在10月被合并到比特币核心代码库中,并将成为比特币核心0.21.0的一部分,该核心0.21.0将随时发布,目前有候选版本可供选择。然而, Bitcoin Core 0.21.0将不包括Taproot的激活逻辑。这可能会包含在即将发布的比特币核心版本中。
然而,在2020年的大部分时间里,激活逻辑本身就是一个讨论的主题,并考虑了一系列潜在的激活机制。它们中的大多数最初会利用算力协调,最终达到一个期限,在没有算力支持的情况下升级也会激活。但比特币核心贡献者AJ Towns在10月份发布的一项民意调查表明,并非所有比特币核心贡献者都同意应该预先设定截止日期,或者截止日期应该有多远。
但无论最终选择哪种激活机制,似乎越来越有可能通过算力协调来顺利激活Taproot。11月,大型矿池Poolin发起了一项倡议,鼓励其他矿池就Taproot激活发表意见。 到目前为止,对Taproot的响应非常有利,支持超过90%的总算力,并且没有矿池反对建议的升级。