接上篇,去中心化避免了由第三方介入了出现的准确性和安全性的问题,但由于每个人都参与了,也无法避免有人故意添加错误的信息,所以有效的运行规则就是区块链的第二个特征。
区块链的运行是通过密码学的方法来保证已有数据不可能被篡改。
其包含两个核心:密码学哈希函数(hash)和对称加密。
哈希值简单来说就是通过计算获取唯一值,公式为Y=H(X),知道X可以得到Y(唯一),但是知道Y得不出X。
非对称加密就是有两把钥匙,一把叫公钥,一把叫私钥,用其中一把加密的话,只能用另一把解密,反之亦然。另一个重要的性质是,给你密文,明文和其中一把钥匙,你也解不出另外一个钥匙。其用来进行数字签名的认证。
在我的理解中该两个核心很像一把锁对应唯一一把钥匙的感觉。
那么区块链的形成就是首先创建第一个内容或区块(创世区块),从第二个区块开始,每个区块的第一部分有前一区块的哈希值。此外,区块里的每一笔交易(数据),都有发起人的数字签名来保证真实性和合法性。于是,先前区块里的任何数据都不会被篡改。例如某个消息了个消息,发信人对这个消息做哈希运算,然后用私钥加密。接着收信人首先对消息进行哈希运算,接着用相应的公钥解密数字签名,再对比两个哈希值,如果相同,就代表这个消息是本人发出的而且没有被篡改过。
还是家庭会议的例子,万一有人故意记错怎么办?如果二姨记录了三姨借了她100元。而三姨记录了借了二姨50元。那么只需要针对查看二姨和三姨记录中之的签名和数据,观察到了两个不同的区块中的签名和哈希运算即可。
网友评论