在前两日的学习旅程中,我们洞悉了区块链的本质——一种并非由传统线绳或订书针固定在某一位置,而是由无数“链”连接而成的新型数据库。换言之,区块链犹如一本无界账本,其每一页都与其他相邻页紧密相联,无限延展。接下来,我们将深入探讨这一颠覆性的账本系统及其在比特币领域的应用。
账本的结构与创世区块1. 传统账本与区块链账本对比
你或许曾想象过传统账本的模样:中心化、固定且有序。然而,区块链账本则呈现出截然不同的形态。它的每一页(即各个区块)并非静止不动,而是如涟漪般扩散开去,与周遭区块紧密相连,形成无尽的链状结构。
2. 区块与创世区块定义
在区块链账本中,每个区块就如同传统账本的一页,具有唯一编号。而首当其冲的“第一页”,即为创世区块。它不仅标志着整个账本的诞生,更具有独一无二的ID标识。后续生成的每一个区块,除了拥有自身的ID号外,还会包含前一个区块的ID号,以此建立起一种ID间的前后指涉关系,确保所有区块按照既定顺序串联成完整的区块链。
3. 比特币账本的内容与记账规则
不同于银行账户体系的中心化记账方式(如张三消费时从其账户余额中减去相应金额,小王向张三转账则相应增减双方账户余额),比特币账本仅记录“流水账”。具体而言,它详细记载了从A地址向B地址转移比特币的时间、数量、手续费以及对应的区块高度等信息。例如,2019年12月6日晚9点56分,以太坊区块链高度为9,060,758,比特币区块链高度为606,918。
区块高度与记账周期1. 区块高度含义
比特币记账过程中有一项特殊规定:每10分钟左右,当前账页(区块)便会填满,继而开启新的一页。这是因为每个区块的容量有限,中本聪设定比特币区块的大小仅为1MB。每当一个区块记满,即意味着区块链高度增加一阶。因此,当前比特币区块链高度为6,089,180,意味着比特币账本已积累600多万页,相比之下,以太坊账本已有近900万页。
防错机制与哈希函数的应用1. 哈希函数的简化与验证功能
面对可能出现的错误记账行为,我们巧妙运用了昨日所学的哈希函数。无论比特币或以太坊账本中的每一页包含100条还是上千条交易信息,均需经过哈希运算,得出简洁明了的摘要信息。在对账时,只需核验摘要信息即可,无需逐一检查区块内的全部交易。假设全网100名矿工(记账者)中有99人发布的摘要信息尾号均为“aaab7290”,而你的信息与之不符,则表明你的记账结果无效。哈希函数在此展现出两大优势:一是将复杂信息简化为易于处理的摘要;二是确保原始信息的任何微小变动都将导致摘要信息发生显著变化,从而迅速揪出错误记账行为,确保单一区块内账目的准确性。
2. 防止篡改历史账目
然而,仅确保单个区块的正确性还不够,还需防范有人篡改前期账目。创世区块作为起始点,具有唯一ID标识。对其进行哈希运算后得到的摘要值,如尾号为“2938”,在全网矿工一致认可的情况下,标志着该区块完成并进入下一区块。关键在于,后续区块在进行哈希运算时,不仅要包括自身内容,还要包含前一区块的摘要值。这种“摘要嵌套”模式将持续至最新的第60多万个区块,使得区块链中任一区块均包含了前面所有区块的哈希值。因此,无论未来区块高度如何增长,无论新增多少区块,只要试图修改区块链中任意前序区块的哪怕最细微内容,都将导致当前区块摘要值与他人迥异,从而有效防止了历史账目的篡改。至此,我们成功解决了比特币账本记账正确性与不可改动性的问题。
尽管如此,新的问题接踵而至:比特币账本不显示姓名与身份信息,那么如何确权这些比特币,证明其归属于某个人呢?欲知答案,敬请期待明日的精彩内容!
本文摘自:高朋《八分钟区块链》