那么比特币交易是如何运作的?
要理解这一点,请想想你可能更为熟悉的事情:银行的账本系统。在有人写一张支票来为一件商品或一次服务买单后,接收人去他的银行存入支票。假设两个客户在该银行都有一个账户,银行只需借记发送人的账户并记入接收人的账户。整个过程只需要在银行的会计账本中添加两个条目。银行官员不会进入保险库,从发送人存放的硬币和账单中拿出确切的金额,然后将其存入接收人存放的硬币和账单。使用账本进行会计处理是一项重要的历史发明,使货币的流转耗不费力。在比特币里,相当于一张银行支票的是一笔交易(transaction)。
比特币运营着一种被称为区块链(blockchain)的特殊账本。成千上万运行着比特币验证软件的人,而非中央权威,在不断检查区块链。运行该软件的每个人都会保留整个账本的副本并验证新条目。这被称为运行一个全节点(full node)。每个全节点不断检查账本以强制执行相同的比特币规则,这样,任何中央权威都不能随意编辑记录来窃取比特币或花费他们没有的比特币。比特币的区块链被称为公链(public blockchain), 因为任何人都可以查看交易记录。
比特币所有者以与编写支票相同的方式进行交易。他们指定金额,然后签署支票。但是,比特币所有者不是在一张易于伪造的纸上乱写他们的名字,而是通过密码学用数字签名(digital signature)签署他们的交易 。
这个数字签名是使用一个只有比特币所有者知道的秘密来创建的。这个秘密被称为私钥(private key)。使用私钥,发送人可以制作数字签名,向接收人证明发送人拥有比特币。
用户将他们的比特币存储在钱包(wallet)里,钱包是在计算机、电话或专用硬件上运行的软件。每一秒,新的比特币交易都是从世界各地的钱包开始的,但没有中央支付处理商。相反,来自世界各地的矿工竞相将交易记录到账本中。他们运行他们的计算设备,并试图找到一个特殊的稀有数字。每隔10分钟左右,世界某处的比特币矿工就会找到工作量证明,并将其与一组等待处理的交易组合成一个区块(block)。然后矿工将此区块提交给比特币网络进行验证。
每个区块都像比特币全球账本中的新的一页,网络上的全节点验证其中包含的交易是否有效。任何人都可以运行全节点,因此成千上万的用户不断验证每个新区块的有效性。如果网络确认矿工的建议区块有效,那么矿工将获得12.5个新比特币的奖励,并且该区块及其中包含的所有交易成为比特币历史的永久部分。在撰写本文时,典型的比特币链上交易需要不到一个小时才能在区块链上完成。
比特币区块链的名称源于它是历史账本中所有区块(或所有页面)的集合。换句话说,区块链是比特币网络上自2009年1月创建以来所有交易的完整、不可变的账本。
组成比特币网络的有数千个全节点。每个全节点独立地验证来自矿工新建议的区块。相当适中的硬件要求意味着大多数现代笔记本电脑都可以运行比特币全节点。由于运行全节点仍然相对便宜且多数人负担得起,因此网络仍然是去中心化的。