区块链技术介绍(2018-04)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
》 区块链核心技术
智能合约(以太坊)
智能合约是以太坊一个重要的概念,以计算机程序的方式来运
行各种合约。
以太坊以图灵完备的高级语言(Solidity、Serpent、Viper) 来开发智能合约。智能合约运行在以太坊虚拟机(EVM)中,它可
以接收来自外部的交易请求与事件,通过触发运行提前编写好的 代码逻辑实现业务规则。
名有两个作用,一是能确定消息确实是由发送方签名并发出来的。二是数字 签名能确定消息的完整性(算法ECDSA)。 工作原理
发送报文时,发送方用一个哈希函数从报文文本中生成报文摘要,然后用自
己的私钥对摘要进行加密,加密后的摘要将作为报文的数字签名和报文一起 发送给接收方,接收方首先用与发送方一样的哈希函数从接收到的原始报文
以太坊客户端要接入以太坊网络需要安装客户端程序或调用 SDK开发库(标准的JSON-RPC协议),实现账户管理、交易、挖矿
、智能合约方面的操作。
》 区块链核心技术
智能合约部署(以太坊)
》 区块链核心技术
区块链技术架构
》 区块链核心技术
区块结构(比特币为例)
》 区块链核心技术
区块头数据项
版本号,标示软件及协议的相关版本信息。
》 区块链核心技术
PKI与CA 知识科普
数字证书样例
》 区块链核心技术
PKI与CA 知识科普
Merkle Tree 一种哈希二叉树,使用它可以快速校验大规模数据的完整性。在比特币
网络中,Merkle 树被用来归纳一个区块中的所有交易信息,最终生成这个
区块所有交易信息的一个统一的哈希值,区块中任何一笔交易信息的改变都 会使得使得 Merkle 树改变。
面的价值。
2016年10月,工业和信息化部发布《中国区块链技术和应用发展白皮书
(2016)》,总结了国内外区块链发展现状和典型应用场景,介绍了我国区块链 技术发展路线图以及未来区块链技术标准化方向和进程。
》 区块链技术起源与发展
2016年12月,“区块链”首次被作为战略性前沿技术写入《国务院关于印发
种证书。一般是由权威的CA认证机构颁发,用于在网络流通中让别人识 别自己的身份。
描述
公开密钥数字证书是一种将客户的身份(证书主体)与某个公开密钥 值安全地联系在一起的数据结构。数字证书由认证机构颁发,包含公开密
钥持有者信息、公开密钥文件、认证机构的数字签名、密钥的有效时间、
认证机构的名称及证书序列号等信息。
联盟链
由若干机构联合发起,介于公有链和私有链之间,兼具部分去中心化的 特性。通过授权加入与退出(如超级账本Fabric)。
》 区块链核心技术
区块链核心技术
》 区块链核心技术
区块链涉及的综合技术
分布式技术(P2P应用)
身份认证与权限控制
区 块 链 涉 及 的 综 合 技 术
PKI 与 CA 技术 同态加密算法
》 区块链技术起源与发展
2017年11月底,国内共有浙江、江苏、贵州、福建、广东、山东
、江西、内蒙古、重庆等9个省份,将区块链列入本省“十三五”战略
发展规划。
2018年3月,工信部发布《2018年信息化和软件服务业标准化工作 要点》,提出推动组建全国信息化和工业化融合管理标准化技术委员会
、全国区块链和分布式记账技术标准化委员会。
区块链技术介绍
许艾 2018年4月
1
2 3 4
区块链技术起源与发展 区块链基本概念及特征 区块链核心技术
区块链开源技术介绍 区块链应用场景
5
》 区块链技术起源与发展
区块链技术起源与发展
》 区块链技术起源与发展
中本聪,日裔美国人。中本聪于2008年11月1日发表了一篇名为《比特币
:一种点对点式的电子现金系统》的论文,描述了一种被他称为“比特币”的
在性和相关操作的相对时间顺序,为信息系统中的时间防抵 赖提供基础服务。
》 区块链核心技术
同态加密
同态加密是一种特殊的加密方法。对密文直接进行处理,跟
对明文直接处理后再对处理结果加密,结果是一样的。 经过同态加密后的密文,再经过特定的运算生成新密文;新密
文与相应的明文进行特定的运算后生成的结果再加密是一致的。 T(E(123))新密文 等于
电子货币及其算法。2009年,他发布了首个比特币软件,并正式启动了比特 币金融系统。2010年,中本聪逐渐淡出并将项目移交给比特币社区的其他成 员(比特币的诞生)。 2016年1月20日,中国人民银行数字货币研讨会在北京召开,会议肯定了
数字货币在降低传统货币发行、流通成本,提高经济活动的便利和透明性等方
》 区块链基本概念及特征
区块链基本概念及特征
》 区块链基本概念与持征
概念
区块链:是一种去中心化、去信任、分布式账本技术,并由网络节点集
体维护可靠、安全数据库技术。 从数据的角度来看
区块链是一种几乎不可能被更改的分布式数据库。这里的“分布式”不
仅体现为数据的分布式存储,也体现为数据的分布式记录(即由系统参 与者共同维护)。 从技术的角度来看 区块链并不是一种单一的技术,而是多种技术整合的结果。这些技术以
中计算出报文摘要,接着再用发送方的公钥来对报文附加的数字签名进行解
密,如果这两个摘要相同、那么接收方就能确认该数字签名是发送方的。
》 区块链核心技术
PKI与CA 知识科普
SHA256 (或Ripemd160)
一种求Hash值的加密算法。 工作原理
将任何一串数据输入到SHA256将得到一个256位的Hash值(散列值)。 其特点:相同的数据输入将得到相同的结果。输入数据只要稍有变化(比
权益证明共识算法,PoW 的替代方案。根据节点所占权益比重,决定其
获得区块记账权的概率,权益越多,越有机会获得区块记账权。DPoS 在 PoS 的基础上更近一步,节点将权益委托给其他节点,由其代表自己行使权
力。
》 区块链核心技术
零知识证明
零知识证明:证明者能够在不向验证者提供任何有用信息的情 况下,使验证者相信某个论断是正确的。 例子:A拥有B的公钥,A没有见过B,而B见过A的照片,偶然一 天两个人见面了,B认出了A,但A不能确定面前的人是否是B,这时 B要向A证明自己是B,有2个方法。
管理机构。节点之间数据交换通过数字签名技术进行验证,无需互相信任,
只要按照系统既定的规则进行,节点之间不能也无法欺骗其它节点。
》 区块链基本概念与持征
特征
交易透明,双方匿名(公有链)
区块链的运行规则是公开透明的,所有的数据信息也是公开的,因此每 一笔交易都对所有节点可见。由于节点与节点之间是去信任的,因此节点之
E(T(123)) 全同态:同时满足加法同态与乘法同态称做全同态。
》 区块链核心技术
共识算法
POW(Proof Of Work) 工作量证明共识算法,在比特币中被首次提出。数字货币矿工们通过随机
哈希计算获得当前区块的记账权,从而获得区块奖励。PoW 的特点是哈希计算
随机,难以弄虚作假,且容易被验证。但另一方面,矿工们间的哈希计算竞争 浪费了大量资源。(耗费算力获取记账权) PoS(Proof Of Stake) & DPoS
如一个1变成了0)则将得到一个千差万别的结果,且结果无法事先预知。
正向计算(由数据计算其对应的Hash值)十分容易。逆向计算(俗称“破 解”,即由Hash值计算出其对应的数据)极其困难,在当前科技条件下被
视作不可能。
》 区块链核心技术
PKI与CA 知识科普
数字证书
数字证书是PKI标准基于公钥密码体制,用于标志通讯各方身份的一
新的结构组合在一起,形成了一种新的数据记录、存储和表达的方式。
》 区块链基本概念与持征
特征
开放,共识
任何人都可以参与到区块链网络,每一台设备都能作为一个节点,每个
节点都允许获得一份完整的数据库拷贝。节点间基于一套共识机制,通过竞 争计算共同维护整个区块链。任一节点失效,其余节点仍能正常工作。
去中心,去信任 区块链由众多节点共同组成一个端到端的网络,不存在中心化的设备和
智能合约 共识算法(共识机制)
虚拟化技术(Docker 容器)
数据存储技术(KV型数据库如 LevelDB RocksDB)
》 区块链核心技术
P2P网络
又称点对点技术,是没有中心服务器、依靠用户群来交换信 息的互联网体系。 P2P架构天生具有耐攻击、高容错的优点。由于服务是分散
在各个节点之间进行的,部分节点或网络遭到破坏对其它部分 的影响很小。实际就是我们经常下电影的BT技术。
① B把自己的私钥给A,A用这个私钥对某个数据加密,然后用B 的公钥解密,如果正确,则证明对方确实是B。
② A给出一个随机值,并使用B的公钥对其加密,然后将加密后 的数据交给B,B用自己的私钥解密并展示给A,如果与A给出的随机 值相同,则证明对方是B。
方法②属于零知识证明
》 区块链核心技术
智能合约
工作原理
非叶子节点value的计算方法是将该 节点的所有子节点进行组合,然后对组
合结果进行hash计算所得出的hash
value。
》 区块链核心技术
PKI与CA 知识科普
时间戳服务器 大多用来进行比对以及验证处理,时间戳服务器是一款 基于PKI(公钥密码基础设施)技术的时间戳权威系统,对
外提供精确可信的时间戳服务。它采用精确的时间源、高强 度高标准的安全机制,以确认系统处理数据在某一时间的存
》 区块链基本概念与持征
分类
公有链 无官方组织及管理机构,无中心服务器,参与的节点按照系统规则自由
接入网络、不受控制,节点间基于共识机制开展工作。自由加入与退出(如
比特币、以太坊)。 私有链
建立在某个企业内部,系统的运行规则根据企业要求进行设定,修改甚
至是读取权限仅限于少数节点,数据的访问有着十分严格的权限控制。
描述
对称算法:用来对敏感数据等信息进行加密。 特点:加密解密密钥是相同的。
非对称算法:用来保护和交换对称密钥及签名应用。
特点:加密解密密钥是不相同的。 哈希算法:相同的明文数据经过同一种哈希算法得到相同的密文。
特点:不需要密钥。
》 区块链核心技术
PKI与CA 知识科普
数字签名
数字签名涉及到一个哈希函数、发送者的公钥、发送者的私钥。数字签
智能合约是一个由计算机处理的、可执行合约条款的交易协议
。其总体目标是能够满足普通的合约条件,例如支付、抵押、保
密甚至强制执行,并最小化恶意或意外事件发生的可能性,以及 最小化对信任中介的需求。智能合约所要达到的相关经济目标包
括降低合约欺诈所造成的损失,降低仲裁和强制执行所产生的成
本以及其它交易成本等。
前一区块哈希值,引用区块链中前一区块头的哈希
值,通过这个值每个区块才首尾相连组成了区块链
Merkle 根,这个值是由区块主体中所有交易的哈希
值再逐级两两哈希计算出来的一个数值,主要用于
检验一笔交易是否在这个区块中存在。 时间戳,记录该区块产生的时间,精确到秒。
》 区块链核心技术
身份认证与权限控制
身份认证
身份认证,在Fabric中主要用于各节点的成员身份管理和权限的控制。 主要有三种证书,身份证书、交易证书、通信证书。
身份证书:颁发给用户或节点,用于表明节点身份(注册凭证)。
交易证书:用于控制每个交易的权限(如交易签名) 通信证书:控制对网络层的接入访问,可对远端实体进行身份校验( TLS
证书)。
权限控制 对通道内数据的各种操作权限进行管理,读身份(读取通道的数据、区
块)、写身份(如向通道发起交易)、管理员身份(修改通道配置信息)等
权限进行控制。
》 区块链核心技术
PKI与CA 知识科普
密码算法分类
对称算法、非对称算法、哈希(杂凑、散列)算法。
常用经典算法:AES、SM4、RSA、SM2、ECC、SM3、SHA256
“十三五”国家信息化规划的通知》。
2017年1月,工信部发布《软件和信息技术服务业发展规划(2016-2020年)》 ,提出区块链等领域创新达ቤተ መጻሕፍቲ ባይዱ国际先进水平等要求。
2017年8月,国务院发布《关于进一步扩大和升级信息消费持续释放内需潜力
的指导意见》提出开展基于区块链、人工智能等新技术的试点应用。
2017年10月,国务院发布《关于积极推进供应链创新与应用的指导意见》提 出要研究利用区块链、人工智能等新兴技术,建立基于供应链的信用评价机制。
间无需公开身份,每个参与的节点都是匿名的。
不可篡改,可追溯
单个甚至多个节点对数据库的修改无法影响其他节点的数据库,除非能
控制整个网络中超过51%的节点同时修改,这几乎不可能发生。区块链中的 每一笔交易都通过密码学方法与相邻两个区块串联,因此可以追溯到任何一
笔交易的前世今生。所以,区块链只有增加、查询两种操作。