区块链的简单介绍(一)

ps:文字有点多,请耐心观看。

区块链是什么

  • 实际上,区块链就是互联网的一部分。平时某宝购物、某团外卖等这些基础就是互联网数据与数据间的传输方式。
  • 区块链是一个集合了密码学、分布式储存、智能合约、共识算法等多种新型技术的数据传输方式。并对现有的互联网进行了升级和创新。

区块链为什么叫区块链

  • 区块链本质上,其实就是一个不可篡改的数据库。在数据上传的过程中数据会被打包搭配一起形成一个个数据块,这就像工厂将水果打包到玻璃瓶,生产水果罐头一样,而被打包好的数据块,又有另一个学名叫做“区块”,将每个“罐头”,也就是区块,按照时间的顺序连在一起,就形成了链式的网络。因为整个网络结构是由“区块”和“链”构成的,所以创始人就给它取名叫Blockchain(区块链)。
  • 区块链作为一门新型技术,前景广阔。

区块链的特点——去中心化

  • 区块链最重要的特点就是去中心化,什么是去中心化呢。例如,像我们平时购物用的某宝,实际上就是中心化的,不管是选择商品还是支付交易,对于买家与卖家来说,都有一个绕不开的平台,就是阿里巴巴。它作为一个中心平台,维护着整个网络购物生态。
  • 而所谓的去中心化,就是把阿里这个中心去掉,重新建立一套大家可以共同管理数据且能自由交易的新规则。
  • 中心化有很多问题,在中心化的模式里数据都存储在中心服务器里,一旦这个服务器瘫痪,整个网络都会出现问题。除此之外,行业数据集中在少数几家巨头公司,由于数据管理不透明,一旦数据泄露,后果是灾难性的。而去中心化的好处就在于通过人人参与数据维护,数据信息不再集中,从而解决了这些问题。每个人都可以平等地参与数据的管理与维护。
  • 去中心化有着公平性。

区块链的运行原理

  • 区块链的运行原理就是人们在互联网中达成共识,彼此信任的过程。
  • 区块链的实质是一个人人都可以参与记账的大账本,每个人还有一个小的账本,可以将大账本例的全部数据备份下来,当一笔交易数据产生后,会有人将这笔数据进行处理,然后同步到每个人的小账本中,交给大家进行确认,其中大部分的人认为这个数据是真实,可信的时候,这笔数据才会记录到整个区块链网络的账本中,所有人再去同步更新新的数据。
  • 这个机制的好处就在于,解决了信任问题,像我们现在社交购物,数据都是掌握在中心化的巨头手中,一旦他们更改我们的数据,我们也无从得知,但放在区块链的世界中,只要有人想要更改数据,就会跟其他小账本所记录的数据产生冲突,很快就会被人发现。从而保证了数据的安全问题和信任问题。
  • 所以,区块链运行原理就是一个大家共同记账,互相验证,达成共识的过程。

挖矿是什么意思

  • 所谓区块链中的挖矿与我们日常生活中所说的挖矿不同,它指的是区块链网络中的一种奖励行为。
  • 为了激励大家积极参与数据维护,区块链就有了一个奖励规则,谁能把数据处理的最快,最好,并得到系统的认可,谁就能获得相应数量的比特币作为奖励。因为比特币的数量有限,这种行为由于淘金矿的举动相类似,所以,我们就把通过这种规则,获得比特币的方式称之为挖矿,而参与数据处理的这些人,我们就称之为矿工。矿工就像是区块链的保护神,需要维护网络的运行,还能守护网络的安全,而且人人都可以参与。

比特币挖矿原理

  • 比特币的挖矿原理实际上就是一个数据记录的过程。
  • 区块链是一个人人都可以参与数据处理的数据库,每隔一段时间,就需要矿工将之前没有经过大家确认的交易数据,收集起来,进行处理。
  • 系统有一个特殊的机制,所有处理的矿工,把数据打包的时候,必须加入一个“哈希值”的东西,而且,这个“哈希值”必须满足一定的条件,系统才会认可你处理的数据,谁能最先完成这件事,并把自己的工作成果广播给其他的矿工确认,且大部分认为没问题,就能获得记录数据的权利,以及很多的比特币作为奖励。
  • 这就有点像一个海贼王留下了大笔的金银财宝,然后跟所有人说,去寻找吧,谁就能开启我宝藏大门的钥匙,谁就能获得我的全部财富。
  • 这还是维护整个区块链网络的重要环节,挖矿的人越多,参与数据确认的人也就越多。我们的数据也就越安全。

区块链的分叉是什么意思

  • 区块链的分叉可以说是区块链网络中独有的一种版本升级方式。就像我们生活中使用的互联网软件一样,使用了一段时间以后,自然而然就需要进行优化升级,从而去解决一些用户的使用问题。区块链也是这样,只不过它的升级比较特别,升级的时候会有参与的矿工共同来解决,甚至还能产生多种版本,不像互联网一样一家独裁没有选择的余地。
  • 它的原理是这样的,由于区块链是一个由数据块组成的链式结构,所以当它要升级的时候,实际上会从某一个数据块开始连到两个不同的数据块上,从而分成了两条链,就好像树枝一样,大家共用同一个树干共享未分开前的数据,但是又有很多条树枝属于多条链,这个过程就叫做分叉。
  • 之前我们也说了,区块链的升级是由矿工们一起来决定,既然参与的人多了就会有不同的意见。当大家能达成共识的时候,分叉出来的两条链相当于一个是老的版本,一个是新的版本,两者兼容,老链上的矿工升级后逐渐向新链过渡,最终大家升级完成,只剩新链,这叫做软分叉。
  • 当矿工们不能达成共识的时候,大家虽然够用之前的数据,但是形成了两条新的链,就好比物种进化一样,一部分猴子进化成了人类,另一部分进化成了猩猩,两种物种都发生了改变互不兼容,这叫做硬分叉。
  • 总的来说分叉这种升级方式虽然麻烦很多,但是他却给了每个人更多选择的权利,也许区块链就在这样的求同存异之中孕育着更多的可能性。

区块链的分类

  • 一般来说按照区块链的开放程度主要会分为三种类型,分别是公有链、私有链和联盟链。
  • 所谓公有链就有点像一个大家共同记账的公共账本,对任何人都是开放的,每个人都可以参与进来,数据由大家共同记录,公平公正公开,数据不可篡改,去中心化的性质最强。
  • 私有链则是与公有链相反,有点像一个属于个人或公司的私有账本,只对个人企业内部开放,它的数据虽然也不可篡改,但毕竟开放程度有限,去中心化程度很弱,不过因为参与数据处理的人数变少,效率会比公有链要高很多。
  • 而联盟链就介于两者之间,有点像一个由多个公司组成的联盟,他们内部所用的公用帐本,数据由联盟内部的成员共同维护,只对组织内部成员开放,它的去中心化程度适中甚至可以说是多中心化的,其在效率方面比公有链强,比私有链弱。
  • 总的来说,不同类型的区块链有不同的作用,向公有链就比较偏向于公用建设,而私有链联盟链则比较偏向于企业或组织方向的应用。

区块链的核心技术

  • 一般来说,区块链的核心技术主要有4个部分,分别是分布式存储、共识机制、智能合约及密码学,每个技术在整个区块链系统里都有它们各自的作用。
  • 其中分布式储存就是一种数据的储存技术,人人可以参与一起进入数据,主要起到了数据储存的功能。
  • 共识机制,其实就是我们之前所说的挖矿原理,是一种协调大家处理数据的机制,因为每个人都可以参与的话,记录下来的数据这么多到底该用谁的,于是共识机制就决定了这些数据中谁获得数据的记账权。共识机制主要起到了数据的维护作用。
  • 智能合约类似于我们生活中的合同,它是一种大家把规则都制定好,由机器自动去执行的技术,之前存储和维护好的数据总是要有人去执行的,所以 智能合约在系统中主要起到了数据的执行作用。
  • 密码学就是一种特殊的加密和解密技术,主要起到了维护数据安全和数据证明的作用,有了它我们才能在网络中证明“我是我”,才能证明这是我的比特币,而不是你的比特币。
  • 所以当一笔数据产生后会有共识机制进行数据维护,通过分布式储存记录在链上,然后交由智能合约去执行,最后由密码学保障整个体系的安全。大家各司其职,共同构建出了整个区块链系统。
  • 总的来说区块链,是一个数据传输的应用模型,由这4种技术所构成,就好比区块链是一座高楼大厦,而技术则是搭建这座高楼的材料,正是因为有这些技术作为基础,解决了一个又一个问题,才有了区块链的广阔前景。

区块链技术的诞生

  • 我们都知道区块链这个词是2008年跟比特币一起诞生的,虽然它由中本聪率先提出,但是区块链技术可不全是中本聪发明的,区块链的核心技术包含密码学、分布式存储、共识机制、智能合约4个部分,他们经历了40年的发展,才有了如今区块链技术的雏形。
  • 1976年,迪菲和赫尔曼两位密码学大师合作发表了论文《密码学的新方向》,其中提及的概念就好像众神遗留在新世界中的瑰宝,奠定了当今整个密码学的发展方向,无数技术天才就此开始探索。第二年密码学中注明了rsa算法诞生,这个算法到今天都没有被攻破。
  • 到了20世纪80年代,1980年和1982年这两年哈希树的数据结构和相应算法以及拜占庭将军问题被相继提出,标志着分布式计算的理论进入到了的实质性阶段。
  • 1985年椭圆曲线加密算法出世,使非对称加密体系有了实用的可能,就此现代密码学基础才被完全的确立。
  • 1997年,智能合约的概念被提出,同年第一代共识机制PoW面世,当时PoW主要还用于反垃圾邮件,就此区块链的四大核心技术基本凑齐,但仍有很多问题没有被解决。
  • 1999年到2001年,这三年,P2P网络计算飞速发展,Napster EDonkey 2000和BiTorrent先后的出现奠定了P2P网络计算的基础。
  • 2001年,就是SHA-2系列算法诞生,最开始比特币的区块链系统中就采用了这一套算法,至此区块链的核心技术积累基本完成,不论是理论还是实践,区块链的落地都不再存在重大瓶颈。
  • 在2008年,中本聪的《比特币:一个点对点的电子现金系统》论文中,区块链技术就此确立,并在次年顺利落地,宣告着一个崭新的时代即将到来。

区块链中的密码学

哈希算法
  • 区块链的四大核心技术分别是密码学、分布式账本共识机制以及智能合约,而密码学又是其中最重要的一部分,因为密码学可以说是区块链的基石,其他技术正是以此为地基才搭建出区块链这座高楼大厦。
  • 区块链主要应用的密码学算法有两个部分,一个是哈希算法,另一个是非对称加密。
  • 简单来说哈希算法就是一种特殊的函数,不论我输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,就好像我们的身份证号一样永远都是18位,而且全国唯一这个值就叫做哈希值。
  • 哈希算法有三个特点,他们赋予了区块链不可篡改、匿名的特性,并保障了整个区块链体系的安全。
  • 哈希算法的第一个特点是具有单向性,比如我们输入我们的数据,通过哈希算法可以得到一个哈希值,但是通过这个哈希值是没有办法反推回来得到我们的数据,这就是单向性,也正是基于这一点,区块链才有效保护了我们信息的安全性。
  • 哈希算法的第二个特点是抗篡改能力,对于任意一个输入哪怕是很小的改动,其哈希值的变化也会非常大,它的特性在区块与区块的连接中就起到了关键性的作用。区块链的每一个区块都会以上一个区块的希值作为标识,除非有人能破解整条链上的所有哈希值,否则数据一旦记录在链上就不可能进行篡改。
  • 哈希算法的第三个特点是抗碰撞能力,所谓碰撞就是输入两个不同的数据,最后得到了一个相同的输出,就跟我们逛街时候撞衫一样,而抗碰撞就是大部分的输入都能得到一个独一无二的输出。
  • 在区块链的世界中,任何一笔交易或者账户的地址都是完全依托于哈希算法生成的,这就保证交易或者账户地址在区块链网络中的唯一性,无论我这笔转账转了多少钱或转给了多少个人,在区块链这个大账本中都是唯一的存在。
  • 总的来说哈希算法在区块链技术中是最基础的存在,它就像我们体内的白细胞,不仅区块链的每个部分都离不开,而且它还赋予了区块链种种特点,保护着整个区块链体系的安全。
非对称加密
  • 简单来说非对称加密就是用来对内容进行加密的一种特殊方法,我们日常生活中总用到钥匙跟锁,其中我们开门用的钥匙在密码学中就被称之为密钥,像这种单独只有一个密钥,既用于加密,又用于解密的方式就叫做对称加密。
  • 所谓的非对称加密它就比较特殊,会产生两个密钥,最核心的被称之为私钥,他由我们自己保留,另一个会被公开出来叫做公钥,他们有个特点,私钥加密的内容通过公钥可以解密读取出来,反之通过公钥加密的内容也可以由私钥解密读取出来,就好像双胞胎的心灵感应一样。
  • 非对称加密在区块链中的主要用途并不是为了保护内容的隐私性,而是为了防止身份被冒充,我们在区块链网络上进行一笔交易时,我没有办法确定交易的是不是你本人,这个时候就可以让你用私钥加密一段内容作为数字签名发过来,然后我通过已经公开的公钥进行破解,因为私钥只由你本人保留,如果我们用与之对应的公钥成功破解,就说明是你本人在进行操作。
  • 如果不能破解则说明是别人盗用了你的身份,以此解决了,“我是我,这是我在交易”的问题。总的来说密码学是区块链网络中最基础的存在,它不仅保护了整个网络的安全,更解决了很多交易中的证明问题。

什么是分布式账本

  • 分布式账本是区块链的四大核心技术之一。如果说密码学是区块链的基石,那么分布式账本就是区块链的骨架。
  • 简单来说分布式账本就是一种数据存储的技术,是一个去中心化的分布式数据库。
  • 比如我们早期使用的某宝软件,我们的信息实际都存储在阿里的一个大数据库里,信息都比较集中,一旦集中式的数据库发生问题,就会出现宕机,无法使用等严重后果。后来阿里意识到数据存在着潜在的风险,于是把数据分散到多个数据库中,共同储存数据,哪怕其中的一个出现问题,其他的数据库也能够顶替它继续运行,保证整个某宝网络的正常工作。而这种分散储存数据的技术就是分布式数据库。
  • 区块链采用的分布式账本则更加特殊,它同样是一种分布式的数据库,而它与阿里使用的分布式数据库的区别在于区块链是去中心化的,阿里是中心化的,像阿里使用的中心化数据库数据储存在一个大的数据库中,中心化巨头自行维护用户没有权限进来,用户们要想查看历史数据,都得接入他们的中心服务器发送请求,一旦这些中心化的巨头想要用你的数据做些什么,你也无能为力。
  • 分布式账本则是去中心化的数据库,由一个个数据库连接起来,形成一个大的分布式数据库,每个数据库权限相同,都可以查看储存所有的数据,就好比每个人,人手一个账本,每笔交易大家都会共同记录,过一段时间大家聚在一起对一下账本一旦有谁篡改历史记录,立马就能被大家发现,而且这个账本对每个人都完全开放,如果你想参与进来,只要通过区块链网络的许可就可以成为其中的一个节点。
  • 分布式账本在区块链中的作用,不仅仅是使得数据具有多个备份,有效防止数据丢失,更赋予了区块链去中心化的特点,防止数据都集中在巨头手中,而巨头拿你数据作恶的情况出现。

拜占庭将军问题

  • 分布式账本可以说是区块链的框架,每一个人都可以自由的参与进来,共同处理区块链中的数据。基于这一点,区块链实际上就是一个大的分布式计算网络,它并没有一个类似中央指挥室的东西来发号施令,整个网络是完全分散的,要依靠不同的节点间彼此交换信息,达成共识才能统一行动,整个过程就像无领导小组讨论一样。
  • 对此有人就提出了疑问,万一有节点发送了错误的信息干扰网络正场运行,或者大家产生了分歧怎么办?于是学者们便建立了一个模型,统一将这类问题称为拜占庭将军问题。
  • 所谓拜占庭将军问题是这样的,拜占庭帝国想要攻打一个国家,它派出了多支军队进行围攻,但敌国军事实力也很强,将军们必须在同一个时间一起发动进攻才能获取胜利。现在的问题在于每个将军都分散在敌国四周,只能依靠通信兵骑马,相互通信确定进攻的时间,可是一方面通讯兵可能会在送信过程中被敌方击杀。另一方面根据不可靠消息,在这些将军中有叛徒的存在,可能会向其他将军传达虚假指令,影响他人判断。
  • 如果整个分布式网络相当于拜占庭帝国,而每个节点相当于里面的将军,那么在这种状态下该怎么做才能保证网络中的全部节点对于某个事情达成一致,这就是拜占庭将军问题。总的来说,拜占庭将军问题是分布式网络必须要解决的问题,如同刚才描述的不仅各个节点之间的通讯,可能由于网络故障导致延后或者中断,更可能存在恶意节点,故意发送错误的信息干扰网络的运行。
  • 后来又有人证明出了拜占庭容错的观点,简单来说就是信息的伪造或错误并不重要,只要诚实的将军数量大于总数的2/3,即使有少部分不诚实的将军存在,整个系统也可以达成一致。于是大家以此为基础,设计出了很多解决方案,区块链四大核心技术中的共识机制,就是为了解决这个问题而诞生的一个方案。

什么是共识机制

  • 区块链作为分布式网络中的典型代表,则采用了一系列新型的技术来解决这个问题,这个技术就叫做共识机制。简单来说共识机制就是一种规则,每个节点都必须遵守。它同样是区块链的四大核心技术之一,在区块链网络中主要起到了协调全节点帐目保持一致的作用。
  • 我们都知道区块链是去中心化的,基于分布式账本技术,每个人都可以自由的加入进来,成为其中的一个节点。但想一想如果只是单纯如此会造成什么结果?比如我作为一个节点加入进来,有一笔数据我是这样处理的,而另一个人是以另一种方式处理的,我们两个谁都说服不了谁,权限又都平等,这样整个网络就很容易发生分歧,产生混乱。此外在这种环境下,我和其他节点相互不认识,又没有一个中心化的权威机构来做担保,我怎么确定其他人处理的数据没问题?所以说去中心化的环境下,是没有一个比较中心化的节点能做决策,协助网络运行。
  • 中本聪为了解决这个问题就想了个办法,虽然整个网络中没有一个中心化的节点能做决策,但是我可以设立一套规则,每个节点必须遵守,规则内容要包含两点,第一是解决分布式账本中每个节点怎么记账的问题。第二是解决不同节点间如何交换信息达成共识的问题,这样就能在一个没有中心化节点存在的情况下,既能让每个节点比较统一的做一件事,又能保证每个节点的小数据库之间数据一致,从而令分布式网络比较有序的去运行,所以共识机制更像是一种制度,如果把区块链当成一个社会,那么共识机制就是这个世界中的法律人人都得遵守,不仅解决了信任的问题,更维护着整个区块链社会的正常运行。

ps:文章是一点点敲的。不想看文章的可以观看视频。链接:https://study.163.com/course/courseMain.htm?courseId=1209605829。后续会详细写关于区块链问题的文章。就看我能不能耐住性子学习了(= ^ = )

区块链的简单介绍(一)相关推荐

  1. 区块链的简单介绍(二)

    区块链的简单介绍(二) 什么是PoW共识机制 所谓PoW机制全称是proof of work,也就是工作量证明.最开始这个技术是被用来解决垃圾邮件的问题.不过后来中本聪发现这个技术能有效解决拜占庭将军 ...

  2. 区块链核心技术简单介绍

    今日对区块链的基础知识进行查缺补漏,参考了几篇文章后,对区块链中的几个核心技术增加了一点了解,给大家分享一下

  3. 超详细的【区块链】技术介绍整理(七千余字+九大板块)

    区块链:详细介绍 一.什么是区块链(Blockchain)? 1.定义 2.从不同视角认识区块链 3.用生活中的例子理解区块链 二.区块链的来源 三.区块链的发展阶段 1.酝酿期 2.萌芽期 3.发展 ...

  4. 井通区块链发行通证介绍

    本节介绍井通区块链上发行通证的流程和相关开发相关资源. 一.通证发行流程 1.用户注册 商户需要在井通银关注册账号.井通银关现在改叫互享网: https://www.sharingnetwork.cn ...

  5. 井通区块链数据上链介绍

    井通区块链数据上链介绍 1.概述 本文主要描述井通区块链上通过Memo的方式进行数据上链,以及进行数据上链之后的数据查询等. 基本流程如下: 1) 创建钱包 2) 激活钱包 3) 抽取业务数据 4) ...

  6. HyperLedger Fabric Introduction——区块链超级账本介绍

    介绍 HyperLedger Fabric是一个基于模块化架构的分布式账本解决方案平台,它拥有深度加密.便捷扩展.部署灵活及可插拔等特性.它设计之初的目的是支持不同组件的可插拔实现,并适应整个经济生态 ...

  7. 什么是区块链?详细介绍区块链。

    本文摘自与JAVA编程公众号!!!! 每条大街小巷,每个人的嘴里,见面第一句话,就是区块链~区块链, 最近区块链非常火,关注度和曝光度持续上升,国内众多巨头公司纷纷张开双臂拥抱,把区块链当做互联网时代 ...

  8. 区块链基础(简单学习)

      摘要:2008年,区块链技术走上了舞台.其因去中心化,透明可信等特点受到了科技界的关注,成为了近几年热议的话题.2014年,以太坊平台的出现将区块链技术推到了新的高度.区块链技术采用了分布式账簿, ...

  9. 井通区块链API接口介绍02-挂单类+交易记录+交易效果

    本节介绍井通区块链的挂单接口和交易记录接口. 井通区块链是一个原生支持多资产,原生支持多资产之间相互交易的底层区块链系统,因此用户可以直接在链上挂单,用一种资产 交换另外一种资产,价格和数量可以自由定 ...

最新文章

  1. linux ubuntu ping命令安装
  2. 看了SUMTEC的稍微思考了一下…… 感触颇深。讲一件身边的事:
  3. 机器人(机械臂)动力学建模方法(Newton-Euler equation)
  4. 特殊方法,类之间的关系,分页
  5. SparkStreaming
  6. 信息学奥赛一本通(1237:求排列的逆序数)
  7. ASP与ActiveX控件交互实战(一)
  8. 自定义action消息
  9. php底层深度探索(3) ---Apache启动阶段分析 王泽宾
  10. lodop指定打印机打印_2020年打印机推荐选购,看这篇就够了
  11. [转]访问 OData 服务 (WCF Data Services)
  12. 如何使用Excel的数据去查询数据库?
  13. win7找回快速启动栏
  14. mysql如何存储非结构化数据_数据库-数据存储-非结构化数据的存储方式
  15. mysql 1114错误_mysql cluster导表时报1114问题
  16. 支持联发科cpu的linux系统,联发科发表 10 核心的新 Helio X20 处理器
  17. 建立远程桌面需要在对方服务器上做设置吗,SFB 项目经验-23-要远程登录,你需要具有通过远程桌面服务进行登录的权限...
  18. 选择题汇总3(括号里填的答案都是对的,不用管下面那个答案正确与错误,因为作者懒得删了)
  19. 计算机丢失opencv_world300.dll文件
  20. nanopore测序技术专题(一):为什么要选择nanopore测序?

热门文章

  1. 如何分类验证码UU云谈谈验证码识别
  2. 中基鸿业个人理财原则与规划
  3. mysql strchr_strchr实现
  4. h3c服务器操作系统微软彩盒,校园网络设计计算机网络课程设计.doc
  5. 公积金软件报错提示不能写入到文件
  6. 浏览器的怪异模式和标准模式的区别
  7. Semi-Supervised Semantic Image Segmentation with Self-correcting Networks基于自校正网络的半监督图像语义分割
  8. HTML中的table标签与a标签
  9. 新工科计算机教育怎么落地?
  10. python小论文范文3000字_3000字论文标准格式范文模板