在接触过或购买过数字藏品的朋友来说,每份数字藏品上都有一份“哈希值”,这些所谓的“哈希值”由一串很长的数字 字母构成,而且,每份藏品的字符是自动生成的,而且完成不同的。
这份叫做哈希值的字符,究竟是什么意思呢?我们通过网上检索资料可以了解到,但更权威的解释,我认为还是信出版社2018年出版的《区块链—赋能万物的事实机器》一书中,对哈希值的概念进行了详细的解读和阐述,有兴趣的朋友,一起来学习下。
数字藏品,又叫NFT(非同质化代币),实际上,我们现在接触或购买、把玩的数字藏品,起源于区块链技术,更直接的说,是源于区块链技术下的比特币。所以,要详细认识这个哈希值,还需要从比特币说起,可以说,数字藏品的设计,是参照了比特币的技术。
众所周知,比特币产生于“挖矿”。实际上,在挖矿的每一个区块周期内,试图获得下次比特币奖励的矿工,都会参与工作量证明的竞争,他们会同时将新生成的交易收集起来并放到各自的新区块中。而对于挖到的比特币的每一笔交易的细节,如日期、时间、发款人及收款人地址、发送金额等,都会被收集起来并通过一种特殊的密码学算法,生成一个由字母和数字构成的字符串,这个字符串就是哈希值(hash)。
根据介绍,一种哈希算法能够将任意长度的原始数据转换成唯一一个固定长度的、由字母和数字构成的字符串,能够以数学的方法证明其底层信息的存在。任何拥有交易信息的人很容易就可以将其输入同样的哈希算法里,去确认最初生成哈希值的人必定是拥有同样数据的。哈希值的另一个关键特性是,它对其底层数据的改变十分敏感。
下面的内容,是我们将上一段的文字输入高度可靠的SHA一256算法(比特币所用的哈希算法)里,得出来的哈希值:63f48074e26b1dcd6ec26be74b35e49bd31a36f849033bdee4194b6be8505fd9。现在,留意一下,当我们简单地将那段文字的句号移走,同样的算法会产出一个截然不同的、由字母和数字构成的字符串:8f5967a42c6dc39757c2e6be4368c6c5f06647cc3c73d3aa2c0abdec3c6007a5。
你可以思考一下,哈希算法这样的高度敏感性对维护区块链的完整性有多么重要。如果有人试图在现存的交易中引入修改之处,其他矿工会很明显地发现新生成的哈希值并不符合各自版本的区块链上的相应记录,从而会拒绝这个修改。
可以说,区块链上的这些信息,只能根据合约,不断地被添加,但不能被篡改,正因为如此,不管是数字藏品,还是比特币、以太币,都具备这个特性,流转的过程将被详细记录,但从不能被篡改。