? ? ? ?
? ? ?
主流区块链技术比较及平台选择分析
? ? ?
?
?
?
?
? ? ?
? ? ?
?
? ? ?
?
?
?
目 录
TOC \o 1-3 \h \z \u 主流区块链技术比较及平台选择分析 1
一、企业区块链的需求 3
二、主流区块链技术简介 3
三、公有链 ,私有链还是联盟链 8
四、云平台还是私有平台 9
五、去中心化系统架构的误区 10
本文介绍当前几种主流区块链技术的特点及彼此的区别,并提出了企业区块链技术和平台选型的要点。
一、企业区块链的需求
区块链是一种真正颠覆性的技术,能给业务网络带来变革。这一创新需要以开放的方式与其他科技公司及行业协作进行。
企业级区块链技术具有以下特征:
1. 共享的许可制账本 (Shared,Permissioned Ledger) 是仅可附加的记录系统 (SOR) 和单一事实来源。它对业务网络的所有参与成员均可见。
2. 共识协议 (Consensus Protocol) 是业务网络的所有参与成员都赞同的协议,可确保仅使用经过网络验证的交易来更新账本。
3. 加密 (Crytography) 可确保交易的防篡改安全性、身份验证和完整性。
4. 智能合约 (Smart Contract) 封装了在网络上发生的交易的参与者协议条款;它们存储在区块链中的验证节点上并通过交易触发。
5. 除了这些属性之外,企业区块链技术还需要支持关键的行业要求,比如性能、经过验证的身份,以及私下和机密的交易。Hyperledger Fabric 就是为满足这些需求而设计的。它还设计了一种可插拔的共识协议,允许企业为其网络选择最佳算法。
二、主流区块链技术简介
1、比特币
比特币是数字货币领域的领头羊,是区块链技术的第一个、也是最成功的应用。专业人士对于比特币的看法呈现明显的两极分化,而比特币的市值却一路攀升。从企业实施区块链项目的角度,比特币的数字货币属性都及其明显。笔者认为比特币本身如下特点决定了比特币的技术架构并不能很好的满足企业对于商业应用的需求:
1. 匿名,反监管。在任何一个商业网络内,匿名都是不可接受的;对任何一个政府而言,监管都是必须的。
2. 工作量证明的共识算法。这种算法对企业应用来说是一种巨大的资源浪费。
3. 智能合约缺失。比特币只能处理很简单的脚本,并不具备图灵完备的智能合约执行能力,因此除了能很好的实现数字货币的属性,很难胜任其他更加复杂的商业逻辑。
因此笔者不推荐用比特币作为企业区块链的技术框架, 除非贵司的应用是一款纯粹的数字货币。
2、以太坊
根据以太坊官方的宣称,以太坊(Ethereum)目标是打造成一个运行智能合约的去中心化平台(Platform for Smart Contract) ,平台上的应用按程序设定运行,不存在停机、审查、欺诈、第三方人为干预的可能。以太坊平台由Golang、C++、Python 等多种编程语言实现。当然,为了打造这个平台,以太坊提供了一条公开的区块链,并制定了面向智能合约的一套编程语言。 智能合约开发者可以在其上使用官方提供的工具来开发支持以太坊区块链协议的应用(即所谓的 DAPP) 。
以太坊区块链的特点主要包括:
1)? 单独为智能合约指定编程语言 Solidity;
2)? 使用了内存需求较高的哈希函数:避免出现算力矿机;
3)? uncle 块激励机制:降低矿池的优势,减少区块产生间隔为 15 秒;
4)? 难度调整算法:一定的自动反馈机制;
5)? gas 限制调整算法:限制代码执行指令数,避免循环攻击;
6)? 记录当前状态的哈希树的根哈希值到区块:某些情形下实现轻量级客户端;
7)? 为执行智能合约而设计的简化的虚拟机 EVM。
以太坊的核心概念:
1)? EVM:以太坊虚拟机,轻量级虚拟机环境,是以太坊中智能合约的运行环境。
2)? Account:账户,分两类:合约账户存储执行的合约代码;外部账户为以太币拥有者账户,对应到某公钥。
3)? Transaction:交易,从一个账户到另一个账户的消息,包括以太币或者合约执行参数。
4)? Gas:燃料,每执行一条合约指令会消耗一定的燃料,当某个交易还未执行结束,而燃料消耗完时,合约执行终止并回滚状态。
共识算法: 目前采用了 PoW 作为一致达成保证,未来可能迁移到 PoS 上。
降低攻击: 设计核心思想是通过经济激励机制防止少数人作恶。所有交易都要提供交易费用,避免 DDoS 攻击;程序运行指令数通过 gas 来限制,所消耗的费用超过设定上限时会被取消,避免恶意合约。
提高扩展性: 以太坊未来希望通过分片机制可以提高整个网络的扩展性。分片之前整个网络的处理取决于单个节点的处理能力。分片后,只有同一片
原创力文档

文档评论(0)