当前位置:文档之家› 比特币原理

比特币原理

比特币原理介绍
一、交易过程
A与B进行交易,其中A为付款方,B为收款方,如图
交易发起方A节点处,会向全网广播此次交易,包括交易记录(Transaction details,简写为Tx)和B的公钥(Public Key)。

然后用A的私钥(Private key)进行加密处理,并加上A的公钥以方便P2P网络验证。

如得到至少六个节点(BTC minners)的确认,则此次交易完成。

A钱包中的比特币(BTC)转移到B的钱包中。

1、完整的交易记录:
2、公钥和私钥的产生:ECDSA算法(椭圆曲线加密算法)产生比特币公钥和私钥
3、网络确认交易过程
比特币矿工在得到这个交易请求后,便尝试把这条交易打包到数据区块(block)中。

当整个P2P网络有超过6个区块节点对这笔交易进行确认后,这笔交易便完成了,交易记录被永久的嵌入了block里面。

在这个过程中,比特币矿工(mininer)会得到一定量的手续费作为报答。

二、 BTC的产生
1、Block结构
Block 是用来保存交易记录的信息块,每一个数据区块(Block)记录了六个内容:神奇数、区块大小、数据区块头部信息、交易计数、交易详情。

1)数据块头部信息:版本号、前一个区块的记录、Merkle树的根值、时间戳、
目标特征值、随机数。

2)交易详情
在数据块中,比特币支出和接收交易是写在一起的,整个收支记录包括很多比记录。

每一笔记录都有自己的索引编号以供查询。

每一笔记录中包括了生成时间、引用交易的哈希值、交易记录索引编号、比特币支出地址、支出地址数量等细节。

每一比收支交易记录都有一个Merkle节点值,这个hash节点值是整个Merkle树的一部分,决定了每一个地址都不能重复交易和被伪造。

收支交易结构图如下:
2、Block制造
BTC矿工挖矿(mining)的目的就是制造新的Block以获得奖励(50BTC/block,25BTC/bloc,12.5BTC/block…),矿工们及时收集来自网络中的交易信息,然后通过一定的工作量证明(proof of work)打包在一个新的 Block 里。

制作过程:
每个数据区块的头部信息中都含有一个随机数(nonce),当由当前的随机数计算出来的sha256值(HASH值的一种)不满足要求时,那么这个随机数(nonce)便增加一个单位,直到sha256值比当前数据区块的sha256值小时,那么新的数据区块产生,P2P网络便接受这个新的数据区块。

因此,生成新的block的过程实际上就是计算sha256值,并与目标值比较的过程。

比特币block(数据区块)生成的这一过程被称为工作量的证明(proof of work)。

3、Block chain
多个block连接起来成为数据链(block chain)为了引入容错与竞争机制,比特币系统允许block chain出现分叉,但每个节点总是倾向于选择最高的、难度最大的链,并称之为Best chain,节点只认可Best chain上的数据。

首个block称为Genesis block,并设定高度为零,后续每新增一个block,高度则递增一,目前是不允许话费Genesis block中的比特币。

比特币对等网络将所有的交易历史都储存在block chain中。

区块链在持续延长,而且新区块一旦加入到区块链中,就不会再被移走。

区块链实际上是一群分散的用户端节点,并由所有参与者组成的分布式数据库,是对所有比特币交易历史的记录当数据量增大之后,用户端希望这些数据并不全部储存自己的节点中。

为了实现这一目标,他采用引入散列函数机制。

这样用户端将能够自动剔除掉那些自己永远用不到的部分,比方说极为早期的一些比特币交易记录。

三、BTC发行
既然所有交易的输入源头都是来自CoinBase,产生CoinBase时即意味着货币发行。

比特币采用衰减发行,每四年产量减半,第一个四年每个block的
coinbase奖励50BTC,随后是25BTC, 12.5BTC, …并最终于2140年为零,此时总量达到极限为2100万个BTC。

减半周期,严格来说,并不是准确的四年,而是每生成210000个block。

之所以俗称四年减半,是因为比特币系统会根据全网算力的大小自动调整难度系统,使得大约每两周产生2016个block,那么四年约21万块block。

相关主题