小仁最近经常会听到币圈里面的朋友说,区块链解决了信任问题,那么,这个到底是什么意思?怎么解决的?换句话说,区块链的信任从哪而来的呢?相信这样一细问,肯定会有很多朋友不知道怎么回答。那么今天小仁跟大家讲解一下到底区块链的信任怎么来的?
小仁认为区块链的信任基于三方面, 一是从数学和密码学,二是分布式共识,三是从Merkle树和区块+链的数据结构和算法。
完全随机的随机数生成器,保证了每次都会生成真正不同的随机数。这样一来,我们每次使用数字钱包,都能生成唯一不同的公钥和私钥。所以就不存在账号和私钥和别的用户相同的结果,另一方面我们也不用担心自己的私钥被人偷了,保证了账号的可信性。
加密hash在数学和理论上保证了任何一个内容都会生成出一个唯一的hash值,相同的内容都会生成同样的hash值,但是不同的内容就会生成出没有冲突并且不同的hash值。从hash值上面来看,是不可能推出原来的内容的。所以这样就保证了数据的不可窜改和数字签名的可信性。
同样PKI也保证了任何公钥加密的内容,只有唯一的对应的私钥可以解开,保证了私密性和通讯过程中的安全性。任何私钥的数字签名的内容,只有相应的公钥才可以验证通过,保证了数据的integrity,传输的过程中不可能被窜改。我们拿到的内容,只可能是持有公钥对应的私钥的用户产生的,所以保证了对数据来源的信任。
从数学和密码学上来说,保证了区块链上数据的所有权的正确和数据的可信。也就是说,一个用户的私钥签名的数据,只可能是他的,因为别人没法模拟,没法窜改。
第二个区块链的信任从分布式共识而来。
区块链的分布式共识,解决的是在有不诚实的节点情况下,如果诚实的节点有足够多,是能达成共识的,达成一致性的可信结果。这就是我们常说的拜占庭将军问题。
基本的原则,就像社会生活中的民主投票,当一个提议被多数人同意通过后,那么这个提议就是大家公认的结果,正确的结果,因为大部分人认为是对的。
比如说,POW就是解一道hash难题,谁先解出来的结果,就是这次的提议,然后,其它的节点去验证,当大多数节点都验证正确的话,那么就是这次投票的正确结果,大家以后必须认同和遵守。因为对多数民主的信任,就是对分布式共识的信任,也就是对区块链的信任。
最后就是从Merkle树和区块+链的数据结构和算法而来。
每个区块都有一个唯一的hash值来表示,后面的hash值的计算包括了前面区块的hash值的内容,这样,所有的区块组成了一个链式数据结构。这种数据结构保证了数据几乎不能被窜改,如果没有巨大的计算资源。一旦前面的数据被改动了,那么所在的区块的hash值就变了,那之后的所有的区块的hash值必须重新计算,这样工程就变复杂了。
一个区块内所有交易生成的Merkle树根节点的hash,就是参与区块的hash的计算,然而交易本身的内容并没有直接参与区块hash的计算。这样的方式同样也保证了区块内的交易是不能被窜改的。另外还可以通过Merkle树中的路径来证明一个交易的存在和正确性 。
通过这些数据的结构,交易和交易的顺序,一旦生成,就确定了,不能改变,便值得信任。
从上面小仁跟大家讲解的,相信很多朋友都可以看出,区块链解决的是我们对它的信任,而不是解决的人和人之间的信任,想要取得人与人之间的信任还需要时间。今天小仁就跟大家讲解到这里,五分钟读懂区块链,每天准时在公众号里面与大家见面~
领取专属 10元无门槛券
私享最新 技术干货