比特币的技术原理可以用分布式公共账本、密码学钥匙、UTXO现金记账、工作量证明挖矿这几个通俗角度去理解,抛开晦涩的专业公式,普通币圈用户也能够看懂这套系统到底依靠什么实现无中介转账。很多人把比特币简单理解成一串数字,实际上它并不是存储在某个软件里面的钱币,而是一套分布在全球无数电脑上的记账规则,所有安全、转账、发行逻辑全部写在开源代码之中,没有公司、机构可以随意修改底层规则。

分布式账本可以类比成全世界无数人同时抄写同一本公共账簿,没有银行作为中心记账员。每一台运行比特币全节点的设备都会保存完整的交易记录,每当发生一笔转账,这条信息就会广播发送到整个网络当中,所有节点都会收到这条消息。这里要区分全节点和轻节点,全节点保存从创世区块至今全部数据,可以独立核验每一笔交易真假;手机钱包这类轻节点不会下载完整账本,依靠默克尔树摘要快速确认交易是否已经上链,降低硬件使用门槛。正是多节点共同保存账本的模式,如果想要篡改历史交易,就需要同时控制绝大多数网络节点,现实条件下实现的门槛极高。

公私钥密码体系相当于比特币世界的门锁和钥匙,私钥就是钥匙,公钥衍生出大家日常使用的钱包地址。私钥是一串随机生成的字符,只有持有者自己保管,发起转账的时候,需要使用私钥生成数字签名,向全网证明自己有权动用这笔资产;公钥以及由公钥转换而来的地址是可以公开向外分享的,别人通过这个地址给你转账。整个过程中,公钥可以验证签名有效,但是无法反向推算出私钥,这也是为什么行业反复提醒,一旦私钥丢失,对应的比特币资产将永久无法找回,平台也没有办法帮助恢复资产。和传统账号密码不一样,比特币不存在找回密码的重置机制。

UTXO也就是未花费交易输出,是很多新手容易忽略的底层记账逻辑,它更像是现金零钱,而不是银行账户余额。比特币区块链本身不会记录某个地址存有多少币,钱包页面显示的余额,只是钱包软件统计所有归属于该地址、还没有花费的交易输出相加得出的结果。每次转账的时候,会消耗一笔或者多笔旧的UTXO当做付款来源,生成新的UTXO给到收款地址,多余的金额会生成找零返回自己的地址。一笔UTXO一旦被使用之后就会被标记已经花费,不能二次使用,从底层协议层面规避双重支付问题,这也是比特币交易溯源的关键。
工作量证明也就是大家常说的挖矿,本质是全网节点争夺记账打包的资格。矿工收集网络当中堆积的待确认交易,打包成为区块,需要反复运算哈希数学谜题才可以把区块接入区块链当中。这套题目没有捷径,只能依靠设备不断试算随机数求解,第一个算出符合条件结果的矿工,就可以获得区块奖励和用户支付的交易手续费。网络每两周会自动调整一次挖矿难度,用来维持大约十分钟产出一个区块的节奏。随着区块奖励按照代码规则持续减半,未来矿工主要收益将会依靠用户转账手续费维持网络运行。
