区块链引发的记账技术的演进,将促使商业协作和组织形态发生变革。分布式账本技术的核心价值在于为未来多方协同网络提供可信基础。
当用户通过比特币客户端发起一项交易,消息广播到比特币网络中等待确认。网络中的节点会将收到的等待确认的交易请求打包在一起,添加上前一个区块头部的哈希值等信息,组成一个区块结构。然后,试图找到一个nonce串(随机串)放到区块里,使得其哈希结果满足一定条件(比如小于某个值)。计算nonce串的过程,即俗称的“挖矿”。nonce串的查找需要花费一定的计算力。
一旦节点找到了满足条件的nonce串,区块在格式上就变得合法,成为候选区块。节点将其在网络中广播出去。其它节点收到候选区块后进行验证,发现确实合法,就承认区块是一个新的合法区块,并添加到自己维护的本地区块链结构上。当大部分节点都接受了该区块后,意味着区块被网络接受,区块中所包括的交易也就得到确认。
比特币的区块链工作过程可以简化为两个关键流程,一个是完成对一批交易的共识(创建合法区块结构),一个是新的区块添加到区块链结构上,被网络认可,确保未来无法被篡改。
比特币基于算力(寻找nonce串)的共识机制被称为工作量证明(Proof of Work,PoW)。因为要让哈希结果满足一定条件,并无已知的快速启发式算法,只能对nonce值进行逐个尝试的蛮力计算。尝试的次数越多(工作量越大),算出来的概率越大。
通过调节对哈希结果的限制条件,比特币网络控制平均约10分钟产生一个合法区块。算出区块的节点将得到区块中所有交易的管理费和协议固定发放的奖励费(每四年减半)。
比特币网络是任何人都可以加入的,如果网络中存在恶意节点,能否进行恶意操作来对区块链中记录进行篡改,从而破坏整个比特币网络系统。比如故意不承认别人产生的合法候选区块或者干脆拒绝来自其它节点的交易请求等。
实际上,比特币网络中存在大量(据估计数千个)的维护节点,而且大部分节点都是正常工作的,默认都只承认所看到的最长的链结构。只要网络中不存在超过一半的节点提前勾结一起采取恶意行动,则最长的链将很大概率上成为最终合法的链。而且随着时间增加,概率会越来越大。例如,经过6个区块生成后,即便有一半的节点联合起来想颠覆被确认的结果,其概率也仅为(1/2)^6≈1.6%,即低于1/60的可能性。10个区块后概率将降到千分之一以下。
如果整个网络中大多数的节点都联合起来作恶,可以导致整个系统无法正常工作。往往意味着付出很大的代价,跟通过作恶得到的收益相比,往往得不偿失。