区块链技术
区块链思想的诞生与概念
从技术特点上分析,区块链有如下三种典型的应用场景
基本概念
公有链,任何都可以参与与维护,所有信息公开,如比特币。
联盟链,由若干织织一起合作维护,该区块链必须有权限管理,相关信息会得到保护,如银联组织。
私有链,集中管理进行限制,只有少数人能进行使用,信息不公开。
公开链将会更多的吸引社区和媒体的眼球,但更多的商业价值应该在联盟链或私有链上。
交易(transaction), 一次操作导致帐本的状态一次改变,如添国一行记录。
区块(block), 一段时间内发生 ,的交易和状态结果,是对当前帐本状态的一次共识。
链(chain),由一个个区块按发生的顺序串联而成,是整个状态变化的日起记录。
如果把区块链比较一个状态机,则每次交易就试图改变一次状态,而每次共识生成区块,就是参与者对于区块中所有交易内容导致状态变改变的结果进行确认。
误区
区块链不是数据库存,主要解决的问题多方互信的问题。
区块链不是颠覆现有技术,其是基多项已有技术的新事物,在解决多方合作与可信处多走了一步,很长一段时间内,区块链应用场景仍需要模索。
小结
区块链自带信任化、防止篡改的分布式记录系统,打造一个彼此信任的基础设施。
区块链能带来更通用的计算能力,Hyperledger、Ethereum 就试图做类似的事情,基于区块链再做一层平台,让别人基于平台开发应用变得的更简单。
区块链可做为分布式存储,也自然可以作为分布式计算引擎。
区块链技术的价值与、挑战与展望
商业价价
从技术特点上,区块链一般被认为具有
一、分布式容错,网络极其棒,容错1/3节点异常状态。
二、不可篡改,一致性提交后数据会一直存在,不可被撤销或修改。
三、隐私保护性,密码学保证了未经授权者能访问到数据,但无法解密。
随之而来的业务特政可能包括
一、可信息度
二、降低成本
三、增加安全
所有跟信息、价值(货币、证券、专利、版权、数字商品、实际物品等)、信用等相关的交换过程,都可以从区块链技术中得到启发或直接受益,但这个过程是个长期的探索和论证。
关键技术与挑战
分布式、存储、密码学、心理学、博奕学、网络协议等。
密码学技术
防止交易数被篡改?
证明交易双方身份?
保护交易双方的隐私?
技术包括 hash算法、加密算法、数字证明等。
分布式共识
核心是如何解决某个变更在网络中是一致的,是被大家认同的,同时这个信息是被确定的,是不可推翻的,该问题在公开匿名下与带权限管理的场景下需求差异很大。
比特币区块链是公开匿名场景下的最环保证,引入工作量证明机制“Proof of work)来规避少数人来破坏数据,并能过概率模型保证最后大家看到的就是合法的最长链。
还有以权益证明的PoS、DPoS、Casper等.
共识问题在很长一段时间内都具有学术价值的研 究热点,核心问题包括容错的节点和收敛速度。
处理性能
如何提高交易的吞吐量,降低交易的确认延迟。
一、单个节点采用高性能的处理理硬件,同时设计优化的策略和方法。
二、将大量高频的交易放到链外去,只有区块链记录最终交易信息。
扩展性
网络中每个参与维护的核心节点都要保持一份完整的存储,并且进行智能合约的处理。因此,整个网络的总存储和计算能力,取决于单个节点。甚至当网络中节点数过多时,可能会因为一致性的达成过程延迟降低整个网络的性能。尤其在公有网络中,由于大量低质量处理节点的存在问题将更明显。
比较直接的一些思路,是放松对每个节点都必须参与完整处理的限制(但至少部分节点要能合作完成完整的处理),这个思路已经在超级账本中启用;同时尽量减少核心层的处理工作。在联盟链模式下,还可以专门采用高性能的节点作为核心节点,用相对较弱的节点作为代理访问节点
系统安全
如下几点是很难逃避的
一、首先立法,如何监管?
二、软件实现的潜在漏洞是无法避免。
三、公有链的所有数据公开,交易记录最终是能追踪到用户的。
四、缺乏有效的调整机制,一旦运行起来,出现问题也难以修正,即使让它变的更公平、更完善的修改,只要有部分即得利益者合起反对,那就无法加入进去。
数据库和存储系统
levelDB、RocksDB等健值数据库,具备很高的随机写和顺序读V写性能,以及相对较差随机读的性能,被广泛应用到了区块链信息存储中,但目前来看,面向区块链的数据库技术仍然是需要突破的技术难点之一。
未来将可能出现更具针对性的“块数据库(BlockDB)”,专门服务类似区块链这样的新型数据业务,其中每条记录将包括一个完整的区块信息,并天然地跟历史信息进行关联,一旦写入确认无法修改。所有操作的最小单位将是一个块。
可集成性
在相当长的一段时间内,基于区块链的新业务系统如何与已有的中心化系统共存。
两种系统如何共存、如何分工、彼此的业务交易如何进行传递?
这些问题解决不好,将是区块链技术落地的很大障碍。
其它
区块链技术提供了新的应用和业务场景,也带来了很多具体的运营问题。
一、智能合约的合法性、安全性和可执行性
二、如何将现实中的合约和条约应用于电子合约
三、分布式系统的伸缩可靠性和数据迁移
四、对存储系统的新挑战,特别是性能
典型应用场景
一、金融服务
提供可靠的所属权证明和相当强的中介担保机制,包括货币、证券、保险、捐赠等。
二、征信和权属管理
三、资源共享
资源共享主要问题有共享过程成本过高、用户身份评分难、共享服务管理难
四、投资管理
跨境贸易
一带一路
众筹投资
五、物联网
物联网为大数据时代的基础、区块链技术是物联网时代的基础。
分布式系统核心问题
一致性问题
共识算法
FLP不可能性原理
CAP原理----分布式系统不可能同时确保一致性(consistency)、可用性(availablity)、分区容忍(partition)性,设计中往往需要弱化对某个特性的保证。
ACID原则----原子性(atomicity)、一致性(Consistency)、隔离性(isolation)、持久性Durability
拜占庭问题与算法
小结----分布式系统是计算机科学系统中十分重要的一个技术领域,理想化的(各项指标均最优)的解决方案是不存在的。在现实各种约束情况下,往往需牺牲掉某些需求,来设计出满足特定场景的协议。
密码学和安全技术
Hash算法
加解密算法
数字签名
数字证书
PKI体系
Merkle
同态加密
其它问题
比特币项目-思想诞生的摇蓝
本章介绍了比特币的相关知识。比特币作为数字货币领域的重大突破,对分布式记账领域有着很深远的影响。虽然在隐私保护等方面,比特币仍然为人诟病,但其底层的区块链技术已经受到重视,在许
多方面都具有技术优势。细分来看,比特币网络系统中并没有特殊创新的技术,它有机的组合了如下领域的已有成果:
密码学
博弈论
记账技术
分布式系统
控制论
甚至可以说,对这些技术的应用并没有达到十分专业的地步。
但正是如此巧妙地组合,让它能完成这样一件了不起的创举。
这或许就是“大师”与“专家”境界的些许差异。
Ethereum--树技术落地的实验
Hyperledger(超级帐本)--商用分布式帐本
Fabric部署与管理
区块链应用开发
Fabric 架构与设计
区块链即服务
性能与评价