首页 > 代码库 > 比特币-架构原理

比特币-架构原理

流程:

1、用户发出交易请求,放到交易请求临时池里。
2、矿工不断计算下一块区块的值,计算出来后,把交易临时池的单子放到区块来。
3、其他矿工停止计算,验证计算出来区块,验证包括前一区块是否匹配,计算出来的区块的账单是否正确。
4、如果其他矿工验证通过,则根据此区块继续计算下一区块。以此类推。

备注:
每个矿工都有完整的区块链,包含所有的账单
每个用户的账户其实就是生成的一个私钥,当然你可以生成多个,然后账单上也会留存你多个私钥的交易记录。
验证区块的关键是:计算出区块需要一定的算力,如果该区块后续的区块被计算出来,证明被很多算力验证过了
矿工挖矿的动力:计算出新区块,有奖励,但是这个奖励会逐渐减少,只能靠手续费维持。
矿工永远只跟随最长的那个区块链去继续。
作弊的可能:
数据作假不可能,因为每个矿工的数据都需要去验证账单,才接受你的区块和后续计算下一区块。
盗号不可能,除非你有别人的私钥
唯一情况是,先正常交易完比特币,拿到交易的利益后,撤销交易账单。
撤销交易单的可能是,从交易单的前一区块另外开分支,然后努力计算该分支超过主分支。
假如作弊计算出几个区块,然后随意修改这几个区块的数据,但是数据一改,因为账单的数据需要私钥合法加密,计算历史账单的时候,就会出错,作弊失败。修改数据不可能,只能是撤销这一方法作弊。

参考资料:http://blog.codinglabs.org/articles/bitcoin-mechanism-make-easy.html

比特币-架构原理