深圳列举网 > 商务服务 > 其他商务服务 > 热门vpay软件开发 本地vpay开发团队
深圳
[切换城市]

热门vpay软件开发 本地vpay开发团队

更新时间:2018-08-06 18:50:59 浏览次数:100次
区域: 深圳 > 福田 > 八卦岭
区块链是目前一个比较热门的新概念,蕴含了技术与金融两层概念。从技术角度来看,这是一个牺牲一致性效率且保证终一致性的的分布式的数据库,当然这是比较片面的。从经济学的角度来看,这种容错能力很强的点对点网络,恰恰满足了共享经济的一个必须要求——低成本的可信环境。

本次分享一下区块链技术,以及目前区块链技术架构,并且介绍一下价值互联网。
一、看待区块链的正确姿势
区块链虽然是一个新兴的概念,但它依赖的技术一点也不新,如非对称加密技术、P2P网络协议等。
区块链本质上是一个基于P2P的价值传输协议,我们不能只看到了P2P,而看不到价值传输。同样的,也不能只看到了价值传输,而看不到区块链的底层技术。
可以这么说,区块链更像是一门交叉学科,结合了P2P网络技术、非对称加密技术、宏观经济学、经济学博弈等等知识,构建的一个新领域——针对价值互联网的探索。
强大的互联网给了我们成本几乎为零的高速信息传输通道,却没有一个成本低廉可靠的高速价值传输通道,那么这也就是区块链即将带来的。
区块链本质上就是要解决商业应用的一种技术方案,更确切的说应该叫分布式的冗余的链式总帐本方案。有关区块链的一些要素:
1、包含一个分布式数据库
2、分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本
3、区块链按时间序列化区块,且区块链是整个网络交易数据的主体
4、区块链只对添加有效,对其他操作无效
5、基于非对称加密的公私钥验证
6、记账节点要求拜占庭将军问题可解/避免
7、共识过程(consensus progress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。
8、共识过程能够解决double-spending问题

二、区块链的一般性架构介绍
在介绍之前,首先介绍一下公有链,联盟链的概念。
其实区分公有链、联盟链很简单,只要看这个区块链的访问权限就可以了,如果访问该区块链需要获得链上节点的许可,那么这是一个联盟链,否则是公有链。
根据名称,我们也可以”望文生义“,公有表示一个完全开放的网络,联盟表示一个半开放的网络,成员之间是共享的,非成员身份是没有自由访问权限的,所以我们也称联盟链为许可链。
从技术上来看,针对不同的业务场景,对区块链有不同需求,比如实时结算业务,要求区块链提供秒级的交割,相对应的就是出块速度的要求,而出块速度过快往往会导致区块链分叉(fork),形成孤儿链,孤儿链是无效的,那么交易也就作废了,影响了区块链的终一致性。
如果频繁产生分叉造成相当比例的用户交易失效,那么可以认为系统是不可靠的。
如果我们将这种实时性要求比较高的业务安插到联盟链中,就可以控制风险,通过调整共识算法,利用快速一致共识模型(Consensus Model)来避免上述问题,虽然不如公有链那么健壮,但对某些特殊场景足够了。
所以架构层面,对公有链和联盟链的技术也要差异化对待。
一个区块链至少分为三层:
底层是一些通用的基础模块,比如基础加密算法,网络通讯库,流处理,线程封装,消息封装与解码,系统时间等;
中间一层是区块链的核心模块,一般包含了区块链的主要逻辑,如P2P网络协议,共识模块,交易处理模块,交易池模块,简单合约或者智能合约模块,嵌入式数据库处理模块,钱包模块等等;
上面一层,往往都是基于Json Standard RPC的交互模块,基于Json-RPC,可以做出更好的UI界面,也可以是一个web-service。
如果区块链支持智能合约,可能还要分更多的层,比如增加BaaS层,区块链上的智能合约提供自治的服务。

三、共识算法与分布式
所谓区块链共识过程,是指如何将全网交易数据客观记录并且不可篡改的过程。这些算法我把它称之为“经济学”的算法,所谓经济学的算法,是指让成本可计算,且让成本往往远大于带来的收益,即无利可图,通过这种思想构造一个用于节点之间博弈的算法,并使之趋向一个稳定的平衡。
相对应的我们还有计算机领域的分布式一致性算法,例如Paxos、Raft,我也称之为传统分布式一致性算法。
他们之间的大区别是:系统在拜占庭将军(Byzantine Generals Problem)情景下的可靠性,即拜占庭容错(PBFT算法支持拜占庭容错)。然而无论是Paxos还是Raft算法,理论上都可能会进入无法表决通过的死循环(尽管这个概率其实是非常非常低的),但是他们都是满足safety的,只是放松了liveness的要求, PBFT也是这样。
下面是一些传统分布式一致性算法和区块链共识过程的异同点:
1、相同点:
(1)Append only
(2)强调序列化
(3)少数服从多数原则
(4)分离覆盖的问题:即长链覆盖短链区块,多节点覆盖少数节点日志
2、不同点:
传统分布式一致性算法大多不考虑拜占庭容错(Byzanetine Paxos除外),即假设所有节点只发生宕机、网络故障等非人为问题,并不考虑恶意节点篡改数据的问题;
传统分布式一致性算法是面向日志(数据库)的,即更通用的情况,而区块链共识模型面向交易的,所以严格来说,传统分布式一致性算法应该处于区块链共识模型的下面一层。

深圳其他商务服务相关信息
算法备案所需材料清单
福田-福田周边
1小时前
4小时前
注册时间:2018年08月02日
UID:510902
---------- 认证信息 ----------
手机已认证
查看用户主页