01-区块链入门之 区块链介绍二-大叔思维 (2)

如今的金融领域,除了支付比较便利之外,在其他绝大部分的业务中,我们就像是被套着锁链走路一样,我们反复确认,反复审核,反复监督,我们反复构建一个又一个的大大小小的高可用集群,保证线上服务的可靠性与连续性,我们雇佣一个又一个的安全工程师,交付一个又一个的渗透测试项目。为什么?因为作弊的成本太低了,低到只要改数据库的一行记录就可以提取上百万的资金。 

强大的互联网给了我们成本几乎为零的高速信息传输通道,却没有一个成本低廉可靠的高速价值传输通道,那么这也就是区块链即将带来的。

4.区块链是一个公共的分布式总账

更确切的说应该叫分布式的冗余的链式总帐本:

包含一个分布式数据库

分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本

区块链按时间序列化区块,且区块链是整个网络交易数据的唯一主体

区块链只对添加有效,对其他操作无效

基于非对称加密的公私钥验证

记账节点要求拜占庭将军问题可解/避免

共识过程(consensus progress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。 

共识过程能够解决double-spending问题

5.区块链技术的本质

区块链本质上就是要采用共识算法(共识模型)能够提供一个可信任的环境,使:

每个节点交换数据过程不被篡改;交换历史记录不可被篡改;

每个节点的数据会同步到最新数据,且承认经过共识的最新数据;

基于少数服从多数的原则,整体节点维护的数据本身客观反映了交换历史。

6.区块链的一般性架构介绍

介绍一下公有链,联盟链的概念,区分公有链、联盟链很简单,只要看这个区块链的访问权限就可以了,如果访问该区块链需要获得链上节点的许可,那么这是一个联盟链,否则是公有链。根据名称,我们也可以”望文生义“,公有表示一个完全开放的网络,联盟表示一个半开放的网络,成员之间是共享的,非成员身份是没有自由访问权限的,所以我们也称联盟链为许可链。

下面我们来看几个比较主流的区块链平台(公有链,皆开源):

比特币 Bitcoin

以太坊 Ethereum/经典以太坊 Ethereum Classic

比特股 Bitshares

一般戏称为”三巨头“,从生态上来看,比特币是最为成熟稳定的,以太坊更像是一个冲在前面的勇士,比特股相比前两位生态要小很多,但是从创新的角度,也不亚于前两位。其他的很多项目,是从这三个区块链上衍生出来的,所以以这三个为基础,基本上可以吃透区块链了。 

另外还有一些银行寡头间的联盟链项目——R3 CEV项目(联盟链,闭源),以及中国的R3项目——ChinaLedger(联盟链,闭源)。

从技术上来看,针对不同的业务场景,对区块链有不同需求,比如实时结算业务,要求区块链提供秒级的交割,相对应的就是出块速度的要求,而出块速度过快往往会导致区块链分叉(fork),形成孤儿链,孤儿链是无效的,那么交易也就作废了,影响了区块链的最终一致性。如果频繁产生分叉造成相当比例的用户交易失效,那么可以认为系统是不可靠的。

如果我们将这种实时性要求比较高的业务安插到联盟链中,就可以控制风险,通过调整共识算法,利用快速一致共识模型(Consensus Model)来避免上述问题,虽然不如公有链那么健壮,但对某些特殊场景足够了。所以架构层面,对公有链和联盟链的技术也要差异化对待。

7.客户端整体设计的通用概念

一个区块链至少分为三层,最底层是一些通用的基础模块,比如基础加密算法,网络通讯库,流处理,线程封装,消息封装与解码,系统时间等;

中间一层是区块链的核心模块,一般包含了区块链的主要逻辑,如P2P网络协议,共识模块,交易处理模块,交易池模块,简单合约或者智能合约模块,嵌入式数据库处理模块,钱包模块等;

最上面一层,往往都是基于Json Standard RPC的交互模块,基于Json-RPC,我们还可以做出更好的UI界面,也可以是一个web-service

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwsgfy.html