比特币的技术社区似乎在2020年的疯狂中似乎并未受到干扰,并且在很大程度上并未因比特币的疯狂价格波动而疯狂,价格波动最终在12月创下了历史新高。随着软件的优化,漏洞修复和隐私漏洞修补,比特币的软件及其周围的许多项目在这一年中逐渐得到改善。尽管这项工作至关重要,但大部分工作并没有引起头条新闻.
然而,对比特币一年来的技术发展的鸟瞰图有助于凸显比特币持续的技术进步中的新里程碑。同样在2020年,持续增长的比特币开发社区引入了许多有用的新功能,一些特别重要的升级以及一些特别值得注意的改进.
在今年动荡的一年即将结束之际,这些是过去12个月中比特币最引人注目的技术发展中的一些……
带有PayJoin和CoinSwap的新隐私工具
在比特币的隐私方面,今年的PayJoin和CoinSwap项目代表了两个有希望的进步.
PayJoin,也称为“向终端付款”(P2EP),是一种技巧,它使交易的接收者可以通过CoinJoin参与交易,从而基本向自己发送资金,同时还可以接收来自真实发件人的实际付款。如果一个窥探者在进行区块链分析时假设交易中发送的所有硬币都属于同一个人-通常 将 -他们会错的。这已经有利于发送者和接收者的隐私,因为侦听会混淆(过去)它们之间的硬币所有权。此外,如果有足够多的人使用PayJoin,那么这种对区块链分析的重要启发就完全没有用了,反过来甚至使那些自己不进行PayJoin交易的人的隐私也受益。.
尽管PayJoin工具的演示版本已经在2018年末实现了在线赌博游戏Bustabit和硬币混合软件JoinMarket以及2019年Samourai Wallet的实现 已发布 PayJoin是Cohoots保护伞下自己的(更有限的)版本(隐私权衡略有不同),今年已在多个受欢迎的比特币项目中实施。这尤其包括广泛使用的付款处理软件BTCPay 四月, 允许BTCPay用户接受兼容钱包中的PayJoin交易。注重隐私的Wasabi钱包是第一个提供这种兼容性的钱包 同月下旬, 而JoinMarket(九月),蓝色钱包(十月)和麻雀钱包(十一月)在今年晚些时候.
同时,比特币开发商Chris Belcher着手实现CoinSwap(一种隐私技术)的实现 首先提出 在2013年由比特币核心贡献者Gregory Maxwell撰写。 CoinSwap充分利用了Atomic Swaps(原子交换)(这也是Lightning Network的基础),使用户无需彼此信任就可以交换硬币。每个用户最终都会获得无法链接到他们自己的交易记录的硬币.
贝尔彻(Belcher)是全球比特币隐私方面最重要的专家之一, 可能 发布了有关如何实现CoinSwap协议以确保最大程度的隐私的详细概述。该提案将使CoinSwap交易与其他交易无法区分,使用拆分技术来掩盖金额,通过路由支付来挫败窥探参与者。几个月后,6月,人权基金会宣布,其首个比特币开发补助金将拨给Belcher及其为实现该项目所做的努力.
在一年中的大部分时间里,贝尔彻(Belcher)都在执行方面的工作 宣布 “比特币隐私和可替代性的重要一天”:他在比特币测试网络(testnet)上进行了有史以来首次成功的CoinSwap交易.
Watch望塔(及更多)使闪电网络变得更加强大
闪电网络是比特币的第2层协议,可实现更快,更便宜和更多的私人支付,该网络在2020年继续得到全面改善。 七月 — Electrum推出了许多新软件版本,并且在协议之上构建了越来越多的项目,Lightning开发比以往任何时候都更加活跃。在更显着的发展中,Watch望塔解决了闪电网络尚存的弱点之一,从而产生了更强大的协议.
闪电网络的一项权衡取舍是,用户需要密切注意其支付渠道,以确保支付渠道合作伙伴不会通过广播旧的渠道国家要求获得的资金超过应归因于他们的渠道来作弊。如果渠道合作伙伴试图作弊,闪电用户可以介入,但这确实需要监视比特币区块链,而临时用户可能不会经常这样做.
为了降低错过作弊企图的风险,闪电协议允许将频道监视工作外包给公正的观察员,即Watch望塔。在2019年底之前添加到LND推出的第一个Watchtower软件中, 二月 今年的第一天,专门发布了守望台实施《中目之眼》的Alpha版本。不久之后,建议 望塔协议规范 进行了更新,而C-Lightning在2007年推出了对Satoshi Eye的支持 可能. 紧随其后的是《聪之眼》的第1版 七月.
2020年闪电的其他显着发展包括 锚输出 确保即使上次付款渠道更新以来链上费用已超过预期,用户也可以单方面从渠道索取资金, 多路径支付 允许用户以较小的块数进行Lightning付款,Lightning Network本地消息传递应用程序 剑圣, 渠道管理工具 法拉第, Lightning Loop beta版,还有一些新发现的弱点以及(建议的)解决方案,还有更多.
在Miniscript之后,Minsc使比特币编程变得更加容易
专门用于比特币的编程语言(称为脚本)编写了嵌入在比特币交易中的代码,该代码指定了在下一次交易中花费硬币必须满足的条件。但是,使用脚本可能会很棘手:在程序员的行话中,很难“理解”脚本。这意味着,尤其是当它变得更加复杂时,可能很难理解一段脚本实际上允许什么:交易可能无意中包含了允许硬币在与最初预期不同的条件下使用的代码。这就是为什么许多比特币软件应用程序(例如钱包)不充分利用Script的全部潜力的原因之一.
在过去的几年中,(前)Blockstream研究人员Andrew Poelstra,Pieter Wuille和Sanket Kanjalkar设计了一个“精简版”的脚本,称为Miniscript。 Miniscript是从“脚本工具包”中选择的“工具”中的一种,这些工具经过精心选择,几乎可以使用Script进行任何操作,但程序员更易于使用和验证。因此,尽管Miniscript行仍然是有效的Script行,但它通过防止代码的意外(可能是意外的)结果而从本质上避免了人为错误; Miniscript更容易推理。在 十一月 今年,Rugged Bytes研究与开发主管Dmitry Petukhov发布了Miniscript的正式规范.
为了使创建比特币交易变得更加容易,Wuille还为Miniscript设计了一种“策略语言”,Miniscript是一种自己的编程语言,可以编译(转换)成Miniscript,从而成为Script。比特币开发人员Nadav Ivgi在Wuille的工作的基础上,今年开发了另一种新的编程语言,称为 明斯克. 首次宣布于 七月, 然后进行了重大升级 十一月, Minsc仍在进行中,但将大大简化比特币交易的创建过程。这可以帮助解锁一系列有前途的功能,这些功能可以充分利用比特币的多功能性,例如可互操作的CoinJoin钱包,智能合约解决方案,第2层协议等.
DLC使智能合约变得更加智能
每当智能合约依赖于外部数据(即不存在于区块链中的数据)时,它们都依赖于外部数据源(称为“ oracle”)。例如,如果两个用户想对一场体育比赛的结果进行投注,那么甲骨文将不得不使用比赛的结果来结算该投注,以支持做出正确预测的人(至少在发生争执的情况下).
一个非常基本的体育博彩设置可以由三分之二的多重签名(multisig)地址组成,其中选手和甲骨文都各自持有一个键,并且甲骨文被告知下注的详细信息。比赛结束后,两名选手可以合作,在没有甲骨文钥匙的情况下将资金从多重签名发送到获胜者。但是,如果失败者拒绝合作,则甲骨文可以使用其第三把钥匙与获胜者合作,以从多重签名向他们发送资金。该系统有效,但是有两个主要缺点。第一,两个玩家都需要相信神谕,不要与对手勾结。第二,需要通知甲骨文赌注,并可能在和解过程中发挥积极作用:这意味着玩家没有甲骨文的隐私,而如果有多个玩家想要进行扩容,设置将无法很好地进行扩展。赌注.
更好的解决方案是2017年 建议的 麻省理工学院媒体实验室的数字货币计划研究员Thaddeus Dryja:谨慎的日志合同(DLC)。 DLC使用一种巧妙的数学技巧,其中oracle会发布与事件结果相对应的加密签名。在上面的示例中,如果第一支球队获胜,甲骨文将发布一个签名,如果另一支球队获胜,甲骨文将发布一个不同的签名。诀窍:智能合约旨在让获胜玩家使用已发布的签名索取资金.
在DLC中,将Oracle对智能合约的参与最小化为发布签名。例如,在体育博彩示例中,这可以通过现有的新闻服务(作为其常规广播的一部分)来完成。这也意味着,不需要通知甲骨文有关赌注的详细信息,实际上甚至不需要知道有任何赌注。同时,任何数量的人都可以使用签名来结算赌注,而无需Oracle的进一步参与,从而极大地提高了可伸缩性。尽管理论上甲骨文仍然可以与某人串通并广播错误的结果,但这种不诚实的行为对任何人来说都是显而易见的,并损害了甲骨文未来的声誉。.
在 一月 今年,首席执行官克里斯·斯图尔特(Chris Stewart)宣布,他的公司Suredbits与Crypto Garage合作,已着手开发 DLC规范. 在 二月, Suredbits工程师Nadav Kohen跟进了第一个工作代码。然后 九月, Suredbits和Crypto Garage已开发出可以使用的软件:Stewart和比特币开发人员Nicolas Dorier参与了比特币有史以来的第一个DLC,以押注美国总统大选的结果。投注拜登的斯图尔特(Stewart)在 十二月.
持有变得越来越安全与比特币保管库
一长串的交换黑客和其他比特币抢劫者证明了这样一个事实,即安全存储私钥仍然是一个挑战,特别是在许多硬币处于危险之中的情况下.
但是正在开发更安全的硬币存储解决方案。比特币保险库-这个概念可以追溯到 2016年 —是一种安全的智能合约,用于保护硬币,因此需要花费几笔已确认的交易并需要一定的时间才能真正花费它们。这使潜在的受害者有机会在太迟之前恢复抢劫.
2020年,发布了两种类型的保险库原型.
比特币核心贡献者布莱恩·毕晓普(Bryan Bishop)在 四月. 简而言之,Bishop的设计基于预先签名(但尚未广播)的交易,该交易将(某些)硬币从保险库中花费(某些)到用户的常规(“热”)钱包中,并具有时间锁定延迟,而没有时间锁的替代支出选项可以将硬币重定向到替代地址;也许是一个新的甚至更安全的金库。重要的是,在创建文件库时,会删除用于签名预签名交易的私钥,因此攻击者只能窃取预签名交易本身.
这种设置使攻击者很难索要硬币。即使预签名交易被盗,小偷也只能将硬币花在热钱包上,并且如果受害者不信任他的热钱包的安全性,他可以使用预先设定的延时将硬币移动到改为使用额外的安全地址。 (为防止小偷通过简单地破坏热钱包并耐心等待金库用户将硬币寄到那里,来窃取硬币,Bishop的设计只允许用户当时从小库中取出一小部分。)
稍晚一点 四月, 比特币开发商Antoine Poinsot宣布了他与Chainsmiths首席执行官Kevin Loaec设计的另一个Vault演示,称为Revault。 Revault在某些方面类似于Bishop的保管库,例如对预签名交易的使用,但是专门为使用多重签名地址的多用户设置而设计。 Revault允许一组预定的用户子集将金币从金库中花费到热钱包上,也有一定时间延迟。如果任何保管库参与者不同意支出,则可以使用此时间延迟将资金退还给保管库;如果他们根本不信任发生的事情,则可以将资金重定向到其他额外的安全地址。.
此外,Revault要求在退出保管库后,当时间锁定开始时,用户立即从热钱包中创建交易,这也需要服务器进行共同签名。服务器被编程为签署任何交易,但绝不会发生冲突的交易,因此,如果攻击者(包括保险库和)热钱包都受到了威胁,则他们将不得不尝试在其他任何人之前和时间锁到期之前索取硬币。如果热钱包被盗,这应该很明显,从而使Revault用户群体感到震惊,并允许他们在时间锁定到期之前重定向资金.
由于正在考虑激活,Taproot现在可以使用了
自从“隔离见证”于2017年8月启用以来,Taproot将成为第一个比特币协议升级。 建议的 由比特币核心贡献者格雷戈里·麦克斯韦(Gregory Maxwell)于2018年1月发布,Taproot让用户在看上去有规律的比特币交易中“隐藏”智能合约:复杂的multisig构造与简单的付款无法区分开.
Taproot升级还将包括Schnorr签名算法。许多密码学家认为Schnorr签名方案是该领域中最好的,因为它的数学特性提供了很强的正确性,它没有延展性,并且验证相对较快。 Schnorr的“线性数学”还将带来一系列新的可能性,例如更紧凑类型的multisig解决方案,漂亮的智能合约设置,当然还有Taproot本身.
经过整个2020年的持续开发,Taproot的代码在10月被合并到Bitcoin Core代码库中,并将成为Bitcoin Core 0.21.0的一部分,Bitcoin Core 0.21.0现已设置为每天发布,目前有候选发布版本。但是,Bitcoin Core 0.21.0将不包含Taproot的激活逻辑。这可能会包含在即将推出的次要比特币核心发行版中(可能是比特币核心0.21.1).
在整个2020年的大部分时间里,激活逻辑本身一直是讨论的话题,但是,它具有一定的潜力 激活机制 在考虑中。其中大多数将最初利用哈希功率协调,以最终达到即使没有哈希功率支持也可以激活升级的截止日期。但是作为 十月 比特币核心贡献者AJ Towns发布的民意测验明确表明,并非所有比特币核心贡献者都同意应预先设定截止日期,或应将截止日期设定为多远(以及其他一些小分歧).
但是,无论最终选择哪种激活机制,似乎都可以通过散列功率协调来平稳激活Taproot。 11月,主要矿池Poolin发起了一项倡议,鼓励其他矿池对Taproot和Taproot激活发表意见。这 回复 到目前为止,Taproot非常有利,它支持超过90%的总哈希功率,并且没有任何矿池反对拟议的升级.
有关比特币2020年技术发展的更详尽,更详尽的摘要,请参见 比特币Optech 2020年年度审查特别报告.