在开始之前,不妨回顾一下交易的演进历程:从物物交换的原始阶段,到纸币诞生后的信用经济,再到电子支付带来的数字化变革,最终进入区块链交易时代,价值的存储方式也由银行托管逐步转向去中心化结构。时代的发展终究离不开网络:以往人们需要借助支付软件才能购买商品,如今只需打开浏览器安装一个插件即可买到想要的东西。短短十年间,区块链金融发展如此迅猛,接下来直接进入今天的主题——我对比特币白皮书的理解
阅读前声明:本人并非金融或计算机行业从业者,所属行业为鞋服制造,对区块链相关知识了解有限,以下仅为我个人对区块链的理解,如有错误还请指正。如您对比特币白皮书感兴趣,链接如下
《比特币:一种点对点电子货币系统》:https://bitcoin.org/files/bitcoin-paper/bitcoin_zh_cn.pdf
中本聪提出的货币交易机制十分精妙:一枚电子货币直接由哈希来定义,每一位持有者都对前一次交易和下一位所有者的公钥签署一个随机哈希值,签名置于末尾后再转交给下一位所有者。这一工作流程可简要概括如下
1 | 创世交易 -> [签名1] -> 交易A (属于您) -> [您的签名] -> 交易B (属于Alice) -> [Alice的签名] -> 交易C ... |

可在此处查看创世区块,观察其后续交易的处理过程
1 | On January 3rd 2009, the Bitcoin network was created when Satoshi Nakamato (the project's mysterious creator) mined the “Genesis” block. The 50 bitcoin coinbase reward is unredeemable, as it was omitted from the transaction database. This means any attempt to spend it would be rejected by the network. Whether this was intentional or not still remains unknown. |
在交易过程中,还需要一个时间戳服务器。该服务器并非中心化机构,而是由全球无数节点通过共识协议共同维护的分布式时钟,其职责是为每一笔被打包进区块的交易加盖一个精确且不可篡改的时间印记,相当于购买商品时需要记录成交时间,以便后续对账。此后为保证该服务器的安全,还需要一个强有力的机制来维持其权威性与不可逆转性,这一机制即工作量证明(Proof Of Work)。这一机制并不难理解:它要求矿工在生成带有时间戳的新区块时,必须解决一个复杂的密码学难题,该难题没有取巧的捷径,只能依靠计算机进行海量哈希计算来暴力破解,其本质是以巨大的物理计算资源与电力消耗来争夺记账权。例如我此前写过一个浏览器验证码,其验证方式是通过一次简单的哈希计算完成的,具体验证方式如下
1 | 用户打开浏览器 -> 浏览器加载前端JS脚本 -> 服务器生成对应的uuid和轮数 -> 浏览器获取服务器uuid并开始通过函数计算哈希值 -> 浏览器计算出成功的哈希值提交至服务器 -> 服务器进行哈希值校验 -> 服务器校验成功,用户登录成功请你生成mindmaid |
mindmap
root((POW登录流程))
初始化阶段
用户打开浏览器
加载前端JS脚本
服务器生成挑战数据
:生成UUID
:指定轮数
客户端计算阶段
浏览器获取挑战数据
:UUID
:轮数
开始进行哈希计算
:执行指定轮次Hash函数
计算出成功哈希值
提交结果至服务器
服务器验证阶段
服务器进行校验
:验证哈希值正确性
:验证结果有效性
校验成功
用户登录成功
该实现过程非常简单,哈希计算全程由用户的浏览器完成,不消耗服务器资源

在上述机制之外,比特币网络本身的运行同样不可或缺:其始于用户将新交易广播至点对点网络,此过程具备容错性,交易只需到达部分节点即可进入待处理池。随后,矿工节点将多项交易打包成候选区块,该区块包含指向前一区块的哈希值及一个用于 PoW 的随机数。接着,全网矿工通过高强度计算竞争寻找符合要求的哈希值,首先完成计算的节点会立即将新区块向全网广播,其他节点收到区块后须进行严格验证,确认 PoW 有效、交易签名合法且无重复支付。验证通过后,节点将此区块正式接入区块链,并以它的哈希为基准构建后续区块。网络遵循“最长链原则”解决临时分叉:当出现竞争区块时,节点会在最先收到的区块后继续工作,同时保留另一分支,直到某个分支因新增区块而变得更长,此时所有节点将自动切换至该最长链,被抛弃分支中的交易将返回交易池等待重新打包。这一机制通过算力竞争和密码学保障,实现了去中心化环境下的数据不可篡改与共识达成
不过,上述机制虽然看似安全,但依然存在一些隐患,例如 51% 算力攻击,该攻击目前仅建立在理论之上,尚未真正出现。其手法并不复杂:如果骇客控制了全网超过 50% 的算力,就能重写区块历史,发起双花攻击。双花攻击即攻击者向商家发送交易 A(购买商品),同时广播另一笔交易 B(将同样的币发给自己),相当于攻击者将同一笔钱花费两次,性质如同造假币。防范此类手法的途径是建立确认资金来源机制,例如商家需要等待交易确认。白皮书中后续的内容在这里就不再展开,感兴趣的读者可以自行阅读白皮书;此外有一个网站可以很好地带领读者入门区块链,可自行实践以理解区块与区块链

免责声明:本文为个人技术学习与工程实践笔记,所涉操作仅应在获得授权的环境中进行。因不当使用造成的后果由使用者自行承担。