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

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

别被“区块链”这个名字唬住。一个区块本质上就是个数据包,像个塞满收据的快递盒。它分两块:区块头和区块体。头部是身份证,身体是流水账。
比特币的区块头才80字节,小得可怜,但装的东西能让你哇一声:版本号、前一个区块的哈希(就是那个锁链的扣子)、Merkle根、时间戳、难度目标、随机数Nonce。这些货凑一起,经过两次SHA256哈希,就变成了你常见的那串64位十六进制乱码。缺一个字母,整个区块立马失效——哇哦!
而区块体?全是交易记录。一笔交易大概250字节,一个区块塞几百到上千笔,现在一个完整区块差不多1.4兆。你想想,光比特币就几十万个区块,全节点储存快400GB了,硬盘小的别玩。
交易到底是什么样的
你转0.1个BTC给朋友,不是简单一句“张三给李四0.1”。实际上,比特币用UTXO模型,也就是“未花费交易输出”。你的地址里没有余额,只有一堆碎片化的“找零”,像裤兜里揉皱的纸钞。每笔交易得明确:从哪个UTXO拿钱,花掉后产生新UTXO给谁,找回多少。解锁脚本和锁定脚本一匹配,矿工才点头。
所以区块里的交易数据,就是一堆输入输出列表,加上签名。你看到的十六进制里,藏着地址、金额、解锁条件……乱?那是安全感的味道。✅
说实话,第一次看到自己交易被打包进区块,那种“我的数据焊死在历史里”的错觉,蛮上头。

存储空间怎么算的

这里有个巨坑。你以为区块链只存交易?大错特错。以太坊的区块还存智能合约代码、状态树、收据树……复杂度直接爆炸。一个区块执行完所有交易后,要把账户余额、合约存储这些“世界状态”更新,然后挂到区块头里。所以你看以太坊归档节点,现在超过10TB,普通人也别想跑了。💡
但回到比特币,矿工为了多收手续费,优先打包费率高的交易。有些交易没塞进去,就在内存池飘着,可怜兮兮。我就遇到过,手续费设低了,等了三天,最后交易被踢回来——气到胃疼。所以你看区块里,常常前面几笔是矿工自己的coinbase交易,白嫖新币,美滋滋。
还有件事特逗:中本聪在创世块里塞了一条新闻标题,讽刺银行救助。这货把区块当推特用了。后来以太坊的人更疯,往里塞结婚誓言、招聘广告……区块链变成刻字石板了。不过这恰说明,区块里能塞任意数据,只要付Gas。那个OP_RETURN操作码就是干这个的,但最多80字节,多了烧钱。
说到底,区块就是个带锁的日记本,每页写上“上一页的指纹”,撕都撕不掉。你问我信不信这东西改变世界?——我持币,你说呢?
我问答网