比特币和区块链里有这样几个概念:工作证明、挖矿、交易、时间戳与证明 假设有
A、B作为交易者,miner1、miner2作为矿工,Mallory作为攻击者。
工作证明(Proof Of Work,简称POW)。通常来说只能从结果证明其工作量。
比特币网络是一个通过矿工的记账来保证交易公开的网络。矿工通过工作量来发行新的货币(总量达到之前)、维系货币的支付功能、通过算力保障系统安全。
首先介绍矿工如何发行新的货币:
在总量没有达到2100万的货币上限之前,如果A要与B进行交易,比如A将用1比特币买B的1斤黄金,那么A就会先告诉网络里的所有人A给了B共计1比特币,而且追根溯源A的账户里确实有1比特币(这些可以用网络程序直接验证),而矿工将其记录到主账目上,当完成这一记录时,B可以知道这1比特已经在自己的账目下,就可以把1斤黄金给A。
但是矿工如何完成这一记录呢?看如下账单模式
矿工查找当前账本的最后一页,找到block编号填到第一项,将A和B的钱包地址填上,将A给B了1比特想要换1斤黄金填到交易内容上,矿工通过改变随机序列,hash整个账单,得到有特殊要求的block编号就可以将账单连接到账本上,这个特殊要求是前n比特为0,n与整个网络的算力正相关。每当新的账单被其他网络结点认可,那么该矿工就可以得到系统的奖励。
然后介绍如何维系货币的支付功能:
在货币达到上限后,矿工要如何获益,需要每个账户交易时付一定手续费给矿工。这样货币支付就能稳定进行。
说明如何通过算力保障系统安全
B如何确定A不会再把这笔钱交易给别人,也就是双花问题。B最好的办法是确认在本账单之后又连接上了不少账单,这时才把1斤黄金交给A。
现在假设这样一种情况,Mallory想要利用系统获利,想用1比特币既换A的1斤黄金,又换B的1斤黄金。也就是想要在和A交易完成之后,得到A的黄金,又用同一比特币与B交易。这里涉及区块链的主干与支链问题,矿工挖矿都是为了获得收益,只有在主干上的交易才能够被认可(最长链原则)。如果A在看到账单的同时将黄金给了Mallory,就会出现如下可能:
比特币和区块链里有这样几个概念:工作证明、挖矿、交易、时间戳与证明 假设有
A、B作为交易者,miner1、miner2作为矿工,Mallory作为攻击者。
工作证明(Proof Of Work,简称POW)。通常来说只能从结果证明其工作量。
比特币网络是一个通过矿工的记账来保证交易公开的网络。矿工通过工作量来发行新的货币(总量达到之前)、维系货币的支付功能、通过算力保障系统安全。
首先介绍矿工如何发行新的货币:
在总量没有达到2100万的货币上限之前,如果A要与B进行交易,比如A将用1比特币买B的1斤黄金,那么A就会先告诉网络里的所有人A给了B共计1比特币,而且追根溯源A的账户里确实有1比特币(这些可以用网络程序直接验证),而矿工将其记录到主账目上,当完成这一记录时,B可以知道这1比特已经在自己的账目下,就可以把1斤黄金给A。
但是矿工如何完成这一记录呢?看如下账单模式
矿工查找当前账本的最后一页,找到block编号填到第一项,将A和B的钱包地址填上,将A给B了1比特想要换1斤黄金填到交易内容上,矿工通过改变随机序列,hash整个账单,得到有特殊要求的block编号就可以将账单连接到账本上,这个特殊要求是前n比特为0,n与整个网络的算力正相关。每当新的账单被其他网络结点认可,那么该矿工就可以得到系统的奖励。
然后介绍如何维系货币的支付功能:
在货币达到上限后,矿工要如何获益,需要每个账户交易时付一定手续费给矿工。这样货币支付就能稳定进行。
说明如何通过算力保障系统安全
B如何确定A不会再把这笔钱交易给别人,也就是双花问题。B最好的办法是确认在本账单之后又连接上了不少账单,这时才把1斤黄金交给A。
现在假设这样一种情况,Mallory想要利用系统获利,想用1比特币既换A的1斤黄金,又换B的1斤黄金。也就是想要在和A交易完成之后,得到A的黄金,又用同一比特币与B交易。这里涉及区块链的主干与支链问题,矿工挖矿都是为了获得收益,只有在主干上的交易才能够被认可(最长链原则)。如果A在看到账单的同时将黄金给了Mallory,就会出现如下可能: