到底啥是区块链?
在说区块链之前,请先来了解一下比特币。为什么要先来了解比特币呢,毕竟比特币是所有数字货币的开山鼻祖,也是知名度最高的数字货币,不论现在的数字货币有多先进,都或多或少借鉴了比特币的一些技术原理,比特币和区块链技术几乎是同时出现在公众视野里的。所以,我们想要了解数字货币,区块链以及其他相关的内容,就要从比特币开始。
从张表格大家可以看出来,有权利来记录这张表格的人,他的权利是非常大的,最主要的原因就是它可以发行货币,我们现在使用的法定货币例如美元人民币,都是由政府和银行这些中心化机构来记账的,这些机构的权力非常大,一般来说我们是非常信任这些中心化的机构的,但是历史上的种种事迹表明,我们的信任往往是会被辜负的。
比如某一银行职员利用银行记账前的空档期把转向自己的钱变得多一点。但是,最关键的还是政府等中心化机构,他们会超发货币,一旦过度超发货币就会导致非常严重的通货膨胀。
严重的通货膨胀受到损失的就是每一个持有该货币的政府、组织、个人。
所以要记住一个关键点,比特币的根本目的和原因就是在保证货币的基本属性的同时防止中心化的机构去超发货币,建立一个市场经济总量与货币量之比为1:1的系统。
谁来记账
难道我们找支付宝或者
由上图表可以看出,只要在表内进行了修改,就是在修改某人的资产。
另外如果黑客攻击记账体系,因为电子货币的数据都是存储在网络上或数据库里面,一旦被攻破,黑客可以对你的资产进行任意的修改,而你的资产也就不再是你的资产了。只要利益足够大,相信现在的黑客足以攻破世界上绝大多数的安全系统。
哈希函数?防篡改?
比特币要解决的首要问题就是保证交易记录的不可更改性。
哈希函数它的作用就是将任意长度的一个字符串,转换成一个固定长度的字符串输出,输出的结果称为希值。什么是字符串?字符串就是一段文本,可以是中文,可以是英文,也可以是数字。
通过Sha256希函数案例来说明
只相差一个感叹号或一个数字,输出的值改变也是相当大的。SHA256函数,它是比特币技术里面运用最广的一个哈希函数。并且哈希函数还有一个特点,对于计算机而言计算方便,计算输出结果的过程几乎是一瞬间。
01 特点一
哈希函数的第一个特点是很难找到两个不同的X和Y。使得它们的哈希值相等,也就是说两个不同的输入会有不同的输出。
通过刚才的案例能发现哪怕只是微小的差别,最终的哈希值Y差别都会相当大。所以你几乎可以认为使用哈希函数对不同的X进行转化会有不同的Y,当然这句话其实是有问题的。
理论上肯定是存在的两个不同的输入X,但是他们有同样的输出结果Y,因为希函数X是无限的,而Y是有限的。它本质上就是一个从大空间到小空间映射,一个无限的空间映射到一个有限的空间,肯定是存在多对一的情况,肯定是存在两个不同的X对应同一个Y。
理论上这个字符串X肯定存在,但是无法找到,因为哈希函数没有任何规律,是不能通过数学推导来由果寻因的。
你想要去寻找另外一个X,它的输出是Y,唯一能做的就是将所有X从头开始去尝试,直到输出相同的Y,这是找到那个字符串X的唯一的方式,即使是用当下最好的超级计算机去计算也需要花无穷无尽的时间才能找到,只能去碰运气。
那么,现在计算机找不到,将来我们计算机发展了,是不是就很容易可以找到了?但只要把希函数输出的希值Y变得更长就可以又让你找不到了。
02 特点二
另外一个特点,就是已知Y,很难找到对应的输入X,也就是说哈希函数是不可逆的,比如说我知道了Y,我想找到是哪个X得到了Y,几乎是不可能的。
如果把X理解为一个人,那希值Y就相当于是指纹。
虽然理论上肯定存在两个人拥有相同的指纹,但是你根本就找不到这样的两个人,或是找到它所花费的成本是巨大的。
以上就是希函数的特性,其实并没有那么复杂,当然希函数还有其他的特点,因为比特币运用的主要就是哈希函数的这两个特性,关于哈希函数的其他特性,在这里就不再赘述。
通过一个哈希函数的一个简单应用来帮助大家更好地去了解哈希函数。
MD5文件加密,现在可能看不到了,已经被攻破了。
MD5码实际上就是一个希值,当我们从非程序官网上下载了一个软件,在下载过程中如果被黑客攻击,在这个软件上面加入一段代码或更改一段代码。当程序运行后,你就会中病毒。
为了防止这个情况,一些官网就会对程序的原文件(代码)计算一个希值,也就是MD5码,公布在官网上面,当用户下载了程序后也可以对原文件(代码)进行计算,如果不一样,就说明下载的程序一官网是不同的。
这是一个简单的哈希函数防篡改的应用。比特币就是应用哈希函数来防篡改的。
到底什么是区块链?
什么是区块
当账本变得非常长了之后,我们把账本拆分成一个个子帐本,每一个子帐本,就称之为一个区块。区块的顺序就是按照账本记录交易的先后的顺序,区块1记录最早的交易,区块2记录接下来的交易,如此一直延伸下去。
上一区块被称为下一区块的父区块,下一区块被称为上一区块的子区块,即区块1是区块2的父区块,区块2是区块1的子区块。在实际当中每个区块的记录时间是十分钟,是按时间来划分的,所以每个区块的交易记录的数量是不相同的,有的多有的少。
可以简单理解为你的电脑上每隔10分钟就会产生一个日记,每个日记都记录了这10分钟内发生的所有交易。
什么是区块链
现在,在区块上面增加一部分,称作区块头。区块头是父区块的希值。那么当前的区块就由两部分组成:区块头和区块体。
例如:3区块的区块头记录的是2区块的希值,2区块是1区块的希值和子区块的交易记录,其实这些本身就是一些文本。将这些文本打包一起计算一个希值。这个希值就是整个2区块的希值。将这个希值记录在3区块的区块头里面,每一个区块都如此重复下去,这样就将所有的区块按顺序链接在一起,这形成的链条就成为区块链。
区块链的本质就是这样。
那么第一个区块没有父区块,他的区块头记录什么呢?其实1区块的区块头是不记录前面的信息的,直接计算希值当作2区块的区块头。这个比较特殊的区块被称为创世区块。
可以将区块链联想为一个日记本,把每一个区块想象成一篇日记,日记内容记录了各自的十分钟的交易记录,标题就是上一篇日记的希值,随着新的日记产生,我的日记数量在不断地增加,之前的日记产生了之后就不会再动了。
为什么这么复杂?
复杂的原因就是为了解决比特币面临的第一个问题,如何保证交易记录不会被篡改。为什么区块链式的账本就能保证记录不被篡改呢?
假设我们现在已有一个区块链,可以想象成一个日记本内有很多的篇日记,我们打开了第998篇日记,然后修改了一点内容,再进行保存。当有其他人来检查时,就会发现我的第999篇日记中的标题和现在的第998篇日记计算出来的希值(即999篇日记标题)不一样了。
也就知道第998篇日记被改修改了,即第998个区块被修改过,假设修改记录的人很厉害,不仅修改了第998个区块的记录,也修改了第999篇日记的标题(即区块头),其实这时候还是可以发现篡改的行为。因为第999篇日记的标题(即区块头)被修改了之后,第999篇日记的希值就会和原来不一样,被记录在第1000篇日记(区块)中,新的标题(希值)就会不一样,仍然会发现篡改的行为。如果想要不被发现,就需要把第998篇日记之后的所有信息一直改下去。
直到改到最后一个区块,也就是最新的区块,我只需要提前将最新区块的希值记录下来,那么之前的区块里面只要发生任何的改动,我都是可以发现的。
这就是区块链为什么能保证信息不被篡改的机制。
通过区块链的结构和哈希函数的特性,能够保证不论在什么时候查看记录都和原始记录都是一样的。当然我们只能发现它到底是发生了篡改,并不能看到它篡改了哪些内容,比特币实际上是可以发现篡改了哪些内容的。
现在区块链和比特币的本质有了一个直观的感受。
带大家看一个具体的比特币实例
这个页面就显示的是一个区块的信息这个区块Height表示它是第几个区块。然后Time是产生的时间。
可以看到区块产生的时间是不相同的,每一个区块的产生的总体平均时间是10分钟,但是现在我们看到的产生区块的时间为什么又是不固定的,之后会继续给大家分享。
刚才讲了除创世区块外每一个区块都有一个区块头,图片中的Previous Block就是它的的父区块的哈希值,即是区块头的哈希值,上面的Hash 就是体区块的哈希值。
可以感受到区块链和比特币本质其实就是一个人人可见的且不可更改的大账本,想要知道其他账户有多少钱,我可以根据所有的交易记录来推算出结果。
区块链技术产生的最大的意义就是在于能够创造信任,区块链技术如此受众的原因就在于它的创造信任的功能使得区块链技术可以被广泛应用。比如云存储,智能合约等方面,由于区块链的特性能够使得本来很难达成的商业模式能够顺利成立。
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。