我爱编程

1-1基本知识-区块链是什么

2018-04-15  本文已影响0人  疯光无线

嗯,区块链就是区块的链。我知道这个解释看起来一点也不走心,实际上真的挺走心的。

众所周至,区块链是制造信任的机器,制造信任的方法是权利分散与互相验证。

那么怎么样互相验证呢,这就不得不回到区块的链这个话题了。

因为区块首尾相接,下一个区块包含上一个区块的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这种方式,提供了区块链的难以篡改特性。

所以,下一次有人问你,区块链是什么,你可以回答,区块链就是区块的链,没毛病。

上一篇 下一篇

猜你喜欢

热点阅读