当前位置: 首页 > news >正文

比特币技术简史 第八章:扩展性解决方案 - 闪电网络与隔离见证

第八章:扩展性解决方案 - 闪电网络与隔离见证

比特币的成长烦恼:扩展性挑战

欢迎来到第八章!随着比特币的普及,它面临着一个典型的"成功的烦恼"——扩展性问题。想象一下,如果比特币是一条乡村公路,最初设计时只需要应对少量的交通,但随着它的流行,越来越多的车辆(交易)涌入,导致拥堵、延迟和高昂的"通行费"(交易费)。

在这一章中,我们将探索比特币社区如何应对这些扩展性挑战:从协议层面的改进(如隔离见证),到构建在比特币之上的第二层解决方案(如闪电网络)。我们将揭示这些技术创新如何在保持比特币核心价值的同时,提升其处理交易的能力。

准备好了吗?让我们一起探索比特币的扩展之路!

比特币的扩展性问题

问题的本质

比特币的扩展性问题源于其设计中的几个基本限制:

  1. 区块大小限制:比特币的区块大小原本被限制在1MB,这限制了每个区块可以包含的交易数量。

  2. 区块时间:比特币平均每10分钟生成一个区块,这限制了交易确认的速度。

  3. 网络共识要求:任何重大变更都需要网络中大多数参与者的同意,使得协议升级变得复杂。

这些限制导致比特币网络的理论最大处理能力约为每秒7笔交易(TPS),远低于传统支付系统如Visa(每秒数千笔交易)的处理能力。

扩展性问题的表现

当比特币网络接近其容量限制时,用户会经历:

  1. 交易延迟:交易可能需要数小时甚至数天才能被确认。

  2. 高交易费:用户为了优先处理自己的交易,会提供更高的交易费,导致费用飙升。

  3. 内存池拥堵:未确认交易积压在节点的内存池中,消耗网络资源。

这些问题在2017年底比特币价格飙升期间达到顶峰,当时平均交易费一度超过50美元,确认时间延长至数天。

扩展性解决方案的两条路径

比特币社区提出了两种主要的扩展方向:

  1. 链上扩展(On-chain Scaling)

    • 直接修改比特币区块链协议
    • 例如:增加区块大小、优化交易数据结构
    • 优点:保持简单性和直接性
    • 缺点:可能影响去中心化和安全性
  2. 链下扩展(Off-chain Scaling)

    • 构建在比特币区块链之上的第二层解决方案
    • 例如:状态通道、侧链、闪电网络
    • 优点:不需要修改核心协议,可实现更高的扩展性
    • 缺点:增加了复杂性,可能引入新的安全考量

这两种方法并不是互斥的,而是可以互补的。在本章中,我们将重点关注两个最成功的扩展性解决方案:隔离见证(链上)和闪电网络(链下)。

隔离见证:巧妙的协议升级

什么是隔离见证?

隔离见证(Segregated Witness,简称SegWit)是2017年激活的一项比特币协议升级,它通过重组交易数据的结构,解决了几个关键问题,包括交易延展性和区块容量限制。

“隔离见证"这个名称来源于其核心理念:将交易的"见证数据”(主要是签名)与交易的其他部分分离(“隔离”)。这种重组看似简单,但带来了深远的影响。

交易延展性问题

在SegWit之前,比特币面临一个称为"交易延展性"的问题。交易ID(TXID)是通过对整个交易数据(包括签名)进行哈希计算得出的。然而,签名数据可以在不改变交易有效性的情况下被稍微修改,这会导致交易ID变化,即使交易本身的实质内容(输入和输出)保持不变。

这个问题使得构建依赖于未确认交易的复杂协议(如闪电网络)变得困难,因为交易ID可能会在确认前被修改。

SegWit的工作原理

SegWit通过以下方式解决了这些问题:

  1. 重组交易结构

    • 将见证数据(签名)从交易的主要部分移出
    • 创建一个新的"见证"结构来存储这些数据
    • 计算交易ID时只使用交易的非见证部分
  2. 引入新的地址格式

    • P2WPKH(Pay to Witness Public Key Hash):以"bc1q"开头
    • P2WSH(Pay to Witness Script Hash):用于更复杂的脚本
  3. 向后兼容性

    • 通过一种称为P2SH-wrapped SegWit的方法,使旧钱包能够向SegWit地址发送交易
    • 非升级节点仍然可以验证交易,但看不到见证数据的详细内容

SegWit的好处

SegWit带来了几个重要的好处:

  1. 解决交易延展性

    • 交易ID不再包含可被修改的签名数据
    • 为闪电网络等第二层解决方案铺平了道路
  2. 增加区块容量

    • 引入了"区块权重"概念,替代了简单的区块大小限制
    • 见证数据在计算区块权重时被打折计算
    • 实际上将区块容量提高到了约2-4MB(取决于交易类型)
  3. 降低交易费用

    • 更高效的空间使用降低了每字节的交易费
    • SegWit交易通常比传统交易便宜约30-40%
  4. 改进脚本版本控制

    • 引入了脚本版本控制机制,使未来的脚本升级更容易
    • 为Taproot等后续升级铺平了道路

SegWit的采用情况

SegWit在2017年8月通过一种称为BIP9的软分叉机制激活。尽管它提供了明显的好处,但采用率的增长相对缓慢,因为它需要钱包和交易所更新其软件并改变地址生成方式。

截至2023年,大约70-80%的比特币交易使用了SegWit,显示出社区对这一升级的广泛接受。

闪电网络:比特币的速度层

什么是闪电网络?

闪电网络(Lightning Network)是一个建立在比特币区块链之上的"第二层"支付协议。它允许用户创建支付通道,在这些通道中可以进行几乎即时、几乎免费的交易,而只有通道的开启和关闭需要在比特币区块链上记录。

想象一下,如果比特币区块链是一个银行系统,每笔交易都需要完整的银行流程,那么闪电网络就像是一个现金系统,允许人们在不涉及银行的情况下直接交换价值,只有在存取大额资金时才需要与银行互动。

闪电网络的工作原理

闪电网络基于几个关键概念:

  1. 支付通道

    • 两个参与者之间的双向支付渠道
    • 通过在区块链上锁定比特币(创建多重签名地址)来创建
    • 允许参与者在不广播到区块链的情况下进行无限次交易
  2. 状态更新

    • 每次通道内交易都会更新通道的"状态"
    • 新状态代表通道中比特币的最新分配
    • 使用密码学确保只有最新状态可以在链上结算
  3. 哈希时间锁合约(HTLC)

    • 允许通过多个支付通道路由支付
    • 使用哈希锁和时间锁来确保支付的原子性(要么完全成功,要么完全失败)
  4. 路由

    • 支付可以通过多个中间节点路由
    • 参与者不需要直接建立通道就能相互支付
    • 形成一个全球支付网络,类似于互联网数据包路由

创建和使用闪电通道

闪电通道的生命周期包括三个主要阶段:

  1. 通道开启

    • Alice和Bob创建一个2-of-2多重签名地址
    • Alice将一定数量的比特币(如0.1 BTC)存入该地址
    • 这笔"资金交易"被广播到比特币区块链并确认
  2. 通道操作

    • Alice和Bob交换"承诺交易",代表通道中资金的当前分配
    • 每次支付都会创建新的承诺交易,使旧的承诺交易无效
    • 所有这些交易都在链下进行,不广播到区块链
  3. 通道关闭

    • 任何一方都可以随时关闭通道
    • 最终的资金分配被广播到区块链
    • 如果是合作关闭,资金立即可用;如果是单方面关闭,可能需要等待时间锁过期

闪电网络的优势

闪电网络为比特币带来了几个重要优势:

  1. 即时交易:交易确认时间从平均10分钟减少到毫秒级。

  2. 微支付可行性:极低的交易费使得小额支付(如1美分)变得经济可行。

  3. 扩展性提升:理论上可以支持数百万笔每秒的交易,远超比特币主链的能力。

  4. 增强隐私:闪电交易不会全部记录在公共区块链上,提供了更好的隐私保护。

  5. 降低区块链负担:减少了主链上的交易数量,缓解了区块空间竞争。

闪电网络的挑战

尽管前景光明,闪电网络仍面临一些挑战:

  1. 流动性管理:用户需要在通道中锁定资金,这可能导致资本效率低下。

  2. 路由复杂性:在大型网络中找到支付路径可能很复杂,特别是对于大额支付。

  3. 在线要求:接收支付通常需要接收方在线,这对某些用例来说是一个限制。

  4. 通道容量限制:单个通道的容量受到初始资金交易的限制。

  5. 用户体验:与传统支付系统相比,使用闪电网络仍然相对复杂。

闪电网络的发展状态

自2018年正式启动以来,闪电网络已经取得了显著的增长。截至2023年,网络容量已超过5000比特币,有数万个活跃节点和数十万个支付通道。

主要的闪电网络实现包括:

  • Lightning Network Daemon (LND) by Lightning Labs
  • c-lightning by Blockstream
  • Eclair by ACINQ

闪电网络的采用正在加速,特别是在萨尔瓦多等将比特币作为法定货币的国家,以及通过Twitter的闪电提示等社交媒体集成。

其他扩展性解决方案

侧链

侧链是与比特币区块链并行运行的独立区块链,允许资产在主链和侧链之间安全转移。

主要特点:

  • 可以有不同的共识规则和区块参数
  • 通过双向锚定机制与比特币主链连接
  • 例如:Liquid Network(专注于交易所间结算)

Statechains

Statechains是一种相对较新的链下扩展方案,允许用户在不广播到区块链的情况下转移UTXO的完全所有权。

主要特点:

  • 使用盲签名技术实现UTXO所有权转移
  • 不需要在链上交易就能转移比特币
  • 仍处于早期开发阶段

其他扩展性解决方案(续)

Drivechains

Drivechains是一种侧链实现,矿工通过"联合挖矿"来保护侧链安全,并验证侧链和主链之间的转账。

主要特点:

  • 矿工负责验证侧链和主链之间的转移
  • 允许比特币生态系统进行创新实验,而不影响主链安全性
  • 可以实现不同的功能,如智能合约、隐私增强等
  • 仍处于提案阶段,需要软分叉才能实现

批量交易处理

批量交易处理技术旨在通过将多个交易合并为一个更大的操作来提高效率:

  1. 交易批处理

    • 将多个支付合并为一个交易
    • 减少每次支付的平均交易费用
    • 例如:CoinJoin不仅提高隐私,还能降低交易费用
  2. 支付批处理

    • 企业和交易所可以累积多个提款请求
    • 在链上进行单次结算
    • 大大降低运营成本

交易费市场和替代方案

随着区块补贴的减少,交易费将成为矿工收入的主要来源。这一领域的创新包括:

  1. 费用估算改进

    • 更智能的钱包费用估算算法
    • 基于历史数据和网络状态的动态调整
    • 用户友好的费用选择界面
  2. 替代费用机制

    • 提案如"费用赞助"(允许第三方支付交易费)
    • "费用市场"的潜在改进,如EIP-1559在以太坊中的实现
    • 针对特定用例的专门费用处理(如时间敏感交易)

扩展性解决方案的协同作用

比特币的扩展性解决方案不应被视为相互竞争的替代方案,而是相互补充的层次:

  1. 基础层(比特币主链)

    • 优化安全性和去中心化
    • 通过SegWit等升级提高效率
    • 作为最终结算层和价值锚定
  2. 第二层(闪电网络等)

    • 处理高频、小额交易
    • 提供即时确认
    • 降低交易费用
  3. 侧链和驱动链

    • 实验新功能和用例
    • 提供特定应用的优化
    • 扩展比特币的功能集
  4. 应用层

    • 钱包和用户界面
    • 智能路由和通道管理
    • 无缝集成多层解决方案

这种分层方法允许比特币在不牺牲其核心价值主张的情况下扩展,每一层都针对特定需求进行了优化。

扩展性与去中心化的平衡

比特币扩展性讨论的核心是如何在增加交易吞吐量的同时保持网络的去中心化特性。这种平衡体现在几个关键方面:

  1. 区块大小与全节点可行性

    • 更大的区块可以容纳更多交易
    • 但也增加了运行全节点的硬件要求
    • 可能导致节点数量减少,增加中心化风险
  2. 链上 vs 链下扩展

    • 链上扩展直接增加主链容量
    • 链下解决方案将大部分交易移出主链
    • 两种方法对去中心化的影响不同
  3. 复杂性与可访问性

    • 复杂的扩展解决方案可能提高技术门槛
    • 可能导致依赖专业服务提供商
    • 需要平衡技术复杂性和用户可访问性
  4. 安全模型权衡

    • 不同扩展方案提供不同级别的安全保证
    • 用户需要了解这些差异并做出明智选择
    • 教育和透明度至关重要

比特币社区的共识是,去中心化是比特币最重要的特性之一,不应为了短期扩展性收益而牺牲。这就是为什么像闪电网络这样的第二层解决方案,以及像SegWit这样的软分叉升级,成为主流扩展路径的原因。

未来展望:比特币扩展的下一步

随着比特币继续成长,扩展性解决方案将继续发展。未来几年可能会看到:

  1. 闪电网络的成熟

    • 更好的流动性管理
    • 改进的路由算法
    • 更无缝的用户体验
    • 更广泛的商家采用
  2. Taproot的全面利用

    • 基于Taproot的新应用和合约
    • 更高效的多签名和复杂脚本
    • 隐私增强的交易类型
  3. 新的软分叉提案

    • 针对特定扩展需求的协议升级
    • 继续改进脚本语言和交易效率
    • 可能的Drivechain或类似侧链实现
  4. 跨链互操作性

    • 比特币与其他区块链的更无缝集成
    • 原子交换和跨链智能合约
    • 比特币作为多链生态系统的价值锚定
  5. 企业和机构采用

    • 为高交易量用例定制的解决方案
    • 合规性和审计工具的改进
    • 与传统金融系统的更深入集成

总结:扩展的旅程

比特币的扩展性挑战代表了一个根本性的技术和经济问题:如何在不牺牲去中心化和安全性的情况下,扩大一个全球共识系统的容量。通过隔离见证等协议升级和闪电网络等第二层解决方案,比特币社区已经展示了在保持核心价值的同时实现扩展的承诺。

这种方法反映了比特币的基本哲学:谨慎、渐进的改进,优先考虑安全性和去中心化,而不是快速但可能有风险的变革。随着比特币继续成熟,这种平衡扩展性、安全性和去中心化的努力将继续塑造其技术发展路径。

在下一章中,我们将展望比特币的未来,探讨它面临的更广泛的挑战和机遇,以及它可能如何继续发展和影响全球金融体系。

http://www.lryc.cn/news/599666.html

相关文章:

  • 软件工程:软件需求
  • Ethereum:告别 personal API,拥抱 Geth 的独立签名器 Clef
  • CRM 系统:实现商机全流程管理的关键
  • Mkdocs相关插件推荐(原创+合作)
  • 力扣Hot100疑难杂症汇总
  • Java环境配置之各类组件下载安装教程整理(jdk、idea、git、maven、mysql、redis)
  • 如何序列化和反序列化动态 XmlElement ?
  • 【SSL证书校验问题】通过 monkey-patch 关掉 SSL 证书校验
  • Linux725 磁盘阵列RAID0 RAID1
  • [python][flask]Flask-Login 使用详解
  • win通过OpenSSL生成.ssh id_rsa密钥方法
  • 基于libhv实现的TCP Client Server支持同步,异步传输 (C++11)
  • QT开发技术【串口和C++20协程,实现循环发送、暂停、恢复、停止】
  • 上位机知识篇---Jetson Nano的深度学习GPU推理
  • TCP模型,mqtt协议01 day41
  • 【算法-图论】图的存储
  • 嵌入式——C语言:指针①
  • Web攻防-业务逻辑篇密码找回重定向目标响应包检验流程跳过回显泄露验证枚举
  • Go 官方 Elasticsearch 客户端 v9 快速上手与进阶实践*
  • 深度学习day02--神经网络(前三节)
  • 安装本地python文件到site-packages
  • STM32基础知识学习笔记:ICODE、DCODE、DMA等常见名词的解释
  • 【C++详解】模板进阶 非类型模板参数,函数模板特化,类模板全特化、偏特化,模板分离编译
  • 在 .NET 中使用 Base64 时容易踩的坑总结
  • vscode npm run build打包报ELIFECYCLE
  • Linux进程深度解析(2):fork/exec写时拷贝性能优化与exit资源回收机制(进程创建和销毁)
  • 嵌入式学习的第三十五天-进程间通信-HTTP
  • 【论文阅读51】-CNN-LSTM-安全系数和失效概率预测
  • FalconFS: Distributed File System for Large-Scale Deep Learning Pipeline——论文阅读
  • Multiscale Structure Guided Diffusion for Image Deblurring 论文阅读