区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。
区块链技术的内涵可概括为:在缺少可信任的中央节点和可信任的通道的情况下,分布在网络中的各个节点应如何达成共识。
区块链主要的优势是无需中介参与、过程高效透明且成本很低、数据高度安全。所以如果在这三个方面有任意一个需求的行业都有机会使用区块链技术
区块链是比特币的底层技术和基础架构。本质上是一个去中心化的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一 种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算范式。
区块链格式作为一种使数据库安全而不需要行政机构的授信的解决方案首先被应用于比特币。区块链 – 原始区块链 -是一种去中心化的数据库,它包含一张被称为区块的列表,有着持续增长并且排列整齐的记录。每个区块都包含一个时间戳[6]和一个与前一区块的链接:设计区块链使得数据不可篡改 — 一旦记录下来,在一个区块中的数据将不可逆。可以用区块链的一些领域可以是:
物联网
智能合约
存在性证明
社交通讯
证券交易
身份验证
文件存储
电子商务
股权众筹
分类
区块链目前分为三类,在货币发行的《区块链:定义未来金融与经济新格局》一书中就有详细介绍,其中混合区块链和私有区块链可以认为是广义的私链:
公有区块链(PublicBlockChains)
公有区块链是指:世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。公有区块链是最早的区块链,也是目前应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。
联合(行业)区块链(ConsortiumBlockChains)
行业区块链:由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点可以参与交易,但不过问记账过程(本质上还是托管记账,只是变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人可以通过该区块链开放的API进行限定查询。
私有区块链(privateBlockChains)
私有区块链:仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。目前(Dec2015)保守的巨头(传统金融)都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化,私链的应用产品还在摸索当中。
区块链的进化方式是:
▪ 区块链1.0——数字货币
▪ 区块链2.0——数字资产与智能合约
▪ 区块链3.0——DAO、DAC(区块链自洽组织、区块链自洽公司)-->区块链大社会(科学,医疗,教育etc,区块链+人工智能)。
特征
去中心化
由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。得益于区块链的去中心化特征,比特币也拥有去中心化的特征,在火币联合清华大学五道口金融学院互联网金融实验室、新浪科技发布的《2014—2016全球比特币发展研究报告》中就有详细报告。开放性
系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
自治性
区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
信息不可篡改一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
匿名性
由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
特征区块链和云计算云存储有什么关系
云计算通常定义为通过互联网来提供动态易扩展且经常是虚拟化的资源,但是提供云计算平台的往往是一个中心化机构。而区块链组成的网络一般是没有特定的机构,所以区块链更接近分布式计算系统的定义,属于分布式计算的一种。不过,区块链是能够实现云存储的,不同于目前中心化提供云存储空间,区块链有一些提供去中心化的云存储方案。这样的项目包括Storj,Sia,Maidsafe。
区块链云存储Storj
区块链技术和最古老的存储结合的产物——区块链云存储Storj.Storj来自开源项目Metadisk,因此也是一个开源的云存储。这个云存储的核心技术就是区块链技术。它没有数据中心,没有机房,而是利用我们每个人电脑的剩余硬盘空间。
首先,如果你要上传一个文件,Storj会把文件进行切片,然后各个分片单独加密,然后保存到互联网上面其他用户贡献出来的硬盘空间上。
为了保证数据不被篡改,Storj采用一种数据结构叫Merkle树。这是一个二分哈希树。
这个树的特点就是每个节点的hash值和下面的两个叶子节点有关。也就是我验证数据有没有被修改过,只需要对比root节点的hash值就可以了,因为你修改任何一个数据,都会引起root的值发生改变。这个对互联网来说,非常重要,需要传递的信息很少。而且,可以追溯到到底哪个数据块发生了修改。
当然,一般也不需要对整个数据块进行hash chanllenge,Storj混合使用三种方式(整块,切成小块循环,某些特定块)来验证数据的完整性。
如果发现有某些块不可用(被修改或者不能访问),Storj利用纠删码方式,从其他可用的数据块重构该数据块,保存到其他节点上。
每个数据块都插入相应的元数据,让数据被修改几乎不可能。每个用户的下载速度会很快,因为采用P2P技术。
什么是挖矿
比特币中的“挖矿”实际上就是记账的过程,比特币的运算采用了一种称为“工作量证明(Proof of Work,PoW)”的机制,系统为了找出谁有更强大的计算能力,每次会出一道数学题,只有最快解出这道题目的计算机才能进行记账。而抢到记账权的计算机会获得25个比特币的奖励。通常把这个行为称为“挖矿”,把获得的比特币视为挖矿成功获得的奖励。并非所有的区块链项目都会采用类似于比特币这样的“工作量证明”方式,这更多出现在早期的区块链项目中。如果采取其他的证明机制,如“权益证明(Proof of Stake,PoS)”、“股份授权证明机制(DPoS,Delegate Proof of Stake)”都是不需要采取这样的挖矿方式。