区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。
区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性和生成下一个区块。 比特币白皮书英文原版 其实并未出现 blockchain 一词,而是使用的 chain of blocks。最早的比特币白皮书中文翻译版 中,将 chain of blocks 翻译成了区块链。这是“区块链”这一中文词最早的出现时间。
总而言之,区块链 就是一种特殊的分布数据库。
区块链的主要作用是储存信息。任何需要保存的信息,都可以写入区块链,也可以从里面读取,所以它是数据库。
任何人都可以架设服务器,加入区块链网络,成为一个节点。区块链的世界里面,没有中心节点,每个节点都是平等的,都保存着整个数据库。你可以向任何一个节点,写入/读取数据,因为所有节点最后都会同步,保证区块链一致。
下面来说一下区块链最大的特点:
区块链 是没有中心的,彻底没有管理员。而且他的优点也是从此而来,没有管理,便是不能够被大公司所掌控。但是没有管理员的话,是每个人写入数据的话,会都有一个区块生成。
每一个区块包含两个部分,区块头区块体。区块头包含了生成时间。实际数据和上一个区块的hash。
理解一下什么是hash:
所谓 Hash 就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 Hash 长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的 Hash 一定是不同的。
举例来说,字符串123的 Hash 是a8fdc205a9f19cc1c7507a60c4f01b13d11d7fd0(十六进制),转成二进制就是256位,而且只有123能得到这个 Hash。
如何理解区块链
首先,引入区块链的理念:将一个基于节点的去中心化共识协议与工作量证明(PoW)机制结合在一起。节点通过PoW机制获得参与到系统的权利,每隔一段时间将交易打包到区块中,从而创建出不断增长的区块链。
这里主要有两个概念:去中心化和工作量证明机制。
如何去中心化:区块链系统中的每一个区块,负责记录交易信息,每个用户的收支情况都被永久的存储在区块中供他人查询。每个节点都会保存一份完整的交易数据,所有这些节点组成了区块链的分布式数据库系统,任何一个节点的数据出现问题,都不会影响整个系统的运转。
工作量证明机制:工作量证明(Proof Of Work,简称PoW),简单理解就是一份证明,用来确认你在系统中做过一定量的工作。相较于低效的监测工作的整个过程,通过对工作结果进行认证来证明完成了相应的工作量,则是一种非常高效的方式。例如我们通过完成工作中的各项任务来证明我们为公司创造了价值,从而得到公司的认可。而这种"工作证明"一般都会花费一定的时间才能得到。
P2P网络即对等网络,是一种去中心化的分布式应用架构。这种网络结构与目前传统的CS(Client/Server)、BS(Browse Server)结构的本质区别是,网络中不存在中心节点/服务器。在P2P架构中,每个节点的地位都是对等的,都具有相同的功能,无主从之分。节点通过将硬件资源以服务的形式共享到网络中,这些共享的资源可以被其他节点直接访问。一个节点既可充当服务器的角色,又是服务请求方,故节点越多,网络中可提供的资源就越多。而CS、BS这些模式都是以中心应用服务器为核心的,由用户向中心服务器发起请求,中心服务器处理请求后再将结果返回给用户。用户之间的通信也需要通过中心服务器转发来完成。所以P2P网络中的核心思想也是去中心化。除了这个特点,P2P网络还具有扩展性强、健壮性、高性价比、负载均衡、隐私保护等特点。我们日常使用的BT下载就是采用P2P让客户端之间进行数据传输。BT下载是通过BitTorrent协议(一种中心索引式的P2P文件分分析通信协议),让你在下载其他用户资源的同时,也为其他用户提供上传。所以下载的人越多,可连接到的节点就越多,下载速度就越快。
在区块链的应用中,其实很多技术已经应用到了区块链,但是我们大多没有发现,而且区块链的应用还有更多 ,需要我们去开发。