好文档 - 专业文书写作范文服务资料分享网站

区块链以及区块链技术总结 - 图文 

天下 分享 时间: 加入收藏 我要投稿 点赞

安全可信赖的区块链资产交易平台火币网www.huobi.com

另外还有一些好玩的联盟链项目——R3 CEV项目(联盟链,闭源),以及中国的R3项目——ChinaLedger(联盟链,闭源),当然这些不是开源的,我无法获得有用的资料进行分析,所以就不展开了。

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

如果频繁产生分叉造成相当比例的用户交易失效,那么可以认为系统是不可靠的。

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

所以架构层面,对公有链和联盟链的技术也要差异化对待。

不过客户端整体的设计还是有一些通用的概念的,如下图:

安全可信赖的区块链资产交易平台火币网www.huobi.com

(图1)

一个区块链至少分为三层:

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

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

安全可信赖的区块链资产交易平台火币网www.huobi.com

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

如果区块链 支持智能合约,可能还要分更多的层,比如增加BaaS层,区块链上的智能合约提供自治的服务,比如下面这张以太坊的架构图(来自google,仅作参考):

(图2)

这种分层更加关注的是区块链本身的分层,即业务上的视角,而不完全是技术的。

我们再转向比特币的设计:

安全可信赖的区块链资产交易平台火币网www.huobi.com

(图3)

比特币几个模块之间的耦合度其实比较高,而且有不少历史包袱,比特币的发明者——中本聪在开发比特币的时候,使用VC++开发,而VC++的标准库中的sstream流处理性能非常感人,不得不放弃,自行实现了了基于vector的流处理容器。而随着c++11的推出以及标准库的更新迭代,性能不可同日而语。

从整张图我们可以看出,比特币的模块比较少,也比较简单。chain-paramters描述了整个区块链的参数设置,wallet是与地址/加密还有存储相关的,mem-pool是未确认的交易池。得益于比特币核心开发者的不朽贡献,相比中本聪时代的比特币代码,现在的比特币代码质量已经相当不错了。

以上无论哪种设计,一般都要从P2P网络协议作为切入,作为一个P2P钱包,既要提供Service也要提供Client,作为Service依赖P2P网络协议,作为Client依赖Json-RPC。

安全可信赖的区块链资产交易平台火币网www.huobi.com

需要指出的是,目前”三巨头”所使用的账户模型是不同的(所谓账户模型是指账户记账方法),比特币使用UXTO模型,以太坊和比特股使用账户余额模型。

UXTO模型(Unspent Transaction Outputs (UTXOs) ):此模型表达了一种转移的概念,即任何产生的新币,在以后的生命周期中,只有转移,没有消亡,转移实质上是由加密算法的签名与验证控制的:

(图4)

账户余额模型:账户余额模型摒弃了这种强验证的账户模型,即账户余额回归到数字加减,这样做提升了交易的效率。

#3. 共识算法与分布式

终于来到重点了,本文每节其实都可以展开成为独立的文章,内容所限,简单讲。

区块链以及区块链技术总结 - 图文 

安全可信赖的区块链资产交易平台火币网www.huobi.com另外还有一些好玩的联盟链项目——R3CEV项目(联盟链,闭源),以及中国的R3项目——ChinaLedger(联盟链,闭源),当然这些不是开源的,我无法获得有用的资料进行分析,所以就不展开了。从技术上来看,针对不同的业务场景,对区块链有不同需求,比如实
推荐度:
点击下载文档文档为doc格式
1avou2kqps7f1wl0k4bu3bj0w6iip0013ny
领取福利

微信扫码领取福利

微信扫码分享