区块链系统定义
1. 几种不同的区块链系统定义
1)维基百科
区块链(英语:blockchain 或 block chain)是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。
2)百度百科
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
3)MBA智库百科
区块链技术是一种不依赖第三方、通过自身分布式节点进行网络数据的存储、验证、传递和交流的一种技术方案。
4)中国数据中心联盟
区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储,无法篡改,无法抵赖的技术体系。典型的区块链是以块链结构实现数据存储的。
2.什么是区块?
区块(block)就是记录交易数据的块状数据结构;就像是一个虚拟的,专门用来储存交易数据的盒子;也像是数据库里的一个记录了一些交易的数据表;或者像是传统的记录交易的流水账里的一张帐页。
当然这个区块,也就是盒子,数据表,帐页有一点特殊。其特殊之处如下:
1)永恒性,就是说里面存储的数据只要是写上了就不能改动了。
2)独特性,就是说里面存储的数据都是独一无二的,绝对不重合。每一个区块都包含了前一个区块形成后到本区块形成时这个期间内的全部相关信息。
3)透明性,就是说里面存储的数据是谁都可以看得到,看的真切,看得完全。
4)均匀性,就是说每个区块的个头都差不多,有限定的尺寸,绝不能超标。目前区块大小的限制是1MB,计划11月份扩容到2MB。
3. 什么是区块的链?
区块的链就是数据短链。就像是穿起来的一串小盒子的铁链,连接数据库的各个表的数据指针,穿起散乱账页而形成流水账本的胶水或线绳。
同样,区块的链也非简单之辈。其也有一些特点:
1)智能性,每个区块的链都能自己找到其对应的上一个区块,绝不会发生错误。
2)择快性,适合用于链接的数据链很多,但是被选用的只能有一根。选用的方法是谁最先达到要求就用谁。其他的一律弃用。
3)恒定性,一根数据段链一但被选用,就永远不会被更换。
4. 什么是区块链?
区块链 = 区块+链。
区块链(blockchain)就是由数据短链串联起一个个记录交易数据的块状数据结构而最终形成的链状数据结构。也就像是用铁链穿起来的一串小盒子,用数据指针连起各个数据表构成的数据库,用胶水或线绳穿起散乱账页而形成的流水账本。
当然,这个区块链,也就是小盒子串,数据库,和流水账本也有如下的非同寻常之处:
1)次序性,区块链上的每个区块都是按着大概的时间次序,有着从小到大的编号。对于比特币的区块链来说,就是从0(以前是1)开始,一个数一个数的增加。
2)恒增性,随着时间的流逝。区块链上的区块大体上匀速增加。区块链也就变的越来越长了。对于比特币的区块链来说,就是大约10分钟增加一个区块。
到目前为止,如果我们总结一下对区块链的描述,就不难发现,区块链并没有什么特别出彩的地方。它跟传统的数据库,特别是跟面向对象数据库长的很像。只是有些如前所述的小小的差异。这是因为,到目前为止所说的只是静态的区块链。静态的区块链只能说是一种略有变化的数据库,一本特殊点的流水账本。使区块链真正大放光彩的其实是它动态部分。就如同不会动的汽车,只是支撑在四个轱辘上的小房子。并没有什么特殊的意义。
5. 区块链系统
1)什么是区块链系统?
在对于区块链的理解方面,其实人们是有许多误区的。最主要的表现就是把单个的链状数据结构体同由多个(很多个)链状数据结构体组成的区块链网络结构体相混淆,即将个体和整体相混淆。为了明确这种区别,我这里用区块链系统来表示区块链网络结构体,而区块链仅仅代表由区块及其数据链共同构成的链状数据结构。
区块链系统就是动态的区块链,它表现为通过点对点传输,直接将许多相同的区块链分别存放和维护在世界各地的各个用户手中;由这些用户来共同决定记录什么数据;也由这些用户来共同使用这些数据。
2)一个故事
其实,我个人觉得区块链系统的最初构思应该可以用一个故事来形容:
在某证券业非常发达的国家,有一只非常非常火的股票,度百股票。
每天,上千万股的度百股票通过交易中介,被成千上万个交易者买卖着。当然也有大量的度百股票被一些投资者持有着。
同样,每天,这些中介,交易者,持有者也在记录着自己的,或者自己服务的人或机构的有关度百股票交易或持有的信息;也就是都持有一本自己用的,关于度百股票的账本。也就意味着在全国存在着成千上万本各式各样的内容迥异的关于度百股票的账本。
由于在记账时时常会发生各种各样有意无意的失误,经常是纷争不断。
某一天,天生异象,所有人一起突发奇想,决定将全天下所有关于度百股票的账本全部集中起来,一本不拉,合订成一个账。
恰巧,这时市场上新出现的一种神奇账本。此账本的确是神奇无比。任何文字一写到这个账本上就永不褪色,无法进行任何更改。对于一个批次的账本,往一个账本上写了什么,其他全部同一批次的账本上都会立刻显现出来同样的内容,分毫不晚,分毫不差。
人们立刻买来这种神奇账本。经过一番努力,将账本中所有重复的记录全部去掉;并按时间的先后次序把所有的记录重新排列记录到神奇账本上。这样就做好了一个全国统一的大账本,并将原先的各式各样的小账本全部烧掉。
随后,给所有的相关人员人手发放一份用同一批次神奇账本做的新账本。同时约定,每个人都保管一个新的账本,对账本上今后的任何内容的添加都必须预先得到大多数账本持有者的检查和同意才行。
从此以后,就天下太平,其乐融融了。
3)最初的区块链系统的基本原理
通过这个故事我们不难发现,最初的区块链系统就是为比特币的发行,交易,储存和销毁作记录服务的交易记录系统,一个统一账本。
对于虚拟货币来说,它的存在形式和所有权只是体现为一串被及账本记录下来的数字。这个统一账本记录是虚拟货币的存在和所有权唯一的见证。
比特币就像是我故事中的度百股票,其所有的发行,交易,储存和销毁都记录在唯一的一部神奇账本上,并同时被成千上万个分散在大江南北各个角落的利益相关者保管着,核验着,添加着,使用着。统一账本代表了一切。
6. 区块链系统的定义
1)狭义的区块链系统
区块链和区块链系统是不同的。区块链的定义是非常容易的,而区块链系统的定义是困难但是却真正有意义。通过分析前述最基本的区块,区块的链,区块链,和区块链系统,我们暂时可以得出以下定义(狭义的区块链系统):
区块链系统是一种以智能账本为基础,记录全面且统一内容的,保管分散且永久的,内容公开和使用平等的自动记账系统。
2)“中本聪记账法”
区块链系统这种记账系统是前所未有的全新方法。它在记录的同时也对数据进行了处理,即记录和处理合一。它是一个真正的创举。它是对现有的复式记账法的补充。
在人类交易的历史上,记账方法经历了从实物记账向电子记账的演变。分别经历了泥板标记、甲骨刻字、竹板刻书、纸质账本,和电子记账各个阶段。在二十世纪后半期伴随着半导体微处理器的诞生,打孔计算机的出现,IBM引领的大型计算机的开发,个人计算机和局域网的发展,和随着互联网(包括数据库和P2P网络传输技术)兴起等等为记账的跨越空间障碍的提供了技术上的实现手段,并逐步成为现实。
二十世纪末的加密安全技术得到了广泛发展,其中的哈希加密、椭圆曲线密码学、HashCash工作量证明机制等等不仅进一步巩固了跨越空间记账技术而且也为记账的跨越时间障碍提供了坚实的技术基础
而这一系列的技术在中本聪的手中得以融合以及升华。通过神奇组合这些技术区块链这个可以跨越时间和空间的新型记账方法被创造出来。
想象一下,当所有关于一种商品的交易的帐目都统一记录在唯一的,不可更改的,永久账本上时,诸如对账,查账,划账,和审计等工作基本上不需要了。全额交收,24小时运转,实时结算,实时到账都将是未来的现实。因此,无论是从成本还是从效率的角度对全社会的商业活动来说,这种记账法都会带来巨大的影响。在此,我姑且称这种新型会计记账法为“中本聪记账法”,以纪念这一伟大的虚幻者的无心之举。
3)广义的区块链系统
将区块链系统的定义为一种分布式数据库,通过去中心化、去信任的方式,集体维护一个可靠数据库。这种定义其实是非常局限的。
(1) 其在技术操作方面与数据库是不同的。其只能进行数据录入和读取操作而无法进行数据的更新和删除操作。
(2) 其在技术功能方面增加了重要的智能处理功能。对数据的大规模智能处理其实就已经远远跨越出来数据库的范围。
(3) 其不仅在技术方面区别于数据库,而且在存在方面进行了空间上的无限扩大。如果仍然把它看作是数据库,那么这个数据库变成了一个巨大无比的,包含了所有数据提供者和使用者在内的数据库。这样的数据库就变成了一个包含一切的世界,一切都成为了数据库的一部分。当然,数据库也就不复存在了。
(4) 其在时间方面也进行了无限扩大的设计。区块链系统将记录下永恒的数据资料。这个世界上没有永远的公司组织,当然也没有永远的数据库。
区块链系统并不是仅仅停留在智能的记录和处理比特币的产生,存储,归属,交换。推而广之,区块链系统其实是可以智能的记录和处理现实社会中的各种数据。因此,区块链系统(广义的)的定义应该是:
区块链系统是一种全新的对数据进行共同记录,共同存储,直接传输,和共同使用的智能数据处理系统。
(1) 能够处理的内容不仅是信息数据,而且是价值数据。因为其能够保证数据信息的唯一不可复制。
(2) 通过共识机制保证了记录内容的公正和统一。
(3) 通过加密签名机制,分布式共同保管,和点对点传输强化了传输的内容在存储和传输中的安全。
(4) 通过高度透明,匿名,去信任保证了使用的广泛和安全。
(5) 通过脚本的运用保证了数据处理的智能化。
7 区块链系统的主要特征
1)去中心化
区块链系统是以去中心化的方式进行数据的记录,存储和传输的。其由全体节点共同组成一个点对点的网络,没有中心化的设备和管理机构的存在。
去中心化是区块链系统区别于传统的中心化网络系统的最根本点。整个系统的运行就是建立在去中心的前提下的。
区块链系统是一个由各矿工节点记账维持,并储存在全球范围内各个去中心化节点的公开的智能数据处理系统,因为每个节点和矿工都必须遵循同一记账交易规则,而该规则基于密码算法而非信用,同时每笔交易需要网络内其他用户的批准,所以不需要一套第三方中介结构(比如说银行)或信任机构背书。在传统的中心化网络中,对一个中心节点(例如支付中介第三方)实行有效攻击即可破坏整个系统,而在一个去中心化的例如区块链的网络中,攻击单个节点无法控制或破坏整个网络,掌握网内50%的节点只是获得控制权的开始而已。
去中心不是绝对的没有中心,而是中心的弱化,也是中心的多元化。
(1) 去中心本身不是目的,只是一种手段,是为了实现兼顾所有利益相关者的利益的所采用的特殊手段。
(2) 去中心不是一个绝对的概念。严格意义上讲应该是泛中心。因为,绝对的没有中心是无法实现的,至少现阶段是无法实现的。
(3) 去中心是必要的。没有去中心,就无法实现在利益相关者之间的公平。
(4) 中心的一定程度的弱化是必须的。量变导致质变,没有一定量的分散节点的去中心是伪去中心。
(5) 去中心化不是一个万能的解决方案。它以牺牲一定的效率来换取相对的公平和安全。它只适合应用于对特定的数据的处理。
2) 去信任化
区块链系统是以去信任化的方式进行数据的记录和使用的。
通常的人类交易活动是建立在对于金融机构的信任,对于中央银行的信任,对于交易对方的信任,或者对于第三方中间人的信任的基础上。这里其实就引出了很多安全技术应用的需求,或者说很多制度建立的需求。也就是需要大量的中间性的工作。信用程度和中间性工作需求成反比。就是说,如果信用程度越高,需要做的中间性工作就越少。
区块链系统提供了一种方案,让一个网络中,所有的结点都有能力去投票,从而保证了得到承认的结果是大多数人公认的结果,不会因为少数结点作恶,而修改结果。区块链就是因为不想信任网络中的任意一个单一结点,所以让大多数人具有公平的投票权利,而这个投票权利,不是按照规则发放的。也就是内容的记录不需要相信某个特定的记录者,而是大家共同关心的内容由大家共同来记录。
区块链系统对于数据的使用采用了一个非常新奇的方式,就是在交易过程中彻底抛弃掉对信用的依赖。这种解决方案非常类似于物物直接交换的方式。其正如远古时代人们进行物物直接交换时当然不需要什么信用了一样。究其原因,网络技术的发展许多过去存在于社会交易活动中的两大障碍,交易双方的时间差异和空间差异,正在逐渐消失。新型的网络上的物物交换必将日益流行开来。
本质上,新型的网络上的物物交换并没有真正的完全抛开信用。只不过是我们的信用体系发生了变化。现在我们面临的将不仅仅是完全人类的信用,而且是人机联合的信用,甚至是完全机器的信用。新型的网络上的物物交换采用的就是一种人机联合的信用,在人类制定的规则约束下机器自动执行的信用。个人认为这种新信用体系具有极其重要和深远的意义。
3)可靠性
区块链系统的可靠性体现在公开透明,安全可靠,和开放几个方面。
公开透明是指区块链系统的所有数据信息也是公开的,每一笔交易都会通过广播的方式,让所有节点可见。
安全可靠是指单个甚至多个节点对区块链上的数据记录的恶意或无心修改无法改变整个区块链上的数据记录。
开放是指任何人都可以参与到区块链系统中,每个节点都能获得一份完整的数据记录拷贝;是指任何人都可以看到区块链系统的原始代码(开源码),借以全面深入的了解其。
4)智能化
区块链系统的智能化是通过脚本实现的。
一个脚本本质上是一系列指令的集合。这些指令记录在每一次的价值交换活动中。这些指令告诉价值交换活动的接收者(价值的持有人)如何获得这些价值,以及消费自己曾收到的留存价值需要满足哪些条件。一般情况,发送价值到目标地址的脚本会规定,价值的接受者为了接受这个价值必须提供相应的接受条件,也就是:一个公钥,以及一个签名(证明价值的持有者拥有与上述公钥相对应的私钥)。
脚本的神奇之处在于,它具有可编程性:
(1)它可以灵活规定价值接受的条件,例如脚本系统可能会同时要求两个私钥、或几个私钥、或无需任何私钥等。
(2)它可以灵活的规定价值发送的各种条件,比如附加一些价值在什么条件下才能再转移;再比可以约定这一笔发送出去的价值以后只能用于支付给什么人和干什么等等。
脚本可以理解为一种可编程的智能合约。如果区块链系统只是为了适应某种特定的交易,那脚本的嵌入就没有必要了,系统可以直接定义完成价值交换活动需要满足的条件。然而,在一个去中心化的环境下,所有的协议都需要提前取得共识,那脚本的引入就显得不可或缺了。有了脚本之后,区块链技术就会使区块链系统从容应对一些无法预见到的交易情况,保证了这一技术在未来的应用中不断进化发展,增加了技术的实用的无限可能性。