什么是区块?

数据通过称之为区块的文件永久记录在比特币网络上。区块是之前没有被记录的最近所有或者部分比特币交易的记录。它们就像是一个城市记录薄的个人页面(记录了不动产所有权的变化)或者是一个股票交易账本。新的区块被添加到记录(称之为区块链)的末端,而且一旦书写(尽管如果它们是孤立的,一些软件会移除它们)无法修改或移除。每一个区块都记录了它创建之前所发生的一切。

1.区块结构

分类 描述 大小
Magic no value always 0xD9B4BEF9 4 bytes
Blocksize number of bytes following up to end of block 4 bytes
Blockheader consists of 6 items 80 bytes
Transaction counter positive integer VI = VarInt 1 – 9 bytes
transactions the (non empty) list of transactions <Transaction counter>-many transactions

2.描述

除了其它以外,每一个区块还包含部分或所有最近的交易记录,以及在它之前所出现区块的参考。它还包括了难以解答的数学谜题答案,这个答案对每一个区块都是唯一的。没有正确的答案 – 挖矿的过程本质上就是发现解决目前区块答案的过程,新的区块就无法提交至网络。每一个区块中的数学问题都很难解答,但是一旦发现有效的解决方法,网络上的其它人就很容易确认答案是正确的。对于任意一个区块,都有很多有效的解决方案 – 只需要找到一个方案来解决这个区块。

因为解决每一个区块都会有新的比特币奖励,每一个区块也记录了哪一个比特币地址或脚本有权获得该奖励。该记录称之为生成交易,或造币交易,而且在每一个区块中通常都会显示为第一个交易。每一个区块产生的比特币数目是从50开始,且每经过210000个区块(约4年)减半。

比特币交易由发送者广播至网络,其它所有节点则收集交易并将它们添加至他们正在解决的区块中。因为受到附加交易费的激励,矿工会把交易包含到他们的区块中。

数学问题的难度也是由网络自动调节的,目的是为了实现平均每个小时能解决6个区块的目标。每隔2016个区块(需要两周来解决),所有比特币客户端对比真实创建的数目与该目标值,并以百分比的变化来调整该目标值。网络达成一致并自动增加(或减少)生成区块的难度。

因为每一个区块包含了之前一个区块的参考,因此可以说现存的所有区块形成了一条链。然而,区块链有可能临时分叉 – 例如,如果两个互相不认识的矿工在同一时间同一区块发行了两种不同的有效解决方案。点对点的网络在很短的时间内能够解决这些分叉,因此只有一条链能够生存下来。

客户端接受最长的链作为有效链。整个区块链的长度指的是累计难度最大的链,并不是含有区块最多的链。这可以阻止一些人形成大量的低难度区块,并让网络接受作为“最长”的区块链。

区块链常见问题

有多少区块?

目前区块数目

区块最大数目是多少?

没有最大数目,区块只是按照平均每10分钟一个的速率添加至区块链的末端。

当21000000个全部比特币产生后,发生什么?

区块还会继续产生,因为只要有人交易比特币,就会创建区块。

多久能生成一个区块?

没法准确预计。有一个计算器可以告诉你大概的时间。

如果我计算了1%的区块,那会怎么?

没有所谓的计算了1%的区块。你并没有解决它。连续工作24小时后解决它的概率和你在刚开始或者任何时候的概率都是一样的。相信我这就是所谓的赌徒谬误

这就好比同时抛53个硬币,同时出现头像的那一面。你每次尝试的成功概率是一样的。

哪里能获得更多的技术细节?

区块哈希机理页面

原文:Bitcoin Wiki

blockchain

区块链财经

        
微博:@nextcoin    微信公众号:blockchains     QQ群号:338331006     QQ公众号:blockchain