您当前位置:保定理工学院 >> 信息技术中心 >> 网络安全 >> 浏览文章
区块链基础知识普及
【网络安全】 加入时间:2018年04月17日 信息来源:本站原创 作者:xjzx 访问量:

【定义】

区块链(Blockchain)是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案让参与系统中的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的指纹用于链接(chain)下个数据块和校验,系统所有参与节点来共同认定记录是否为真。

区块链是一种类似于NoSQL(非关系型数据库)这样的技术解决方案统称,并不是某种特定技术,能够通过很多编程语言和架构来实现区块链技术。并且实现区块链的方式种类也有很多,目前常见的包括POW(Proof of Work,工作量证明),POS(Proof of Stake,权益证明),DPOS(Delegate Proof of Stake,股份授权证明机制)等。

区块链的概念首次在论文《比特币:一种点对点的电子现金系统(Bitcoin: A Peer-to-Peer Electronic Cash System)》中提出,作者为自称中本聪(Satoshi Nakamoto)的个人(或团体)。因此可以把比特币看成区块链的首个在金融支付领域中的应用。


【通俗解释】

无论多大的系统或者多小的网站,一般在它背后都有数据库。那么这个数据库由谁来维护?在一般情况下,谁负责运营这个网络或者系统,那么就由谁来进行维护。如果是微信数据库肯定是腾讯团队维护,淘宝的数据库就是阿里的团队在维护。大家一定认为这种方式是天经地义的,但是区块链技术却不是这样。

如果我们把数据库想象成是一个账本:比如支付宝就是很典型的账本,任何数据的改变就是记账型的。数据库的维护我们可以认为是很简单的记账方式。在区块链的世界也是这样,区块链系统中的每一个人都有机会参与记账。系统会在一段时间内,可能选择十秒钟内,也可能十分钟,选出这段时间记账最快最好的人,由这个人来记账,他会把这段时间数据库的变化和账本的变化记在一个区块(block)中,我们可以把这个区块想象成一页纸上,系统在确认记录正确后,会把过去账本的数据指纹链接(chain)这张纸上,然后把这张纸发给整个系统里面其他的所有人。然后周而复始,系统会寻找下一个记账又快又好的人,而系统中的其他所有人都会获得整个账本的副本。这也就意味着这个系统每一个人都有一模一样的账本,这种技术,我们就称之为区块链技术(Blockchain),也称为分布式账本技术。

由于每个人(计算机)都有一模一样的账本,并且每个人(计算机)都有着完全相等的权利,因此不会由于单个人(计算机)失去联系或宕机,而导致整个系统崩溃。既然有一模一样的账本,就意味着所有的数据都是公开透明的,每一个人可以看到每一个账户上到底有什么数字变化。它非常有趣的特性就是,其中的数据无法篡改。因为系统会自动比较,会认为相同数量最多的账本是真的账本,少部分和别人数量不一样的账本是虚假的账本。在这种情况下,任何人篡改自己的账本是没有任何意义的,因为除非你能够篡改整个系统里面大部分节点。如果整个系统节点只有五个、十个节点也许还容易做到,但是如果有上万个甚至上十万个,并且还分布在互联网上的任何角落,除非某个人能控制世界上大多数的电脑,否则不太可能篡改这样大型的区块链。


【要素】

结合区块链的定义,我们认为必须具有如下四点要素才能被称为公开区块链技术,如果只具有前3点要素,我们将认为其为私有区块链技术(私有链)。

1、点对点的对等网络(权力对等、物理点对点连接)

2、可验证的数据结构(可验证的PKC体系,不可篡改数据库)

3、分布式的共识机制(解决拜占庭将军问题,解决双重支付)

4、纳什均衡的博弈设计(合作是演化稳定的策略)


【特性】

结合定义区块链的定义,区块链会现实出四个主要的特性:去中心化(Decentralized)、去信任(Trustless)、集体维护(Collectively maintain)、可靠数据库(Reliable Database)。并且由四个特征会引申出另外2个特征:开源(Open Source)、隐私保护(Anonymity)。如果一个系统不具备这些特征,将不能视其为基于区块链技术的应用。

去中心化(Decentralized):整个网络没有中心化的硬件或者管理机构,任意节点之间的权利和义务都是均等的,且任一节点的损坏或者失去都会不影响整个系统的运作。因此也可以认为区块链系统具有极好的健壮性。

去信任(Trustless):参与整个系统中的每个节点之间进行数据交换是无需互相信任的,整个系统的运作规则是公开透明的,所有的数据内容也是公开的,因此在系统指定的规则范围和时间范围内,节点之间是不能也无法欺骗其它节点。

集体维护(Collectively maintain):系统中的数据块由整个系统中所有具有维护功能的节点来共同维护的,而这些具有维护功能的节点是任何人都可以参与的。

可靠数据库(Reliable Database):整个系统将通过分数据库的形式,让每个参与节点都能获得一份完整数据库的拷贝。除非能够同时控制整个系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。因此参与系统中的节点越多和计算能力越强,该系统中的数据安全性越高。

开源(Open Source):由于整个系统的运作规则必须是公开透明的,所以对于程序而言,整个系统必定会是开源的。

隐私保护(Anonymity):由于节点和节点之间是无需互相信任的,因此节点和节点之间无需公开身份,在系统中的每个参与的节点的隐私都是受到保护。


 

【区块链意义之一 :解决拜占庭将军问题】

区块链解决的核心问题不是“数字货币”,而是在信息不对称、不确定的环境下,如何建立满足经济活动赖以发生、发展的“信任”生态体系。而这个问题称之为“拜占庭将军问题”,也可称为“拜占庭容错”或者“两军问题”,这是一个分布式系统中进行信息机交互时面临的难题,即在整个网络中的任意节点都无法信任与之通信的对方时,如何能创建出共识基础来进行安全的信息交互而无需担心数据被篡改。区块链使用算法证明机制来保证整个网络的安全,借助它,整个系统中的所有节点能够在去信任的环境下自动安全的交换数据。更多介绍请参见《比特币与拜占庭将军问题》。

【区块链意义之二:实现跨国价值转移】

互联网诞生最初,最早核心解决的问题是信息制造和传输,我们可以通过互联网将信息快速生成并且复制到全世界每一个有着网络的角落,但是它尚始终不能解决价值转移和信用转移。这里所谓的价值转移是指,在网络中每个人都能够认可和确认的方式,将某一部分价值精确的从某一个地址转移到另一个地址,而且必须确保当价值转移后,原来的地址减少了被转移的部分,而新的地址增加了所转移的价值。这里说的价值可以是货币资产,也可以是某种实体资产或者虚拟资产(包括有价证券、金融衍生品等)。而这操作的结果必须获得所有参与方的认可,且其结果不能受到任何某一方的操纵。

在目前的互联网中也有各种各样的金融体系,也有许多政府银行提供或者第三方提供的支付系统,但是它还是依靠中心化的方案来解决。所谓中心化的方案,就是通过某个公司或者政府信用作为背书,将所有的价值转移计算放在一个中心服务器(集群)中,尽管所有的计算也是由程序自动完成,但是却必须信任这个中心化的人或者机构。事实上通过中心化的信用背书来解决,也只能将信用局限在一定的机构、地区或者国家的范围之内。由此可以看出,必须要解决的这个根本问题,那就是信用。所以价值转移的核心问题是跨国信用共识。

在如此纷繁复杂的全球体系中,要凭空建立一个全球性的信用共识体系是很难的,由于每个国家的政治、经济和文化情况不同,对于两个国家的企业和政府完全互信是几乎做不到的,这也就意味着无论是以个人抑或企业政府的信用进行背书,对于跨国之间的价值交换即使可以完成,也有着巨大的时间和经济成本。但是在漫长的人类历史中,无论每个国家的宗教、政治和文化是如何的不同,唯一能取得共识的是数学(基础科学)。因此,可以毫不夸张的说,数学(算法)是全球文明的最大公约数,也是全球人类获得最多共识的基础。如果我们以数学算法(程序)作为背书,所有的规则都建立一个公开透明的数学算法(程序)之上,能够让所有不同政治文化背景的人群获得共识。

 

【未来的发展】

互联网将使得全球之间的互动越来越紧密,伴随而来的就是巨大的信任鸿沟。目前现有的主流数据库技术架构都是私密且中心化的,在这个架构上是永远无法解决价值转移和互信问题。所以区块链技术有可能将成为下一代数据库架构。通过去中心化技术,将能够在大数据的基础上完成数学(算法)背书、全球互信这个巨大的进步。

区块链技术作为一种特定分布式存取数据技术,它通过网络中多个参与计算的节点开共同参与数据的计算和记录,并且互相验证其信息的有效性(防伪)。从这一点来,区块链技术也是一种特定的数据库技术。互联网刚刚进入大数据时代,但是从目前来看,大数据还处于非常基础的阶段。但是当进入到区块链数据库阶段,将进入到真正的强信任背书的大数据时代。这里面的所有数据都获得坚不可摧的质量,任何人都没有能力也没有必要去质疑。

也许我们现在正处在一个重大的转折点之上——和工业革命所带来的深刻变革几乎相同的重大转折的早期阶段。不仅仅是新技术指数级、数字化和组合式的进步与变革,更多的惊喜也许还会在我们前面。在未来的24个月里,这个星球所增长的计算机算力和记录的数据将会超过所有历史阶段的总和。在过去的24个月里,这个增值可能已经超过了1000倍。这些数字化的数据信息还在以比摩尔定律更快的速度增长。区块链技术将不仅仅应用在金融支付领域,而是将会扩展到目

前所有应用范围,诸如去中心化的微博、微信、搜索、租房,甚至是打车软件都有可能会出现。因为区块链将可以让人类无地域限制的、去信任的方式来进行大规模协作。

我们这一代人将很可能会幸运地经历人类历史上两个最让人吃惊的事件,地球上的所有人和所有机器通过区块链技术以前所未有的互信展开了空前的大规模协作,其次就是基于此真正的人工智能将被创造出来。这两个时间将会深深地改变这个世界的经济发展模式。创业者、企业家、科学家以及各种各样的极客将利用这个充裕的世界去创造能让我们震惊和快乐。