(1)
前面说到比特币系统里的矿工实际上是通过把所有的交易记录,打包成一个包,这个包的学名叫区块,而后得到其他节点认可后,把这个区块,并入总账簿,而总账簿是一个块,接着一个块,连在一起的一串区块的链,就最终形成了区块链。
区块链是什么?
区块链技术的核心是一个建立在去中心化网络、共识模式之上的共享数据库。
若想要在共享数据库中添加新的内容,就必须获得一定数量的运行区块链节点的认可、达成共识。一旦达成共识,数据库就就增加一部分新的数据,专业术语称之为区块,整个网络都可以共享它。这个新的区块通过密码学与系统中原有的区块相“链接”(注意当然不是物理上的真的连在一起,只不过每个区块都有唯一的代号,每个区块的产生都是按顺序标记的,这样就看起来像连起来了一样),因为叫“区块链”。
区块链的概念为什么被广泛讨论/
通过深入研究比特币系统,我们发现应用了区块链系统的比特币拥有以下特征:
1.去中心化,不再需要中心化的组织控制,任何节点死掉都不影响整个系统的运行
2.公开透明,且不可更改,所有的内容都可以全网共享,且没有办法对其进行更改,信任本身天然存在了区块链上,永久可追溯
3.自带价值传递基因,天然没有双花问题。以前的互联网世界,只能通过复制的方式传播信息,而区块链世界直接能传递价值
多补充一句:以太坊除了以上的特性之外(严格的讲是前2条,有了前2条第三条就被连带出来了的特性),还具有一个特性,可编程
我们要注意的是比特币只是用了区块链技术,区块链技术不仅仅包含比特币。
怎么讲?
比特币系统中的区块及区块链,存储的都是交易信息,并没有其他的内容,但是不代表区块链技术是不能存放其他的内容的,比如一份合同,而且合同还能在某种特定的情况下被触发执行,这就形成了智能合约的应用。当然还可以存储一些其他脚本内容。
这也是更多的人为之疯狂的原因,想象空间足够大
比如出版发行领域,
出版方对于作者有的时候是没有公布所有的发行册数与销售册数的,另外作者在内容体系链条中的收益仅为7%-15%,而纸张的印刷成本也仅仅为10%,其他的都在出版方和发行渠道手中。如果通过区块链的技术吧出版方和发新版渠道的中间环节去掉,而是作者直接发布内容,然后读者读到后可以转发、评论,而在这个时候作者给与读者转发鼓励,比如转发就得代币,转发有人通过你转发的连接购买得到更多的代币。而且所有的记录都是在区块链上,公开透明不可更改。所有的金钱流动非常的简单。这解决了信息流、钱流,物流直接被干掉了,根本用不到了。
(2)
那我们如何更形象的理解区块链?
我们认知一种复杂的系统/事情/事物的时候,可以采用一定的技巧。
1.这里涉及到两个内容需要重点说明一下,一个是“认知”这个概念,每个人对世界、社会的认识都不一样的,比如有的人打工是为自己工作,有的人打工是为了完成工作而做工作,表面上看他们做的都是一样的工作,但是深层次思考是不一样的
2.认知一个事物可以把这个事物分层次去理解、去认识,比如上面的例子实际上就分了两层,一层是表面上看大家的工作,另一层更深层次的看待两个打工的人的差别。
这种思维模式本质是一种认知世界、事物的方式。
这样的认知一个事物的方式到处存在,也非常的重要。
拿写文章这件事来看,写文章包含这么一些重要的内容
1.中心思想、观点是否能正确,且给人带去足够价值
2.文章的顺序是否能让读者更容易的读、理解
3.文章的字体、风格是否让用户读起来更舒服
我们发现,其实理解怎么写文章这件事,是分层次的。每一层都有有相关的内容。我们这样认知“写文章”这事,就更容易理解它了,也更知道写文章这件事最重要的内容,且自身的劣势在哪里了。
做用户体验的同学思考“用户体验”这事也是分层思考的

网络通信领域的OSI和TCP/IP模型

TCP/IP模型是方便人们更好的认知网络及网络通信的。
实际上我个人觉得用TCP/IP这种思维模式,来理解区块链的模型(虽然市面上还没有普通统一的模型),会理解的更深刻些,他们有共同之处,有差异之处,共同之处在于都是网络,都有传输、应用,不同的地方是一个是以太坊网模式,一个是基于P2P模式,在P2P模式上构建系统,必然会出现所有节点达成共识这个问题。按照这种方式理解,我们把TCP/IP和区块链模型来进行对照理解:
1.应用层,就是比特币这个比币
2.传输层,就是所有节点交互并达成共识的方式
3.网络层,是整个网络系统的形态,区块链是架构在P2P模式基础上的
4.网络接口层,就是区块与区块链
说回区块链领域
说如何形象理解区块链之前,我们仍然回到比特币,因为比特币是全世界第一个应用、且成功应用区块链技术的一项发明。所以深入了解比特币非常有助于我们深入了解区块链。
1.比特币系统,我们能看到的是币,这个能看得见的东西。
2.其次比特币系统是通过PoW这种规则让所有的人形成共识的
3.我们在深挖一层,为什么要形成共识呢?因为这是去中心化的网络存在形式
4.而比特币最终所有的内容都是落在了区块、区块链上面了
区块链技术,本质上来说它是技术栈,它是有很多技术组合而成的一个集成技术,它包含了分布式存储、P2P组网技术、共识机制算法、数字加密技术等

当然这是比特币系统,如果我们把视角从比特币移开,放到更广阔的区块链技术本身来看的话,会有以下发现:
1.应用层:除了比特币,还有其他的各种币;除了币,还有智能合约,除了智能合约还有其他各种各种的网站/APP,当然这种区块链环境下的应用学名叫做DApp,比如菩提、公信宝、卡卡买房。
2.共识层:目前共识的技术手段有十余种,比较流行的主要有PoW,PoS,DPos。实际上在比特币系统里面,矿工们都是争抢着干活的,但是这是有原因的,有东西在激励他们,所以共识也会包含激励这样的内容
3.网络层,毫无疑问,去中心化的网络,必然是P2P模式,所有节点的交互机制,班阔传播机制、验证机制,都会有不同于以太网络的方式
4.数据层:区块链本质是去中心化的共享数据库,而这个数据库的存在形式是区块以及区块之间的关联,这里面还会涉及交易记录的存放方式merkle、交易记录需要让用户签名,需要做加密处理等等
而区块链的模型可能就是这样子了

通过这样一个过程去理解,是不是理解的更深刻了些呢
区块链的核心技术:
1.分布式账本(交易记账由分布在不同地方的多个节点共同完成)
2.对称加密和授权技术(存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的)
3.共识机制
4.智能合约
(3)
区块链的发展历史
技术起源:
1.P2P网络
2.非对称加密技术
3.电子现金系统
区块链1.0:
1.分布式账本
2.块链式数据
3.梅克尔树
4.工作量证明
区块链2.0:
1.智能合约
2.Dapp
前面的内容主要是吧理解这张图的过程分解开来
下图为《工信部-中国区块链技术和应用发展白皮书》,分别是区块链1.0和区块链2.0的技术架构


共识层说明:比特币当初是为了可靠,所以才选择的PoW;IBM自己搞区块链,或是搞联盟链,那肯定会要性能的,所以肯定不会使用PoW的
合约层说明:合约层的下四层,只是一个分布式的数据库(没做什么改变,跟比特币一样)。下三层就能完成区块链的技术,完成虚拟货币的功能。有了智能合约,区块链进入了2.0(1.0是货币,1.0就是做交易)
即将迈入3.0时代
设想的技术架构如下图

欲打造标准化的区块链体系框架

关注点:
应用场景
链类型
核心应用组件
核心技术组件(共识机制,安全机制,存储,通信)
(4)
区块链分为三种类型
公链(各个节点都可以自由加入或退出)
联盟链(通过授权才能加入或退出)
私有链(各个节点的写入权限归内部控制)
需要注意的不是说一个小企业建立的就是私有链了,区分公链、联盟链、私有链,其实就是看网络中的节点,全民参与的都是公链,只允许部分组织(比如几个大型公司)参与的就是联盟链,只允许单个公司范围内,那多数会是私有链···
比如菩提链,它是一个企业的项目,但它是公链。
(5)
对区块链的理解?
1.区块链是一种不可篡改的分布式数据库(把第2、3条的数据按照P2P方式存储)
2.数据库由区块按时间顺序连接而成(和mySQL和Oracle不一样)
3.每个区块保存了一个时间段内所有记录
补充:2、3负责生成区块数据,1是这些数据的存储方式
区块链是
一种新型去中心化协议,通过分布式账本(或者叫数据库)这个载体,
能安全地存储比特币交易或其它数据,
通过分布在全球的网络确保信息不可伪造和篡改,
可以自动执行智能合约,无需任何中心化机构的审核。
现在再回来理解区块链,是不是更透彻的明白这几句话了呢
区块链是什么?
区块链技术的核心是一个建立在共识模式之上的共享数据库,没有不必要的中间环节,因此效率很高。
若要在共享数据库中添加新的数据库,就必须获得一定数量的运行区块链软件的节点的认可,也就是达成共识。一旦共识达成,这个新的数据库就升级成为一个交易 “区块”,系统内其它计算机都可以看见它。这个新数据库通过密码与系统中原有的区块相 “链接”,因此名叫 “区块
链”。
从本质上来说,区块链只是一种用不可变的形式来存储数字信息的方法。
区块链的特性:
1.去中心化【带来的制约是效率比较低,跟服务器的单机效率是比不了的】
2.不可篡改【逻辑差异】
3.可信任【公开透明】
4.可追溯【数据量有限】
5.可编程(以太坊有,比特币有,其他的特性比特币也有)【生态需要成长】