AI 概要
展开
仅需 30 秒,即可快速掌握文章内容并判断市场情绪!
比特币是一种去中心化电子现金系统,无需通过中间人即可实现点对点支付。 原版比特币软件由 Satoshi Nakamoto 开发,并于 2009 年在 MIT 许可下发布,紧跟比特币白皮书 Bitcoin:点对点电子现金系统。
比特币是分布式加密货币的首次成功实现。比特币诞生 16 年后,比特币流通量约为 2,000 万枚,目前市值已超过 2 万亿美元。
提供支付方同意支付给收款人的可支出比特币金额。完成交易后,输出将变为收款人的未用金额,直到当前收款人使用代币向他人付款,才会保持未用金额。
例如,当 Alice 需要向 Bob 支付 10 BTC 时,Alice 会打开她的比特币钱包,扫描或复制 Bob 的交易地址,然后创建一笔向 Bob 支付 10 BTC 的交易。完成数字签名并提交后,交易将发送至比特币区块链网络。
交易广播到比特币网络后,簿记者节点通常是 P2P 网络中接收交易的完整节点,将根据比特币协议规则对其进行验证。如果交易有效,则簿记员将其添加到交易池中,并将交易转发给网络中的同事。
在比特币网络中,每 10 分钟就会有一部分称为“挖矿节点”或挖矿节点的网络节点从交易池中收集所有有效交易并创建候选区块。他们还为自己创建了代币基础交易,以便获得奖励并收取手续费。 如果他们“赢得挖矿赛”并将区块添加到链中,则所有节点都将验证新区块并将其添加到自己的区块链副本中。神奇的是,Bob 能够看到 Alice 的付款,钱包里还有 10 BTC。
比特币网络的一个主要问题,或者一般来说,基于工作证明 (PoW) 的区块链,就是可扩展性问题。根据设计,每笔交易都必须经过所有节点的验证。创建新区块平均需要 10 分钟,区块大小限制为 1 MB。区块大小和频率限制进一步限制了网络的吞吐量。因此,比特币区块平均能够容纳 2,700 笔交易。如今,VISA 的支付系统平均每秒可处理约 2,000 笔交易 (TPS),每日峰值费率约为 4,000 TPS。截至 2025 年,Paypal 平均每天可处理约 193 TPS 或近 1,700 万笔交易。
显然,在比特币网络上实现类似 Visa 的容量是不可行的。提高性能和可扩展性需要提高网络的交易处理限制,并对比特币网络进行软件增强。
区块链 Trilemma 解决了在区块链网络上实现可扩展性、去中心化和安全性的“三要素”,同时不影响其中任何一项。Trilemma 的前提是,区块链系统几乎无法实现所有三种属性。
下图显示了区块链可扩展性 Trilemma。
可扩展性概念的关键在于找到一种方法,在基层满足所有三个要求。比特币的设计选择有利于去中心化和安全性,同时牺牲可扩展性。
比特币可扩展性解决方案提案众多,可进一步分为链上和链下扩展。
链上解决方案有时也称为 Layer 1 解决方案,可解决比特币区块链网络基层的可扩展性和性能问题。在网络延迟方面,链上扩展提供了在区块链中处理更多交易的能力。例如,SegWit 可将更多交易量整合到 1 MB 区块中,而比特币现金(BCH,符号 Ƀ)则提升区块大小。
SegWit(比特币改进提案编号 BIP14)是“独立见证人”的简称,即为交易分离数字签名。2015 年 12 月,开发者 Pieter Wiulle 在规模化比特币大会上首次推出。SegWit 旨在防止非故意比特币交易延展性,实现可选的数据传输,并规避某些协议限制。
比特币交易由以下三方面组成:
交易输入,即比特币发送方的地址
交易输出,即接收比特币地址
发送的比特币数量,以及验证发送方是否符合发送条件的数字签名
如果数字签名发生变化,交易标识符将发生变化。事实证明,比特币的代码允许在交易仍有待确认时更改数字签名。将交易添加到网络后,包括签名在内的交易将不可变。签名更改是为了方便用户对签名进行数学检查,但该签名仍会经过网络验证。但是,当您在哈希算法上运行哈希算法时,它会产生不同的结果。
下面我们来看一个示例:
输入:
上一交易日期:p9k5ee39a430901c91a5917b9f2dc19d6d1a0e9cea205b009ca73dd04470b9a6
指数:0
脚本签名:304502206e21798a42fae0e854281abd38bacd1aeed3ee3738d9e1446618c4571d10
90db022100e2ac980643b0b82c0e88ffdfec6b64e3e6ba35e7ba5fdd7d5d6cc8d25c6b241501
输出:
价值:2000000000
脚本PubKey:OP_DUP OP_HASH160 201371705fa9bd789a2fcd52d2c580b65d35549d
OP_EQUALVERIFY OP_CHECKSIG
本次交易中的输入从交易 p9k5e 的输出 #0 中导入 20 BTC... 然后,输出将 20 BTC 发送到比特币地址(此处以十六进制 2013 表示... 而不是普通基数58)。当收款方想要花这笔钱时,他们会在自己的交易输入中引用这笔交易的输出 #0。
定义如下:
• 上一次交易 — 地址 A 上一次交易的标识符
• 指数 — 输入数字(此处只有一个输入数字:0)
• scriptSig — 验证脚本的第一部分(包含交易签名)
• 价值 — 以 satoshi 为单位发送的比特币数量(一个比特币 = 1 亿个 satoshi)(上例中为 20 个比特币)
• scriptPubKey — 验证脚本的第二部分,其中还包含接收方地址 B。
为验证上一笔交易的金额是否可用,需要将新交易的 scriptSig 与上一笔交易的 scriptPubKey 相结合,以确保结果真实有效;ScriptPubKey 只需检查公钥的等同性和签名的有效性 (OP_CHECKSIG)。
在比特币交易中,txid(交易 ID 或交易哈希值简称)是交易数据所有字段的 sha256d 哈希值。txid 的价值取决于 scriptSig。在挖矿节点流程交易期间,节点可以对 scriptSig 进行修改,以使签名保持有效,交易将产生相同影响,但 txid 将发生变化。例如,可以添加 OP_NOP 操作(不做任何操作)。或者,为了更复杂,您可以添加两项操作:OP_DUP 和 OP_DROP(第一个是复制堆栈上的签名,第二个则再次将其移除)。签名仍然有效,但 txid 会发生变化。
另一个例子是:如果签名值为“3”,我们可以将其更改为“03”或“3+7-7”。在数学上,它仍然是具有有效签名的交易价值,但哈希结果不同,因为哈希取决于您如何写出价值,而不是价值本身。
如果您正在支出或接受未确认资金,修改 txid 可能会导致问题。SegWit 如何解决这一问题:
使用 SegWit,所有可延展信息将与交易分离为单独的“证人数据”。计算 txid 时,不会包含此可延展信息。在这种情况下,标识符永远无法更改,因为问题将得到解决。
下面是一个 SegWit 交易输出示例:
指数 0
查看详情
输出
地址
35SegWitPieWKVHieXd97mnurNi8o6CM73
价值
1.00200000 BTC
PkScript
OP_HASH160
2928f43af18d2d60e8a843540d8086b305341339
OP_等值
SigScript
0014a4b4ca48de0b3fffc15404a1acdc8dbaae226955
见证人
30450221008604ef8f6d8afa892dee0f31259b6ce02dd70c545cfcfed8148179971876c54a022076d771d6e91bed212783c9b06e0de600fab2d518fad6f15a2b191d7fbd262a3e01
039d25ab79f41f75ceaf882411fd41fa670a4c672c23ffaf0e361a969cde0692e8
我们可以看到,有证人信息,数据包含所有可延展信息。SigScript 的哈希信息远低于前一示例,无需 SegWit 交易。这也意味着,它减少了比特币的交易规模,并通过从原始部分移除见证数据并将其附加为最终的单独结构来提高交易速度。
以下是 SegWit 的一些优势:
节点性能 — 交易规模减小,因此比特币网络不会拥堵,因为节点可以更快地验证区块(或交易)。
交易可延展性 — 如上所述,使用 SegWit,签名从交易数据移至见证数据区块。txid 不可更改,可保护交易数据免受黑客攻击。
签名哈希操作的线性扩展 — 减少交易量,为特定交易增加更多交易数据,作为批次的一部分。SegWit 将交易签名与交易数据区分开来,因此交易的每个字节需要哈希处理不超过两次。
在 Layer 1 的基础上构建 — SegWit 非常适合用于 Lightning Network 等 Layer 2 协议的比特币开发。此外,SegWit 激活还推动了其他功能的开发工作,例如 MAST(支持更复杂的比特币智能合约)、Schnorr 签名(支持提升交易容量)和 TumbleBit(匿名顶层网络)。
保护闪电网络 — Lightning Network 小额支付渠道依靠双签名交易锁定初始充值。要开始支付闪电网络,双方的资金将发送至一个双签名地址。为防止作弊,在资金实际发送至双签名地址之前,交易应进行双签名。双方需要同步,才能从主区块链中收集交易结果。此必填交易 ID 不可更改。
理论上,SegWit 可以将比特币的吞吐量或 TPS 翻倍)。然而,虽然提高比特币网络的吞吐量至关重要,但即使理论上翻倍仍然太低,无法将比特币用作支付系统。
另一个提高比特币链上可扩展性的建议是增加区块大小。这个想法非常简单:将区块大小从今天的 1 MB 增加到 8 MB,交易吞吐量将增加 8 倍。例如,比特币现金 (BCH) 区块最初为 8MB,目前 BCH 区块设置为 32 MB。这种垂直扩展方法在一个区块内增加了更多交易。然而,增加区块大小意味着区块链可能会大很多倍,这需要更好的计算能力才能处理大型区块。与此同时,由于有效诚实哈希能力的降低,这将在一定程度上降低网络的安全性。
这也可能导致网络集中在几只富人手中,因此最终可能会损害区块链的主要原则去中心化和安全性。在安全问题方面,人们普遍认为,如果更多网络节点参与交易处理,区块链网络就会更加安全。随着altcoin链的广泛分布,任何给定区块链上的节点数量都会减少。
这实际上可能会降低区块链的安全性,因为较小的altcoin网络可能更容易受到网络攻击。例如,我们在一个更大的网络上拥有约 10,000 个节点。要对网络发起攻击,至少需要 5,001 个节点 (51%) 遭到攻击。如果我们将 10,000 个节点划分为 50 个较小的链,则每个链由 200 个节点组成,因此只需 101 个节点即可删除任何较小的链,这就是所谓的 1% 攻击问题。
另一个问题是跨链整合:虽然有一些跨区块链整合解决方案,但整合小链和山寨币的整体复杂性将大幅增加。SegWit2x是2017年对区块大小辩论的妥协建议,SegWit将激活为第一步,此后,区块大小将增加至2 MB。然而,比特币网络中的大多数节点不接受这一提议。
与链上解决方案的基本原理类似,比特币社区也在积极寻找链下解决方案,有时也称为 Layer 2 解决方案。在链外扩展中,解决方案是在比特币区块链的基础上构建一个额外的层,可以与两名参与者一起处理各种交易。然后,这些交易可以分批进行,并在区块链上作为一项交易发送。其中一种链外解决方案称为照明网络。
2016 年 1 月,一篇题为“比特币闪电网络:可扩展链外即时支付由 Joseph Poon 和 Thaddeus Dryja 提交。其中描述了闪电网络的轮廓。
Lightning 是一个去中心化网络,在区块链内使用智能合约功能,在参与者网络中实现即时支付。
Lightning Network 的 Layer 2 支付解决方案可扩展区块链,使大多数交易保持链外,实现无信任的即时支付。 它建立了一个由所谓的支付渠道组成的网络,其中双方进行交易并仅相互支付。该过程是即时的,交易不需要由比特币网络的每个节点进行验证、中继和存储,因为交易仅由两名参与者完成。
通过将支付移出链,维持渠道的成本会随着该渠道的支付量而降低,从而实现小额支付和小额交易,否则链上交易费用将过于昂贵,无法证明合理性。此外,Lightning Network 通过现代数据处理和延迟限制扩展链外交易吞吐量,使支付能够快速处理。
下面我们来了解一下闪电网络的运作方式。
举例说明:最初,Alice 持有 A1 承诺交易,Bob 持有 B1 承诺交易。A1 的撤销密钥 K A1 仅归 Alice 所有,B1 的撤销密钥 K B1 仅归 Bob 所有。
假设 Alice 和 Bob 的账户中各有 10 BTC。Alice 希望向 Bob 发送 2 BTC。
Alice 和 Bob 均存入等额资金(本例中为 10 BTC),且每人都会锁定资金。在公共框中存入等值资金的行为以“支付渠道”的形式记录在区块链上,此后双方将开放支付渠道。
Alice 创建了一项新交易 B2,其中 Alice 分配了 8 BTC,Bob 分配了 12 BTC。
Alice 签署 B2 并发送给 Bob。
Bob 收到 B2,签名并保存。
Bob 创建了新交易 A2,其中 Alice 分配了 8 BTC,Bob 分配了 12 BTC。
Bob 签署了 A2 并发送给 Alice。
Alice 收到 A2,签名并保存。
Alice 提供 Ka1,导致 A1 失效。然后,她可以删除 A1。
Bob 提供 K B1,导致 B1 失效。然后,他可以删除 B1。
总而言之,支付渠道正在为双方创建资金池组合,然后以商定的方式转移资金池所有权的承诺。当 Alice 或 Bob 想要关闭频道时,他们可以关闭频道。“关闭渠道”仅表示双方收回自己的资金。开箱即告在区块链上进行,并且永远记录谁拥有该盒子的多少。
Lighting Network 使用哈希时间锁定合约 (HTLC),HTLC 是一类使用哈希锁和时锁的付款,要求付款接收方在截止日期前通过生成加密付款证明确认收到付款,或丧失申领付款并将其返还给付款人的能力。它允许在没有直接渠道的各方之间发送交易,方法是通过多个跃点(其他渠道)进行路由,以便任何连接到闪电网络的用户都成为单一互联全球金融体系的一部分。
下面我们来看一个例子:
Alice 想要向 Tim 付款,但她与 Tim 没有支付渠道。Alice 与 Bob 建立了支付渠道,Bob 与 Tim 建立了支付渠道。问题是:Alice 如何支付 Tim?
为此,Tim 必须创建加密密钥字符串(密钥),然后使用哈希函数(如 SHA-256)对其进行哈希处理,然后将其发送给 Alice。Tim 还与 Bob 分享了这一话题。为简化此书面插图,我们将价值表示为 V。
Hash (V) 是锁,密钥是解锁 HTLC 的代码。
Alice 与 Bob 一起创建了 HTLC,并告诉 Bob,如果他在 3 天内能够生成 V 的前像,她会给他付款。Alice 签署了一笔交易,锁定时间为广播后三天。Bob 可以在了解 V 的情况下赎回,之后只能由 Alice 赎回。HTLC 允许 Alice 向 Bob 做出有条件的承诺,同时确保如果 Bob 不知道什么是 V,她的资金不会被意外烧毁。
Bob 也这样做,创建了一个 HTLC,如果 Tim 能在两天内生产 V,则会向 Tim 支付费用。但事实上,Tim 确实知道 V。由于 Tim 能够使用其密钥从 Bob 处提取所需金额,因此 Tim 可以考虑完成 Alice 的付款。现在,他与 Bob 分享 V 时没有问题,因此他也可以领取资金。
Tim 在两天内向 Bob 透露了密钥,Tim 将获得 Bob 的报酬。
Bob 在三天内向 Alice 透露了密钥,Bob 得到了 Alice 的支付。
所有交易均在 Lightning Network 内完成,每个人都会以机械方式获得报酬,因为闪电网络本质上几乎是原子性的,并且是双向的,这意味着每个人都会获得报酬,或者没有人获得报酬。
使用 Lighting Network 时,在广播支付交易时,将首先对所有单笔交易进行验证,且交易记录必须与单笔交易记录一致,以避免广播虚假或错误的交易。欺诈交易也会受到处罚:如果照明网络检测到系统中存在恶意行为者,则会立即受到处罚。这样,整个网络都能确保可信度和一致性,同时避免不良行为。
与链上交易相比,使用闪电网络有以下几大优势:
快速即时交易:闪电网络交易的结算时间不到一分钟,可能会在几毫秒内完成。
小额支付:Lightning Network 支持大量微交易。
交易吞吐量:从根本上说,协议下每秒的付款次数没有限制。交易数量仅受每个节点的容量和速度限制。
隐私:无区块链记录。单个闪电网络支付交易的详细信息不会直接公开记录在区块链上。付款可能会通过多个顺序渠道进行,因为每个节点运营商都能看到其渠道中的付款。但是,如果这些资金不相邻,则无法看到其来源或目的地。
极低手续费:支付至照明网络中中间节点的交易费用通常较少,通常以 Millisatoshis 为单位。
Lightning Network 由两个节点之间的双向支付渠道组成,合并后可创建智能合约。如果任一方在任何时候下架通道,通道将关闭并在区块链上结算。
由于闪电网络争议机制的性质,要求每位参与者始终监控其频道并跟踪向网络广播的离线分类账的状态。“watchtower”的概念旨在解决这一问题。
比特币区块链仍然是一个开创性的去中心化支付系统,但其固有设计将安全性和去中心化放在可扩展性之上,与传统支付网络相比,交易吞吐量有限。SegWit 和 Lightning Network 等创新代表了重要的进步,通过提高交易能力和实现链外即时支付来提升比特币的表现。
然而,区块链可扩展性 Trilemma 继续挑战开发者,在可扩展性、安全性和去中心化之间取得平衡,而不会妥协。随着比特币的发展,持续研究和分层扩展解决方案对于支持更广泛的应用以及在日益数字化的经济中保持网络完整性至关重要。
#LearnWithBybit