比如有四个人ABCDE进行交易,他们进行支付时需进行记账。记账完成后,账单需要广播并告知其他人。交易记录会被打包成一个块,称为区块,每个区块大概能存储4000条交易记录。将区块链接起来形成一条链,我们称之为区块链。
使用区块链系统之后要解决几个问题。首先是以谁的账单为准,因为每个人的账单可能不一样。其次是如何防止伪造或篡改记录的发生,如双重支付或信息泄露。然后是如何保密交易信息以防止他人知晓个人财务状况。
为了解决这些问题,比特币系统中的用户可以自行记账,并且记账会有奖励。首先,记录者会得到手续费收益,即进行交易时支付的额外费用。其次,每十分钟会奖励一个人进行打包记账。初始时,每个块奖励50个比特币,每四年减半。据估计,比特币总量只有2100万个,通过打包奖励的方式扩散出去。
为了确定谁有权力进行记账和领奖励,中本聪设计了工作量证明的方法。每个参与者都需要解决一个难题,这个难题基于哈希函数运算。哈希函数是一种将输入字符串转化为摘要形式的函数,正向计算容易,反向计算难,需要一个个尝试。比特币使用的哈希算法是SHA256,会将输入字符串转化为一个256位的二进制数。挖矿的过程就是通过算出一定前导零的哈希值来获得奖励。
挖矿的具体原理是收集账单并进行一系列操作,其中包括对字符串进行两次SHA256运算,并确保结果的前n位是零。挖矿的难度会随着全球矿机数量的增加而增加。参与者可以通过购买更多的矿机来增加自己挖矿成功的机会,从而获得比特币的奖励。