嗯,区块链就是区块的链。我知道这个解释看起来一点也不走心,实际上真的挺走心的。
众所周至,区块链是制造信任的机器,制造信任的方法是权利分散与互相验证。
那么怎么样互相验证呢,这就不得不回到区块的链这个话题了。
因为区块首尾相接,下一个区块包含上一个区块的Hash值。
多数区块链使用一个称为默克尔树的算法。这里要说明这个问题,并不需要解释默克尔树。
Hash是计算机加密方面的一个重要概念,hash中文称为摘要算法。简单来说就是一串长的数据,可以提取一个短的特征值。
可以在一定程度上用特征值代表这串长的数据,两个不同的长数据,得到同一个特征值,称为碰撞。越好的摘要算法,越不容易发生碰撞。
那么为什么下一个区块包含上一个区块的Hash值,可以作为互相验证的手段呢?
区块A -》区块B(包含A的hash)-》区块C(包含B的Hash)......子子孙孙无穷尽也
此时若有人想篡改区块A,那么区块A的hash会变化(因为寻找到一个和区块Ahash碰撞的假区块A很难,我们近似认为找不到)。一旦区块A的hash变化,区块B里包含A的hash,拿区块B来验证区块A通不过呀。所以就得篡改区块B,然后区块C验证区块B又通不过了。
这就是原理,你要想作弊,就得改掉一个区块之后所有的区块。
正是因为采用了区块的链,首尾相接,后者包含前者的Hash这种方式,提供了区块链的难以篡改特性。
所以,下一次有人问你,区块链是什么,你可以回答,区块链就是区块的链,没毛病。