为什么比特币需要智能合约
![为什么比特币需要智能合约](https://static001.geekbang.org/infoq/81/81659030c0cf74e43e69ff3888df4867.png)
超过 1000 万个序数
比特币是一种数字货币,它依赖于点对点软件和密码学,并作为一种不受任何组织或政府控制的替代支付系统运行。每笔交易都记录在一个可公开验证和不可变的账本上,网络可以访问并在节点之间共享。与银行这样的中央信任来源不同,关于谁拥有比特币的共识是通过网络节点的加密方式确定的,以确保最终的去中心化。使用比特币,人们信任比特币区块链的源代码——这与法定货币形成鲜明对比。虽然这些属性使比特币网络强大、安全和无需信任,但其吞吐量受到设计的限制。
![](https://static001.geekbang.org/infoq/81/81659030c0cf74e43e69ff3888df4867.png)
每笔原生比特币交易都会受到很长的交易时间的影响,因为一批交易平均每 10 分钟才在一个新区块中被开采,并且网络拥堵与交易费用相关,在高峰期每笔交易已达到 60 美元。现在,随着当前 Ordinals 和 BRC20 代币的注册和转移激增,内存池中的待处理交易网络拥塞达到了前所未有的水平,交易费用增加了 343%。虽然这种流量激增可能会让最终用户感到沮丧,但它也表明了对扩展功能的需求。比特币区块链现在拥有超过 14,000 个 BRC-20 代币和超过 1000 万个 Ordinal 铭文,因此提出一个扩展解决方案来高效地减少积压,并且不影响安全性,这将对比特币用户有益。
有些人似乎认为 Layer-2 解决方案是答案,但为了使转账快速、安全、廉价和完全去中心化,托管在任何给定区块链上的智能合约必须能够创建比特币地址以及直接在比特币网络上发送和接收比特币。将原生智能合约引入比特币网络可能是理想的解决方案。它们不仅可以消除额外的信任假设(超出 L2 协议本身)并保持链之间的交易,而且还会大大扩展比特币的功能。
新的 DeFi 可能性
除了 Ordinals 和 BRC20 的炒作之外,DeFi 是将智能合约功能扩展到比特币的另一个很好的理由。由于比特币网络早于智能合约的发明,因此它并非旨在与由智能合约驱动的 DeFi 平台配合使用。因此,比特币总供应量中只有一小部分进入了 DeFi 平台也就不足为奇了。但是,由于一些关键的创新,这种情况正在慢慢改变。
目前,大部分比特币都处于闲置状态,并被锁定以升值,因此中心化和去中心化交易所的总交易量远不及网络的市值。2022 年,主要中心化交易所的日均比特币交易量为 ~200 亿美元,仅为网络市值的 3.6%。如果去中心化交易所可以更安全地访问,也许交易量会增加。在比特币中添加原生智能合约层不仅可以实现这一目标,还可以为新的 DeFi 服务打开大门,例如借贷、质押和安全支付——所有这些都完全在链上。
闪电不亮
在探索致力于智能合约解决方案的各种项目之前,值得快速浏览一下闪电网络——最著名的比特币第 2 层。闪电网络旨在通过提供即时和廉价的交易来解决网络拥塞问题,潜在吞吐量为每秒数百万笔交易。虽然闪电网络旨在加快交易处理时间并降低比特币区块链的相关成本,但闪电网络具有各种不容忽视的限制和漏洞。
首先,交易是通过点对点支付渠道在区块链上处理的,这并非完全无需信任。每个通道都需要有足够的流动性来支付交易负载,并且闪电用户也必须始终在线,以便通道保持可靠的开放。离线会带来一方在比特币网络上结算或单方面关闭通道以拦截其中所有资金的风险。如果支付渠道拥堵,网络很容易受到欺诈或恶意攻击。
最后,闪电网络有许多与之相关的成本。网络延迟导致交易费用增加,因为矿工需要更长的时间来验证。此外,通过一个或多个“中间商”通过多个渠道进行转账支付,每个节点都会收取单独的路由费用。这意味着任何采用闪电网络作为支付方式的企业或交易所也可能需要支付额外费用。因此,即使 Taproot Asset Protocol 或 Taro 通过闪电网络启用 Ordinal 交易,您的 Ordinal 铭文仍会产生不必要的费用。
像闪电网络这样的机制可能有其好处,但将智能合约引入比特币有可能为用例提供更稳定的多链功能、安全性和可编程性,而不仅仅是简单的支付方式。
让我们来看看最有前途的原生跨链智能合约项目。
栈
是一个区块链项目,其目标是实现比特币智能合约。作为固定规则,Stacks 区块的所有区块哈希值都写入比特币区块,这意味着其智能合约运行速度相对较慢(平均每 10 分钟 1 个区块)并且终结性较慢。然而,这也意味着分叉的可能性极小。由于每个 Stacks 区块哈希值都写入比特币区块,因此该网络与比特币网络同步运行,反映了其强大的安全模型。所有 Stacks 矿工也运行一个比特币节点,因此比特币区块中 Stacks 交易的执行可以使用当前的比特币区块状态。该协议设想了未来的升级,包括在其节点之间运行自己的共识协议,并实现 5 秒的区块时间。这将引入一种不同的信任模型,其中堆栈上的区块不会立即锚定到比特币区块链。
需要注意的一点是,Stacks 只能从比特币网络读取,而还不能写入它。换句话说,Stacks 区块链上的智能合约不能被写成以编程方式控制 Stacks 上的比特币。然而,该项目有一个路线图,即在未来引入一种合成比特币(sBTC),该比特币将由 Stacks 智能合约控制。sBTC 将由一群“堆叠者”或锁定 STX 以获得奖励的各方在多重签名地址中持有的真实 BTC 支持。然后,最终用户将能够将 BTC 发送到该地址以获取 sBTC,并通过销毁 sBTC 并向 Stackers 发出请求以从多重签名地址发送真正的 BTC 来将其转换回来。目前计划在今年第三季度至第四季度推出 sBTC。
托尔·凯恩
THORChain 是一种跨链去中心化协议,可实现不同区块链之间的原生交换。作为原生层,该协议使用阈值 ECDSA 签名与越来越多的高市值区块链集成。THORChain 上的智能合约促进了多链交换,其主要目的是充当第 0 层,将所有集成链的流动性汇集在一起。该项目使跨多条链的资产交换成为可能,包括比特币网络,无需用户注册,原生安全资产和持续的流动性池,而无需依赖中心化托管人。
虽然原生集成是将智能合约引入比特币网络和其他区块链的理想方法,但它们的实施存在一些潜在的安全问题。也许 THORChain 技术方法的最大缺点是其阈值 ECDSA 的 GG20 实现依赖于同步网络假设,这意味着如果单个诚实节点由于崩溃或拜占庭故障而不参与协议工作,网络就会崩溃。对于全局分布式系统来说,同步假设是不现实的。以 Internet 为例,它是一个异步网络。如果今天的互联网是同步的,或者依赖于个人计算机的生计,而这些计算机总是出现故障,那么互联网将不断崩溃,并且极易受到恶意黑客的攻击。
THORChain 使用其原生 RUNE 代币的质押来保护锁定在链上的价值,从而识别任何试图使协议失败的行为不端。虽然质押确实会抑制运营商与锁定资金的勾结和流失,但质押原生 RUNE 代币只能防止节点的不诚实行为,而不能防止试图破坏这些节点的外部攻击者。归根结底,可能的节点崩溃不允许不可阻挡的智能合约。自其主网以太坊集成启动以来,THORChain因成功的黑客攻击而损失了数百万美元。
门槛 BTC
Threshold BTC 是另一种使用阈值 ECDSA 签名来桥接以太坊和比特币网络的无信任架构。与 THORChain 类似,他们对阈值 ECDSA 的实现依赖于同步网络假设,这使得它不如关于通信网络同步的更宽松的假设合适。锁定的 BTC 还需要与 ETH 进行 150% 的抵押,这是不通过节点串通与 BTC 一起逃跑的激励措施。这是一个比 THORChain 更强大的机制,后者使用自己的 RUNE 治理代币。
Threshold 由代币持有者和选举产生的委员会组成的 DAO 管理。每一方都要求另一方承担责任,并承担在治理结构中根深蒂固的具体责任。根据他们的 2019 年白皮书,错误归因最初并未作为其 GG19 式阈值 ECDSA 协议的一部分部署,因此签名者可能会行为不端并中止协议而不会受到惩罚。
RenVM 的
RenVM 是一个去中心化的机器网络,称为“Darknodes”,允许各种区块链上的智能合约接受和花费其他区块链上的代币,包括比特币和 ZCash。RenVM 智能合约能够在各自的区块链中维护加密资产的托管,在 Darknodes 和将这些资产输入系统的最终用户之间分配访问权限。该协议还支持 renBTC,这是一种在以太坊上可用的 ERC-20 数字资产,由比特币 1:1 支持。用户将比特币发送到比特币区块链上的 RenVM 地址。RenVM 与比特币区块链同步,如果它发现增加的资金,它会使用安全的多方计算来生成铸币签名。然后将铸造签名发送到以太坊区块链,在那里验证签名并铸造相应数量的 renBTC(减去费用)。
乍一看,RenVM 似乎是一个可靠的扩展解决方案。然而,协议中实现的阈值 ECDSA 算法容忍的恶意节点不到四分之一,并且与 THORChain 和 Threshold BTC 一样,它只适用于同步模型,其中所有消息都保证在固定的有界时间内到达。由于现实世界全球通信网络的异步行为,这样的模型对于全球分散的网络来说是不够的。
最后,任 网络的去中心化性质也非常值得怀疑,因为最近有消息称 任 1.0 网络因 Alameda 周围的事件而关闭。也有人猜测renBTC已被用于洗钱。
链式翻转
Chainflip 是一个去中心化平台,可在一次交易中通过普通加密钱包在任何链上原生简化交换资产。其自动做市商 (AMM) 协议涉及与多重签名钱包接口的质押金库节点。AMM 使用多方计算 (MPC),通过无需许可的 150 节点验证器网络管理这些高阈值多重签名钱包。验证者运行一个虚拟 AMM 系统,该系统促进了业内流动性最强和交易量最大的资产(包括比特币)之间的交换。只有在获得所有参与方至少 2/3 的选票后,交易才会启动。交易验证过程由守护程序提供支持,该程序使协议能够在选定的事件中自动激活验证过程本身。每个 Vault 节点都从支持的分布式网络运行守护程序。
金库包括流动性池,为流动性挖矿提供动力。流动性池提供者通过池的交易成本获得奖励,流动性条款允许提供者只贡献资产的一侧,这与其他需要资产两面的方法不同。网络通过隐式交换池中的资产来重新平衡资产。
Chainflip 使用 EdDSA 签名方案和具有 EdDSA 支持的智能合约平台与区块链进行交互。它还可以与没有智能合约或 EdDSA 功能的平台进行交互。该网络还旨在阻止恶意行为者。金库抵押、随机化、质押削减和惩罚系统增强了平台的安全性。
该平台专门针对去中心化现货交易,将其视为跨链领域最大的市场机会,旨在提供一种安全、高效和简单的途径来赢得中心化交易所的用户。
互联网计算机
Internet Computer (ICP) 是一个 Layer-1 区块链,其愿景不仅是促进跨链交换,其愿景是实现区块链奇点,有朝一日所有 IT 系统和软件都在智能合约上运行,而无需中心化云。在为实现区块链奇点奠定基础的过程中,ICP 拥有 35+个子网的架构,这些子网充当自己的区块链,不断相互通信。这意味着网络的整体容量可以通过添加更多节点并从节点形成更多子网来扩展。更重要的是,每个子网都运行自己的 ICP 共识协议实例,该协议提供低延迟并允许交易在几秒钟内完成。
除了其扩展能力之外,被称为“罐子”的 ICP 智能合约比大多数其他链具有更多的功能。例如,容器智能合约可以跨子网进行本地通信并处理 HTTP 请求——这一功能使它们能够托管 dapp 的前端,使其可以通过 Web 浏览器直接访问。它们也可以用任何编译为 Wasm 的语言编写。SDK 在 Rust、Motoko、Python 和 TypeScript 中可用。
那么,这一切对比特币有什么好处呢?首先,罐子可以读取和写入比特币网络的状态,而无需在协议本身之外引入新的信任假设。为了读取,ICP 节点直接从比特币网络中提取区块以维护比特币当前的 UTXO 集,允许罐子查询比特币地址及其 UTXO 的余额。提交比特币交易和查询比特币地址的 UTXO 集可以通过比特币 API 提供给互联网计算机上的任何罐子。从本质上讲,互联网计算机不仅可以读取比特币区块链,还可以通过使用链密钥 ECDSA 签名将签名交易发送到比特币网络来写入比特币区块链。
简而言之,链键 ECDSA 是一组加密协议,允许互联网计算机节点使用高度容错的去中心化网络对比特币交易进行协作签名,该网络可以抵御恶意节点的攻击。密钥从不存储在任何地方,而是分解为 ICP 节点持有的密钥份额,并定期重新共享这些份额,以便如果攻击者能够获得一些份额,这些份额在重新共享后变得毫无价值。当容器请求时,节点使用其密钥份额对 BTC 交易进行集体签名,而无需重新创建原始密钥。老实说,此签名协议假定节点的阈值。Internet 计算机在异步网络模型中是安全的,但为了允许创建块,需要部分同步或同步周期。Internet 计算机最多可以容忍少于 1/3 的故障副本。如果副本出现故障或成为恶意副本,Internet 计算机可以热插拔。
虽然互联网计算机上的比特币网络集成在安全性和互操作性方面非常强大,但每笔比特币交易仍然以比特币网络原生的低吞吐量、高延迟和高费用进行处理——因为它是在比特币网络上处理的。为了解决这个问题,ckBTC 应运而生。ckBTC 是由链式加密(为互联网计算机提供动力的高级密码学)和一对罐式智能合约创建的数字比特币孪生体。这两个罐子协同工作以创建 ckBTC,并确保 ckBTC 的总价值与真正的比特币以 1:1 的加密方式进行保护。
ckBTC 可以以 2-5 秒的最终确定性和可忽略不计的费用发送。两个罐式智能合约的所有转账活动和指标都可以在链上验证。发行和赎回 ckBTC 还通过“了解您的交易”(KYT)检查,以确保没有受污染的比特币进入互联网计算机区块链或转移到受污染的比特币地址,从而保护最终用户。
一切都与信任有关
中本聪(Satoshi Nakamoto)曾在为比特币辩护时写道:“传统货币的根本问题是使其发挥作用所需的所有信任。必须相信中央银行不会使货币贬值,但法定货币的历史充满了对这种信任的破坏。
虽然作为扩展解决方案的原生智能合约仍处于起步阶段,但各种区块链正在取得快速进展。归根结底是信任。成功的解决方案将取决于信任假设的水平。在智能合约的情况下,用户必须信任所涉及的区块链协议,而不是中央银行、托管人或桥梁。这是一个巨大的飞跃。
评论