那我们凭什么说它是有价值的?它的价值到底在哪里?
如果把区块链的特点提炼出来,我们经常会说区块链是一个分布式账本、一个加密数据库,它具有时间戳、去中心化、真实不可篡改的特点。
在讲区块链之前,我给大家讲一个哈希函数。在数字货币或者区块链领域绕不开的一个技术就是加密技术。那它的加密就是哈希加密,它是一个简单的哈希函数,一个256位的函数。就是2的256次方,什么概念呢?大家简单算一下,2的256次方,就是10的77次方,这个很简单,举个log就知道了。10的77次方有多大呢?
我们举个例子,全宇宙的原子数是10的75次方,宇宙很大对吧,银河系、太阳系乃至宇宙非常大,大的无法想象。如果大家看过《三体》,对科幻比较感兴趣的,最近流浪地球比较火,就是说我们地球去半人马座的另外一个离我们最近的一个恒星要花2000多年,这个在宇宙的尺度里是非常非常小的。像银河这样的星系,在宇宙里面应该也是无数个的。但是全宇宙的原子数只有10的75次方,而哈希函数加密的位数是10的77次方,如果你要破解一个哈希函数,你需要把全宇宙的原子一个一个数过来,数100次。所以这个数量是非常非常大的,也就意味着区块链的哈希函数理论上可以破解,实际上没有可能。我们大概估算一下,把现在地球上所有的电脑都拿过来破解一个哈希函数,大概要花200亿年的时间。如果按照霍金的大爆炸理论来讲,大概要花138亿年。
除非有下一代计算机,它的运算速度大幅度提高,像量子计算机、光子计算机还是生物计算机出现以后,才有可能破解哈希函数。在这个层面来讲,为什么说数字货币也好、区块链也好,它的底层技术它的加密技术是不可破解。
我们说的具体一点,我们都知道一个函数它是有个输入值X和输出值Y。其实哈希函数它只有一个X,它都没有X1,X2,他就一个X输出一个Y。输出值是哈希值,输入值是原始数据。原始数据可以是张宇焱这个名字、可以是身份证号码、可以是莎士比亚全集、可以是圣经、可以是阿里云的数据等世界上任何数据都可以进行输入,通过哈希函数进行运算得出一个256位的结果。因为输入值是可以无限的,世界上任何数字都是可以是无限的,但是输出值是有限的。虽然是10的77次方,但是也是有限的。那就会不会有一种情况,就是两个不同的输入值产生同样的输出值呢?理论上,是可能的。但是人类产生的所有数据不管怎么折腾,比如莎士比亚全集每一个字母都换下,它也远远达不到10的77次方。所以我们说不管你输入什么东西,它产生的输出值(哈希值)是唯一的。
这个概念就非常重要,所以说数字货币的加密级别高,我们不管什么东西输入进去,它输出的哈希值是唯一的。而如果把输入值稍微改一下,它的输出值马上不一样。我们在区块链上看的分布式数据库,存的数据是什么呢?大家看到的是哈希值,因为哈希值没有办法反算回去,要花200亿年才能破解,因为破解不了,所以你看到一个东西,虽然知道它存在,它代表了唯一的输入值,但是你破解不了。所以你只要拿到这个东西,你可以用它来对外展示和对外交换。所以比特币也好、比特币地址也好其实都是一串哈希字符。比特币没有实物币,它本身是一个哈希值,是一个数字串,它是唯一的,所以才有价值。
那我们讲一下区块链的第一个特点,分布式账本。所谓的账本,就是大家记账。在区块链出现之前,所有记账都是中心化的。比如说自己家里记一本账,公司里面记一本账。包括腾讯公司、中国人民银行等每个公司/机构都有自己一本账,这叫中心化的账本。它有一个好处,就是效率比较高,今天记了,明天想改就该,也不需要告诉别人。但是就因为它效率高,随时都可以改,导致它很难得到别人的信任。
比如我记我的账,我今天给A看,他不一定相信。那区块链就是改变原本中心化账本,将至变为分布式的。比如我欠A十块钱。我们两个签一个合同,我一份,A一份。改天我不承认了,A也没办法,只能上法院起诉我。但是如果我欠A十块钱这个事情,在做的每个同学都记着账,包括外面的人也没人记了一本,那我就赖不了账。账本变成了分布式的,想要赖账就没那么容易了,我说的不算,是整个体系说的算。体系里超过51%的人说你确实欠了钱了,那我就真的是欠钱了。这就是中心化账本和分布式账本最大的一个区别。那中心化数据库是效率高,但是没有公信力。分布式数据库是有公信力,但是效率低,它相当于是损失了效率来获得了公平。
什么是区块链?
接下来我们来讲区块链到底是什么意思?
区块链的英文单词叫Blockchain。Block就是区块,Chain就是链。区块+链就是区块链的意思。那底层的区块到底是什么?这个是比特币的数据结构,这是链式的一个数据结构。我们以前都是用表式的记录数据,EXCEL大家都用过,它是一个表式的,但区块链是块式的。
这个块它分成两个部分,第一部分是原始的交易数据,比如我欠A十块钱等这些数据都放在区块里面,这些原始数据输入之后会产生一个哈希值,我们把这个哈希值(哈希指针)作为下一个块的表头,下一个交易就是把下一次交易都放在里面,那这个交易我们叫打包,我们把所有交易都记录起来我们叫打包。它就是我们经常讲的跨矿的概念,比特币每10分钟打包一次,也就是说过去10分钟产生的所有交易都放到一起打包。然后呢,表头呢/块头呢就是把上一个10分钟的交易形成一个哈希值,第100块的交易是在第101块存着,这样通过哈希指针串联就变成了一个链条。
所以区块链里是存着两部分数据,一部分是原始数据,一部分是上一个块里的哈希值,通过这个哈希指针就把它串联起来。
我们拿出任意一个区块,比如第102块,我们就可以追本溯源,找到第一块创世区块。我们任意拿出一块就可以还原上一个区块,这里的还原并不是指破解它的数据,而是把它串联回去。我们可以通过这个块儿,来判断它是不是这个链里面的。而这条链是最简单的,比特币是用这种链。
而现在的区块链技术就不只这么一条链了,它有一个Merkle Tree(默克尔树)的概念,它是一个下面有两个,那它数据记录的内容就增加了,但不管怎么样它都是有哈希指针的往回指的。
比特币有10000多个节点,大家存的都是一模一样的这条链,每10分钟打一个包。那这个包是由谁来打的呢,我们这里就涉及到一个挖矿的概念,这也是比特币原创的。谁来打包呢?比特币创造了一个计算的公式,让大家共同参与计算,谁算出来谁就有权利来打包,那算这个东西有什么好处呢,只要是有人算出来系统就奖励你比特币。最开始的时候,比特币每打包一个区块就奖励50枚比特币,每四年比特币减一半,所以09年打包一次就奖励50枚,13年是每打包一次就奖励25枚,17年以后就12.5枚。也就是说现在每个矿工获得打包权,他就获得10万美金的奖励。这是比特币的一个挖矿奖励机制,为了刺激矿工进行打包。
比特币是一套开源的代码,原则上是只要你下载这个软件就可以自己进行挖矿。但是目前个人电脑挖矿概率极小,它都是专业团队在运行的。一台矿机算力是几个T,相当于几万台电脑的算力,所以个人电脑是根本挖不到的。我们假设全网算力是100T,你有10T,那就占10%的算力,也就说每打10个包,你能得1一个包的奖励。但是呢还有种小概率事件不发生,比如说你有十万分之一的机会可以挖到,那就意味着你可能永远也挖不到。它就是一个开源软件,你也可以挖,只不过你永远挖不到。
讲到这里,大家应该知道什么是区块链了。所谓的区块链就是用块来记录数据的一个数据库技术,用哈希指针连接起来形成一个链,叫区块链Blockchain。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。