我问答网
有问必答

区块链的区块里到底存了什么?

你打开区块链浏览器,盯着那一串串哈希值发呆的时候,有没有想过——这所谓的“区块”,里头到底塞了些什么玩意儿?一堆乱码?还是真有金矿?我第一次看区块数据时差点把咖啡喷屏幕上,心想这都啥啊,满屏的十六进制,眼睛都要瞎了❗

比特币区块内部结构示意图
比特币区块内部结构示意图

后来死磕源码、扒论坛,才明白这东西说简单也简单,说复杂——能让你怀疑智商。来,直接掀开盖子看看。

区块的真实模样

区块的真实模样
区块的真实模样

别被“区块链”这个名字唬住。一个区块本质上就是个数据包,像个塞满收据的快递盒。它分两块:区块头区块体。头部是身份证,身体是流水账。

比特币的区块头才80字节,小得可怜,但装的东西能让你哇一声:版本号、前一个区块的哈希(就是那个锁链的扣子)、Merkle根、时间戳、难度目标、随机数Nonce。这些货凑一起,经过两次SHA256哈希,就变成了你常见的那串64位十六进制乱码。缺一个字母,整个区块立马失效——哇哦!

而区块体?全是交易记录。一笔交易大概250字节,一个区块塞几百到上千笔,现在一个完整区块差不多1.4兆。你想想,光比特币就几十万个区块,全节点储存快400GB了,硬盘小的别玩。

交易到底是什么样的

你转0.1个BTC给朋友,不是简单一句“张三给李四0.1”。实际上,比特币用UTXO模型,也就是“未花费交易输出”。你的地址里没有余额,只有一堆碎片化的“找零”,像裤兜里揉皱的纸钞。每笔交易得明确:从哪个UTXO拿钱,花掉后产生新UTXO给谁,找回多少。解锁脚本和锁定脚本一匹配,矿工才点头。

所以区块里的交易数据,就是一堆输入输出列表,加上签名。你看到的十六进制里,藏着地址、金额、解锁条件……乱?那是安全感的味道。✅

说实话,第一次看到自己交易被打包进区块,那种“我的数据焊死在历史里”的错觉,蛮上头。

区块链交易树Merkle根生成过程
区块链交易树Merkle根生成过程

存储空间怎么算的

存储空间怎么算的
存储空间怎么算的

这里有个巨坑。你以为区块链只存交易?大错特错。以太坊的区块还存智能合约代码、状态树、收据树……复杂度直接爆炸。一个区块执行完所有交易后,要把账户余额、合约存储这些“世界状态”更新,然后挂到区块头里。所以你看以太坊归档节点,现在超过10TB,普通人也别想跑了。💡

但回到比特币,矿工为了多收手续费,优先打包费率高的交易。有些交易没塞进去,就在内存池飘着,可怜兮兮。我就遇到过,手续费设低了,等了三天,最后交易被踢回来——气到胃疼。所以你看区块里,常常前面几笔是矿工自己的coinbase交易,白嫖新币,美滋滋。

还有件事特逗:中本聪在创世块里塞了一条新闻标题,讽刺银行救助。这货把区块当推特用了。后来以太坊的人更疯,往里塞结婚誓言、招聘广告……区块链变成刻字石板了。不过这恰说明,区块里能塞任意数据,只要付Gas。那个OP_RETURN操作码就是干这个的,但最多80字节,多了烧钱。

说到底,区块就是个带锁的日记本,每页写上“上一页的指纹”,撕都撕不掉。你问我信不信这东西改变世界?——我持币,你说呢?

免责声明:市场有风险,选择需谨慎!此文仅供参考,不作买卖依据。如有侵权请联系删除。
文章名称:区块链的区块里到底存了什么?
文章链接:https://www.wowenda.cn/a/53385.html