比特币分叉往事

比特币分叉往事

比特币扩容之争:数字黄金与电子现金的分道扬镳 故事还得从比特币的区块容量说起。早在2008年,中本聪在设计比特币系统时,为了确保网络节点之间的同步稳定性,将每个区块的大小限制为1M。然而,有人指出,每十分钟产生一个1M大小的区块,仅能容纳大约2000笔交易。若比特币真的普及开来,这样的容量显然无法满足需求。对此,中本聪曾表示,在预计1M容量即将用尽的一年前,可以通过升级机制来提升该限制,以避免网络拥堵。

2010年中本聪退出后,比特币的代码更新和维护工作交到了Gavin手中。到了2012年,Gavin依照去中心化的原则,将代码管理权移交给由4位核心开发者组成的Bitcoin Core团队,并专注于代码开发。

进入2015年,随着比特币交易量快速增长,人们预测到2016年1M的区块容量将达到上限,扩容问题开始被提上议程。提出扩容建议的并非是Core团队,而是已经逐渐淡出视野的Gavin。但这一提议却遭到了Core几位主要成员的反对。除了担心硬分叉带来的安全隐患以及坚持认为小容量区块更利于普通人运行外,他们背后还牵涉到一个关键利益因素——这些核心成员联合创立了Blockstream公司,并融资7200万美元用于侧链技术开发。如果主链扩容成功实施,短期内市场对侧链的需求将大大减少。因此,他们主张通过闪电网络和侧链技术实现扩容。

Gavin的扩容观点遭到Core开发者的强烈抵制,于是他转而来到中国寻求矿工支持。随着区块空间日益紧张,大多数中国矿工也意识到扩容的重要性,但由于依赖Core团队的技术能力,他们更希望扩容能在Core主导下进行。

到了2016年,比特币迎来第二次牛市,价格从年初约2800元飙升至超过6800元,创下三年新高,总市值突破150亿美元,用户数量和交易量激增。7月起,比特币网络出现持续拥堵,确认时间普遍超过10分钟,手续费也大幅上涨。

中国矿工愈发感受到扩容的紧迫性。2016年2月20日,来自中国的矿工邀请海外开发者在香港数码港召开扩容会议。会上双方达成协议,同意将比特币区块扩容至8M,作为交换条件,中国矿工承诺继续使用Core版本而不支持Gavin的客户端,即“香港共识”。

然而,Gavin在当年的假中本聪风波中因误信CSW就是中本聪而名誉扫地,扩容派失去了一位重要人物。更糟糕的是,“香港共识”并未被Core开发者真正执行,扩容代码迟迟没有进展。失望之下,吴忌寒等人开始寻找其他开发团队,希望脱离Core独立开发扩容版本,先后接触了BU和ABC团队,并着手打造自己的比特币版本。

此时,区块拥堵已让整个比特币生态中的企业都感受到扩容的迫切。在全球50多家重要企业参与的纽约会议上,达成了将区块扩容至2M的“纽约共识”。但Core核心成员依然坚决反对,并明确表示不会支持2M区块。在这种情况下,若强行推进纽约共识,势必导致比特币分叉。

考虑到纽约共识可能失败的风险,吴忌寒提议开发一个扩容版本作为备选方案。2017年6月,ABC团队完成了将区块扩容至8M的新版本——比特币现金(BCH),并于同年8月1日正式上线。尽管如此,包括吴忌寒在内的多数扩容支持者仍寄望于纽约共识能够成功。

最终,在Core团队的强烈反对和施压下,“绝不分叉”这一更大的社区共识战胜了“主链扩容”的主张,纽约共识于11月初宣告失败。坚持主链扩容的少数派转而投向比特币现金,将其视为延续中本聪理想的唯一路径。当天,比特币价格下跌了10%,而比特币现金则暴涨近100%。此后,BCH价格一度接近比特币的一半。

扩容失败后,比特币社区尝试通过闪电网络解决容量问题,但进展缓慢。2019年初,在拥堵和手续费问题仍未解决的情况下,比特币价格再度强劲反弹,远超其他加密货币。至此,社区普遍认为比特币不应再定位为支付用途的点对点电子现金,而应转向具备储值功能的“数字黄金”。

由此,比特币与比特币现金分别走上不同的发展道路。一个是数字货币的开创者,另一个则是因内部分歧而两次分叉产生的去中心化加密货币,广受大众认可。这场扩容之争引发的分叉事件也成为区块链历史上不可忽视的经典案例,深刻影响着一代又一代的区块链创业者和项目。

感谢刘昌用对本集内容的帮助与指导。新浪微博:@昌用老师

欧易区块链60讲》是由欧易&新浪科技联合出品的区块链科普动画视频,面向区块链零基础用户,通过系列文章、科普动画等形式,从概念、技术、应用等多个角度,生动形象地介绍区块链知识。本集课程内容由北京大学经济学博士刘昌用指导完成。

以上就是比特币分叉往事的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1199117.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月8日 10:52:24
下一篇 2025年12月8日 10:52:39

相关推荐

  • 使用 React 构建加密货币查找器应用程序

    介绍 加密货币如今风靡一时,随着可用硬币的数量过多,有一个工具可以轻松搜索和查看它们的详细信息是至关重要的。 crypto finder 应用程序就是这样做的。该应用程序使用 react 构建,为用户搜索、过滤和查看加密货币详细信息提供无缝体验。 项目概况 crypto finder 应用程序包括:…

    2025年12月24日 好文分享
    300
  • 在React中为标签的src属性添加多重条件判断

    本文将深入探讨在React应用中,如何利用JavaScript的条件(三元)运算符,为“标签的`src`属性实现多重条件判断。我们将通过具体代码示例,展示如何根据不同的数据状态动态地切换图片资源,并提供最佳实践,确保代码的清晰性和可维护性,从而提升用户界面的交互性与灵活性。 动态图片源的需求场景 …

    2025年12月23日
    000
  • html5文件如何实现区块链存证 html5文件哈希值上链的流程

    生成HTML5文件的SHA-256哈希值并记录;2. 选择支持数据上链的区块链平台并获取访问权限;3. 通过智能合约或交易附加字段将哈希值写入区块链;4. 保存交易ID、区块信息等作为存证凭证;5. 验证时重新计算文件哈希并与链上值比对,一致则未被篡改。 如果您需要将HTML5文件进行区块链存证,确…

    2025年12月23日
    000
  • HTML数据怎样进行数据合作 HTML数据合作模式的创新实践

    HTML数据合作正成为跨组织信息共享新范式,通过语义化标记、Web Component嵌入、边缘协同渲染及去中心化交易四大模式,实现高效、安全、智能的内容协作。 在数字化时代,HTML数据作为网页内容的核心载体,正逐渐成为跨组织、跨平台数据合作的重要形式。传统意义上的数据合作多集中在结构化数据库或A…

    2025年12月23日
    000
  • 表单中的不可否认性怎么实现?如何证明提交行为?

    不可否认性通过数字签名、时间戳和不可篡改日志确保提交者无法否认行为,区别于数据安全的保密性与完整性,其核心在于行为溯源与责任认定,技术挑战包括密钥管理、信任链建立、性能优化及法律合规,需结合MFA、区块链、第三方公证等手段增强证明力。 表单中的不可否认性,说白了,就是确保提交者无法事后否认自己的提交…

    2025年12月22日
    000
  • 表单中的审批流程怎么实现?如何添加多级审批?

    审批流程的核心是状态流转与权限控制,需通过清晰的数据模型(如current_status、approval_history表)、状态机驱动的后端逻辑、配置化的规则引擎实现多级审批;同时要避免权限粒度失衡、异常处理缺失、规则硬编码等陷阱,通过流程模板、动态审批人策略和可视化配置提升灵活性;数据安全则依…

    2025年12月22日
    000
  • 表单中的分布式存储怎么实现?如何保存数据到IPFS?

    表单数据通过后端代理上传至IPFS,生成唯一CID作为内容地址;2. 后端处理数据并封装为JSON与文件组合,调用IPFS API上传;3. CID需存储于数据库或区块链,并通过pinning服务确保数据持久性;4. 数据通过IPFS网关按CID检索,实现去中心化、不可篡改、抗审查的存储优势;5. …

    2025年12月22日
    000
  • 表单中的同态加密怎么应用?如何加密处理表单数据?

    同态加密不适用于直接在用户浏览器端对整个表单加密,核心思路是数据通过https安全传输至服务器后,仅对特定敏感字段在服务器端使用同态加密进行隐私保护计算,例如在不解密的情况下统计加密的年龄或收入数据,或在在线投票系统中对加密投票执行同态加法得出总票数,整个过程依赖密钥管理、数据选择和受控环境下的密文…

    2025年12月22日
    000
  • HTML表单如何实现区块链存证?怎样永久记录提交?

    html表单无法直接实现区块链存证,必须通过后端服务将表单数据的哈希值写入区块链,1. 首先前端收集数据并提交至后端,2. 后端进行数据校验、标准化后使用sha-256等算法生成哈希值,3. 再通过区块链sdk构造并签名交易,将哈希值上链,4. 最终利用区块链的密码学哈希链、分布式共识和时间戳机制确…

    2025年12月22日
    000
  • 表单中的智能合约怎么集成?如何自动执行表单条款?

    要实现表单数据与智能合约的精准匹配及条款的自动执行,核心在于通过后端服务进行数据类型转换、多层校验并严格遵循abi规范调用合约;智能合约通过内置条件逻辑或借助chainlink keepers等自动化服务实现触发执行;需应对gas成本、安全风险、异步体验和预言机依赖等挑战,采用layer 2、元交易…

    2025年12月22日
    000
  • JavaScript的BigInt类型怎么处理大整数?

    javascript处理大整数的核心是bigint类型,它解决了number类型精度丢失的问题。1. bigint通过在整数后加n定义,如123n;2. 使用bigint()构造函数转换数值或字符串;3. 支持算术和位运算但不能与number混合运算;4. 比较操作允许与number比较但严格相等区…

    好文分享 2025年12月22日
    000
  • HTML5的WebAssembly是什么?如何提升性能?

    webassembly性能优势体现在执行速度、可预测性、内存管理、文件体积和代码复用。首先,wasm是预编译的二进制格式,支持jit/aot编译,执行更接近原生代码;其次,其静态类型和严格内存模型使性能更稳定;再者,wasm允许直接访问线性内存,提升内存控制效率;此外,wasm文件体积更小,加快加载…

    2025年12月22日 好文分享
    000
  • 前端后端开发的发展历程与趋势展望

    随着互联网的迅猛发展和信息技术的日新月异,前端和后端开发作为两个重要的IT领域在过去几十年中也取得了巨大的进步。本文将探讨前端后端开发的发展历程,分析当前的发展趋势,并展望未来的发展方向。 一、前端后端开发的发展历程 早期阶段在互联网刚刚兴起的时期,网站开发主要关注内容的呈现,前端开发工作主要集中在…

    2025年12月22日
    000
  • javascript中的BigInt是什么_它解决了什么问题

    BigInt 是 JavaScript 中用于精确表示任意精度整数的原始类型,解决 Number 类型在超过 2⁵³−1 后的精度丢失问题;需用后缀 n 或 BigInt() 创建,不支持小数、Math 方法及与 Number 混合运算,适用于密码学、区块链、高精度时间戳等场景。 BigInt 是 …

    2025年12月21日
    000
  • 在Node.js与区块链项目中实现CP-ABE的策略与方案

    本文探讨了在Node.js和区块链项目中实现密文策略属性基加密(CP-ABE)所面临的库选择挑战。鉴于JavaScript生态中缺乏维护良好的直接CP-ABE库,文章提出了利用Python、Rust、C++或Go等语言中的成熟库,并通过微服务架构进行集成的实用策略,同时提供了概念性代码示例和在区块链…

    2025年12月21日
    000
  • JavaScript中BigInt类型的使用场景_javascript技巧

    BigInt是ES2020引入的任意精度整数类型,用于解决Number类型在安全整数范围外的精度问题;它适用于大整数计算、高精度金融或科学场景(如雪花ID)、与后端交互解析大数值及加密运算,且需注意不与Number混用、不支持Math方法和JSON原生序列化。 JavaScript中的BigInt类…

    2025年12月21日
    000
  • Hardhat 项目中 dotenv 环境变量加载顺序问题及解决方案

    本文旨在解决 hardhat 项目中常见的 `referenceerror: api_url_key is not defined` 错误。该错误通常源于 `dotenv` 环境变量加载顺序不当。核心解决方案是确保 `require(‘dotenv’).config();` …

    2025年12月20日
    000
  • 如何用JavaScript构建一个简单的区块链模拟?

    答案:用JavaScript构建简单区块链需定义区块结构和链式连接逻辑。1. 创建含索引、时间戳、数据、前后哈希的Block类,用SHA-256计算哈希;2. 实现Blockchain类,包含创世块、添加区块及验证链有效性方法;3. 示例中添加区块并验证完整性,篡改数据后链失效,体现不可篡改性。 用…

    2025年12月20日
    000
  • 深入理解 JavaScript 数组:索引与命名属性的共存机制

    javascript数组作为特殊的对象,除了常规的数值索引元素外,还可以拥有自定义的命名属性。这种特性允许开发者在数组中存储额外的信息,例如为兼容性或提供更清晰的数据访问方式。当通过`console.log`等工具输出时,这种混合结构可能表现为同时包含索引值和键值对的列表,这并非数组的内部矛盾,而是…

    2025年12月20日
    000
  • 深入解析 JavaScript 数组:索引与命名属性的共存机制

    javascript 数组本质上是特殊的对象,除了支持传统的数字索引元素外,也能像普通对象一样拥有字符串键的命名属性。这种特性常在控制台输出或库设计中体现,尤其用于兼顾向后兼容性与提供更具语义化的数据访问方式。本文将深入探讨这一机制,并通过示例代码演示其创建与访问方法,帮助开发者更好地理解和利用 j…

    2025年12月20日
    000

发表回复

登录后才能评论
关注微信