区块链

2016-02-28 21:05:15
阿土
1218
最后编辑:阿土 于 2016-02-28 21:08:35

区块链提供了比特币的公开总账本, 这个总账本由所有有时序的已确定的交易组成。这个系统被用于防止双花和修改以前的交易记录, 通过被全球P2P网络验证的 工作量证明POW 来保证全球的一致性.

上面的插图展示了一个简化版本的区块链. 一个包含一个或者多个交易的区块 会被收集到区块的交易数据部分. 每个交易的副本都会被哈希,然后将哈希值进行配对,然后再进行哈希,再配对,再哈系,直到只剩下一个哈希值,这个剩下的哈希值就是 Merkle tree(Merkle 树)的Merkle root(根节点)。


Merkle根节点 被存储在 区块头. 每个区块 也会存储上一个区块头的哈希值, 以把所有的区块链接在一起. 这保证了在不修改当前和后面的所有区块的情况下,交易记录是不会被修改的。
交易记录也被链接在一起。比特币钱包 软件只记录了比特币的发送接收, 但比特币确实在交易间转移。 每个标准交易花费的satoshis 是前一个交易转移过来的币, 所以一个交易的输入是上一个交易的输出。

单个比特币交易能把比特币 发送到不同的输出中, 就像你把比特币一次发送到不同的地址一样,但是一次输出在区块链中只能使用一次 所有的后续引用都禁止双花—一种把比特币花两次的尝试。
输出不同于比特币 地址。你可以在多个交易中使用同一个地址, 但是输出 只能被使用一次。输出 与交易id(TXIDs)绑定, txid就是签名交易的哈希值


因为每个交易的输出只能被使用一次, 所有在区块链 中的输出能被分类为未使用交易输出Unspent Transaction Outputs (UTXOs) 或者已使用输出. 为了让支付有效, 必须使用 未使用输出UTXOs 来作为输入.
比特币在产生交易之后,不能留在UTXO中, 否则这个余额会永久的丢失掉, 所以输入和输出之间的差值就是交易费,都是对把这个交易打包到区块的矿工的奖励。例如,在上面的插图中,每次交易收到的都比发出的会少1000聪, 这1000聪就是交易费


51chain是什么

51chain.net
恒生研究院旗下区块链技术社区

让区块链开发变简单

联系我们
联系人: 平风
电话: 0571-26691754
Email: niezx@hundsun.com
QQ: 251048392