提到区块链,不得不提起比特币,毕竟“不知比特币,何论区块链”。当比特币以“数字黄金”的身份出现在大众视野时,一方面以其安全的点对点支付被人肯定,另一方面因浪费能源的挖矿方式和低效的转账时间被人所“诟病”,如约 10 分钟的“出块时间”。
但无论如何比特币作为区块链的最基础的落地应用,作为入门用户来说去理解比特币的基础知识反而尤为重要。比如这个问题:比特币平均每 10 分钟进行一次结算,意思是 10 分钟才进行一次交易吗?
01
挖矿
先给出答案:比特币每 10 分钟进行一次结算是真的,这个 10 分钟是平均值。但至于真正的交易时间就客观情况而言,则未必是,有时是 1 小时、有时时间更长。
当提到“比特币每 10 分钟进行一次结算”时,这里通常指的是“挖矿”。
首先,区块链本质上是一个去中心化的数据库,因此比特币的核心底层也是一个依赖大众记账的数据库。
在比特币区块中,每一个数据块中包含了一些比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块;每新添加一个区块的交易,那些维护去中心账本的人就必须解决一个由加密哈希函数创建特殊的数学问题。
因此,10 分钟实质上是网络找到一个有效交易链块所需要的平均时间,即专门用来解决 SHA256 哈希问题的计算机答对问题的时间,这个时间内谁第一个通过高的算力解答这个问题就能在交易中添加下一个区块,再生成新需要解决的数学问题,就能获得内置系统“结算”的比特币。
如果你非要问“ 10 分钟”设置的深层次理由,答案或许是创始人中本聪对新区块在网络中传递所需的时间以及由于交易上链产生工作量之间的“中庸”之道。
另外,当比特币在 2009 年被创建之后每到 21 万区块时当添加新的区块时,获得奖励的数量会减少一半,即所谓的“减半”。
因此开始奖励从 50 比特币、减少为 25、12.5, 6.25,并继续下降……最后 1 聪会在 2140 年挖完。也就是说,比特币不会是通胀的,考虑到挖矿的递减的速度,从某种意义上讲反而是缩减的。
02
交易和转账
同理,如果涉及到真正的交易,比如钱包转账等,根据比特币算力“挖矿”的特点:交易记录在区块中,而每个区块的平均产生时间为 10 分钟,等待 6 个区块产生后,交易才能进行最终确认(考虑到安全属性)。于是,一般来讲比特币系统中交易需要 60 分钟进行确认,即转账成功。
另外,为了保证发生每一次交易时,让比特币网络中的矿工争相帮你记录(确认)这笔交易,一般要设置一定的手续费来奖励第一个记账成功的矿工。因此设置奖励越高,则相对交易越快;如果同一时间交易笔数太多、网络拥堵、设置手续费降低,则很有可能出现交易确认时间大于 1 个小时甚至在 24 小时以上。
当然,如果是交易平台内部的交易,账户显示一般都是秒到的,因为交易根本没有上链。但是如果你想将比特币提到钱包或另一个交易平台,交易平台一般会收取你手续费用作矿工费和平台手续费。
03
小结
不难看出,比特币的结算和交易深究起来还是很有门道的,只不过作为我们学习来讲,只要了解了比特币的工作原理,你就明白为什么比特币要牺牲效率,而以安全和 PoW 共识为显著特点了。
你还有什么区块链相关的小知识需要了解呢?