区块链技术方案_第1页
区块链技术方案_第2页
区块链技术方案_第3页
区块链技术方案_第4页
区块链技术方案_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

区块链技术方案目录二、区块链技术区块链技术是虚拟数字货币的底层技术,它可能带来互联网的第二次革命,让“信息互联网”转向“价值互联网”。变革即将发生,未来已来,学习区块链就是抓住了世界发展的浪潮。区块链是一个“另类”的孩子,它的去中心化、自金融、共识算法等都是与现实公司和社会世界冲突的。在2008年由中本聪发表的论文《比特币:一种点对点电子现金系统》中,区块链被首次提出。最初的区块链是作为去电子货币比特币的一种基础技术框架被提出,在论文中,中本聪将区块链描述为一种交易记录链条,具体工作原理为通过随机散列将交易加上时间戳,并将他们合并到一个不断衍生的基于随机散列工作量证明的链条中,原文提及除非重新完成全部工作量证明共识流程,否则无法更改交易记录。当前比特币仍是影响最大的区块链应用场景。但是随着不断的研究和发展,区块链已经逐渐与比特币解绑,也有了自己的技术发展路线和更多的应用场景。区块链作为一种新型底层存储框架,具有很强的普适性,能够帮助金融、信息、供应和能源等行业进行技术变革。区块链的发展大致经历了三大阶段,区块链1.0为数字货币时代,以比特币、莱特币等加密货币的发展为代表,主要探索了如何将区块链应用于转账、支付和密码学货币;区块链2.0为智能合约时代,以以太坊为代表的应用将智能合约部署在区块链中,使交易过程自动化,区块链在金融领域的发展更进一步;区块链3.0为大规模应用时代,目标为扩大区块链的应用场景,利用区块链为各行各业提供去中心化解决方案,消除信任危机。区块链作为一种基于密码学的去中心化分布式共享账本,链中没有固定的中心机构,而是一种以分布式处理群体为网络结构基础,链式存储方案为存储结构基础,非对称加密技术为安全保障基础的技术体系。狭义上能够认为区块链是一种链式结构的数据库;广义上能够将区块链理解为拥有去中心化思想的分布式计算范式。区块链允许体系内有一个处理群体,也就是各个处理节点的集合。群体内部是相互监督的平等关系,每个节点都拥有当前区块链存储内容的完整副本,并且拥有修改自己的副本的权力。区块链数据存储采用链式结构,每隔一段时间需要更新副本时,该时段记账节点将上个区块生成时间点后到当前记录时间点前的所有需要存储的内容整合成为一个区块,加以时间戳和密码学签名,并将该区块连接到上一区块之后,形成链式结构。2.1区块链定义第一种区块链的定义比特币:一种加密数字货币;区块链:一种基础技术。区块链是一种源自于“比特币”的底层技术。换句话说,比特币是区块链技术的第一个大获成功的应用。第二种区块链的定义区块链是数字世界中进行“价值表示”和“价值转移”的技术。区块链硬币一面是表示价值的加密数字货币或通证,另一面是进行价值转移的分布式账本与去中心网络。分布式账本与去中心网络也常被称为“链”,它可被视为一个软件平台;而表示价值的通证常被称为“币”。通证存储在链上,通过链上的代码(主要形式的智能合约)来管理,它是可编程的。图5区块链定义从科技层面来看,区块链涉及数学、密码学、互联网和计算机编程等很多科学技术问题。从应用视角来看,简单来说,区块链是一个分布式的共享账本和数据库,具有去中心化、不可篡改、全程留痕、能够追溯、集体维护、公开透明等特点。这些特点保证了区块链的“诚实”与“透明”,为区块链创造信任奠定基础。而区块链丰富的应用场景,基本上都基于区块链能够解决信息不对称问题,实现多个主体之间的协作信任与一致行动。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),是比特币的一个重要概念,它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。2.2区块链分类区块链分为共有链、联盟链和私有链三类。公有区块链(PublicBlockChains)是指:世界上任何个体或者团体都能够发送交易,且交易能够获得该区块链的有效确认,任何人都能够参与其共识过程。公有区块链是最早的区块链,也是应用最广泛的区块链,各大bitcoins系列的虚拟数字货币均基于公有区块链,世界上有且仅有一条该币种对应的区块链。联合(行业)区块链(ConsortiumBlockChains):由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定(预选节点参与共识过程),其他接入节点能够参与交易,但不过问记账过程(本质上还是托管记账,仅仅变成分布式记账,预选节点的多少,如何决定每个块的记账者成为该区块链的主要风险点),其他任何人能够通过该区块链开放的API进行限定查询。私有区块链(PrivateBlockChains):仅仅使用区块链的总账技术进行记账,能够是一个公司,也能够是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。传统金融都是想实验尝试私有区块链,而公链的应用例如bitcoin已经工业化,私链的应用产品还在摸索当中。表2三种区块链类型中心化程度参与者共有链去中心化任何人联盟链多中心化预先设定、具有特殊特征的成员信任机制记账者优势工作量证明所有参与者1.完全解决信任问题2.全球用户可访问,应用程序容易不熟,进入壁垒最低缺点交易量受限,挖矿能耗高共识机制参与者协商决定1.容易进行控制权限定2.具有很高的可扩展性不能完全解决信任问题私有链中心化中心控制着指定的能够参与的成员自定1.一般而言没有挖矿过程2.规则修改容易,交易量,交易速度无限制3.节点通过授权进入接入节点受限,不能完全解决信任问题使用场景网络节点之间没有信任链接多个公司或中心化组织节点之间高度信任典型案例比特币,以太坊清算R3联盟等金融领域联盟2.3区块链特征区块链网络中的成员节点不依赖于第三方(比如金融机构)来仲裁交易,它们使用共识协议来协商账本内容,使用哈希加密算法和数字签名来确保交易的完整性。共识性能确保共享账本是精确副本,并降低了发生交易欺诈的风险,因为篡改需要在很多地方同时执行。哈希加密算法(比如SHA256计算算法)能确保对交易输入的任何改动一甚至是最细微的改动一都会计算出一个不同的哈希值,表明交易输入可能被损坏。数字签名确保交易源自发送方(已使用私钥签名)而不是冒名顶替者。去中心化对等区块链网络可阻止任何单个或一组参与者控制底层基础架构或破坏整个系统。网络中的参与者是平等的,都遵守相同的协议。它们能够是个人、国家代表、企业或所有这三种参与者的组合。在其核心,该系统会记录交易的时间顺序,而且所有节点都使用选定的共识模型来协商交易的有效性。这会使交易不可逆并被网络中的所有成员接受。所以,区块链具有如下特征:a去中心化。区块链技术不依赖额外的第三方管理机构或硬件设施,没有中心管制,除了自成一体的区块链本身,通过度布式核算和存储,各个节点实现了信息自我验证、传递和管理。去中心化是区块链最突出最本质的特征。A开放性。区块链技术基础是开源的,除了交易各方的私有信息被加密外,区块链的数据对所有人开放,任何人都能够通过公开的接口查询区块链数据和开发相关应用,所以整个系统信息高度透明。A独立性。基于协商一致的规范和协议(类似比特币采用的哈希算法等各种数学算法),整个区块链系统不依赖其他第三方,所有节点能够在系统内自动安全地验证、交换数据,不需要任何人为的干预。A安全性。只要不能掌控全部数据节点的51%,就无法肆意操控修改网络数据,这使区块链本身变得相对安全,避免了主观人为的数据变更。A匿名性。除非有法律规范要求,单从技术上来讲,各区块节点的身份信息不需要公开或验证,信息传递能够匿名进行。比特币系统包括三层:比特币、比特币协议、比特币区块链,即比特币的分布式账本与去中心网络。区块链常指的是“账本+网络+协议+货币”。在产业中提到区块链时,通常指的是指“账本+网络+协议”。而很多软件开发者在说起区块链时通常指的是“账本+网络”,即分布式账本加去中心网络。区块链的存储基于分布式数据库;数据库是区块链的数据载体,区块链是交易的业务逻辑载体;区块链按时间序列化区块数据,整个网络有一个最终确定状态;区块链只对添加有效,对其他操作无效;交易基于非对称加密的公私钥验证;区块链网络要求拜占庭将军容错;共识算法能够“解决”双花问题。1) 节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;2) 每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;3) 基于少数服从多数的原则,整体节点维护的数据能够客观反映交换历史。无论是公链还是联盟链,至少需要四个模块组成:P2P网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。P2P网络协议P2P网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。通常我们所用的都是比特币P2P网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求Peer节点的地址数据以及区块数据。这套P2P交互协议也具有自己的指令集合,指令体现在在消息头(MessageHeader)的命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,能够参考比特币开发者指南中的PeerDiscovery的章节。分布式一致性算法在经典分布式计算领域,我们有Raft和Paxos算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的PBFT共识算法。如果从技术演化的角度来看,我们能够得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能釆用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了Paxos和Raft为主的分布式系统。而在区块链领域,多釆用PoW工作量证明算法、PoS权益证明算法,以及DPoS代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。PoW:通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。PoS:这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。DPoS:简单来理解就是将PoS共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都能够参与记账。这个圈子可能是21个节点,也有可能是101个节点,这个点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。3.加密签名算法在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。其中,难题友好性正是众多PoW币种赖以存在的基础,在比特币中,SHA256算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。而在莱特币身上,我们也会看到Scrypt算法,该算法与SHA256不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于SHA3算法的挖矿算法。以太坊使用了Dagger-Hashimoto算法的改良版本,并命名为Ethash,这是一个10难解性的算法。当然,除了挖矿算法,我们还会使用到RIPEMD160算法,主要用于生成地址,众多的比特币衍生代码中,绝大多数都采用了比特币的地址设计。除了地址,还会使用到最核心的,也是区块链Token系统的基石:公私钥密码算法。在比特币大类的代码中,基本上使用的都是ECDSAoECDSA是ECC与DSA的结合,整个签名过程与DSA类似,所不一样的是签名中采取的算法为ECC(椭圆曲线函数)。从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。4.账户与交易模型从一开始的定义我们知道,仅从技术角度能够认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数据库呢?我在设计元界区块链时,参考了多种数据库,有NoSQL的BerkelyDB.LevelDB,也有一些币种采用基于SQL的SQLiteo这些作为底层的存储设施,多以轻量级嵌入式数据库为主,因为并不涉及区块链的账本特性,这些存储技术与其他场合下的使用并没有什么不同。区块链的账本特性,通常分为UTXO结构以及基于Accout-Balance结构的账本结构,我们也称为账本模型。UTXO是“unspenttransactioninput/outpuf,的缩写,翻译过来就是指“未花费的交易输入输出”。这个区块链中Token转移的一种记账模式,每次转移均以输入输出的形式出现;而在Balance结构中,是没有这个模式的。2.4区块链框架区块链基础架构和通信OSI七层协议有些类似,只不过区块链分为6层,包括数据层、网络层、共识层、激励层、合约层、应用层。每层分别完成一项核心功能,各层之间互相配合,实现一个去中心化的信任机制。图12区块链框架1、数据层数据层是最底层的技术,主要实现了两个功能,一个是相关数据的存储,另一个是账户和交易的实现与安全。数据存储主要通过区块的方式和链式结构实现。账号和交易的实现基于数字签名、哈希函数和非对称加密技术等多种密码学算法和技术,保证了交易在去中心化的情况下能够安全的进行。主要封装了底层数据区块的链式结构,以及相关的非对称公私钥数据加密技术和时间戳等技术,这是整个区块链技术中最底层的数据机构。其建立的一个起始节点是“创世区块”,之后在同样规则下创建的规格相同的区块通过一个链式的结构依次相连组成一条主链条。随着运行时间越来越长,新的区块通过验证后不断被添加到主链上,主链也会不断地延长。2、 网络层网络层主要实现网络节点的连接和通讯,又称点对点技术,是没有中心服务器、依靠用户群交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能,其具有去中心化与健壮性等特点。每一个节点既接收信息,也产生信息。节点之间通过维护一个共同的区块链来保持通信。区块链的网络中,每一个节点都能够创造新的区块,在新区块被创造后会以广播的形式通知其他节点,其他节点会对这个区块进行验证,当全区块链网络中超过51%的用户验证通过后,这个新区块就能够被添加到主链上了。3、 共识层主要实现全网所有节点对交易和数据达成一致,防范拜占庭攻击、女巫攻击、51%攻击等共识攻击,其算法称为共识机制。共识机制算法是区块链技术的核心技术,因为这决定了到底由谁来进行记账,记账者选择方式将会影响整个系统的安全性和可靠性。区块链中比较常用的共识机制主要有:投注共识、瑞波共识机制、Pool验证池、实用拜占庭容错、授权拜占庭容错、帕克索斯算法等。4、 激励层激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制,该层主要出现在公有链中,因为在公有链中必须激励遵守规则参与记账的节点,并且惩罚不遵守规则的节点,才能让整个系统朝着良性循环的方向发展。所以激励机制往往也是一种博弈机制,让更多遵守规则的节点愿意进行记账。而在私有链中,则不一定需要进行激励,因为参与记账者的节点往往是在链外完成了博弈,也就是可能有强制力或者有其它需求来要求参与者记账。激励层主要实现区块链代币的发行和分配机制,比如以太坊,定位以太币为平台运行的燃料,能够通过挖矿获得,每挖到一个区块固定奖励5个以太币,同时运行智能合约和发送交易都需要向矿工支付一定的以太币。5、 合约层主要封装各类脚本、算法和智能合约,赋予账本可编程的特性。区块链2.0通过虚拟机的方式运行代码实现智能合约的功能,比如以太坊的以太坊虚拟机(EVM)o同时,这个层通过在智能合约上添加能够与用户交互的前台界面,形成去中心化的应用(DAPP)o以太坊在比特币结构基础上,内置了编程语言协议,从而在理论上能够实现任何应用功能。如果把比特币看成是全球账本的话,那么就能够把以太坊看作是一台“全球计算机”。6、应用层主要封装了区块链的各种应用场景和案例,比如搭建在以太坊上的各类区块链应用就是部署在应用层,所谓可编程货币和可编程金融也将会搭建在应用层。数据层、网络层和共识层是构建区块链应用的必要因素,否则将不能称之为真正意义上的区块链。而激励层、合约层和应用层则不是每个区块链应用的必要因素2.5智能合约智能合约这个概念是美国知名计算机科学家尼克•萨博(NickSzabo)在1994年提出的。他定义的智能合约是一种自动执行协议,买方和卖方之间的条约被写入分布式区块链网络的代码行中。所以,智能合约能在无中心授权的情况下允许匿名用户进行交易和协议。智能合约是基于这些可信的不可篡改的数据,能够自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。所以,作者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。2.5.1定义描述智能合约(smartcontract)由尼克•萨博在1994年提出。因为缺少可信的执行环境,智能合约当时并未产生实际应用。比特币底层技术区块链天生能够为智能合约提供可信的执行环境,以太坊进而首次成就了基于区块链的智能合约平台,以太坊的白皮书《以太坊:下一代智能合约和去中心化应用平台》。一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方能够在上面执行这些承诺的协议。一个合约由一组代码(合约的函数)和数据(合约的状态)组成,并且运行在以太坊虚拟机上。智能合约是一种只有通过区块链才能实现的新技术。普通、标准的合同涵盖了当事人之间协议的条款,且常通过法律来强制执行;智能合约是数字化的,存储在区块链中,并使用加密代码强制执行协议。智能合约仅仅软件程序,与所有程序一样,它们完全按照程序员的意图执行。基本上通过数学计算,智能合约能够协商协议中的条款,自动验证履行,甚至执行约定的条款,所有这些都不需要通过中央组织来批准。智能合约使公证人、代理人和律师等中间人几乎毫无意义。基本上通过数学计算,智能合约能够协商协议中的条款,自动验证履行,甚至执行约定的条款,所有这些都不需要通过中央组织来批准。智能合约使公证人、代理人和律师等中间人几乎毫无意义。因为智能合约嵌在所有数据都以分散的分布式方式存储的区块链中,所以直到合同履行完成,没有人能够控制资金。2.5.2智能合约原理(1)智能合约的本质智能保证执行安全,并减少交易成本。智能合约允许在没有第三方的情况下进行可信交易,且交易可追踪、不可逆转。智能合约是以信息化方式传播、验证或执行合同的计算机协议。智能合约程序不是单纯自动执行的程序。它本身就是系统的有效参与者。它是运行在可复制、共享的账本上的计算机程序,能够处理信息,接收、储存和发送价值。(2)智能合约工作原理用户承诺双方的权利和义务编写为电子化的机器语言,参与者分别用各自的私钥签名。签名后的智能合约传入区块链网络中。合约通过P2P的方式在区块链全网中扩散,验证节点会将收到的合约先保存到内存中,等待触发对该份合约的共识和处理。共识时间到了,验证节点会把最近一段时间内保存的所有合约打包成一个合约集合,并算出这个合约集合的哈希值,组装成区块结构,扩散到全网;其他验证节点收到后,与自己保存的合约集合对比教验,同时发送一份自己认可的合约集合给其他验证节点;通过多轮的发送和比较,所有验证节点最终在规定的时间内对最新的合约集合达成一致。每个区块包含以下信息:当前区块的Hash值、前一区块的Hash值、达成共识时的时间戳、以及其他描述信息;已经达成共识的合约集。(3)智能合约执行过程智能合约定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,进行签名验证,确保事务的有效性,等待多数验证节点达成共识,成功执行并通知用户;未满足触发条件的事务将继续存放在区块链上。事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;反之将标记为进行中,继续保存在最新的区块中等待下一轮处理,直到处理完毕。2.5.3智能合约的实例投票。如果所有投票都存储在区块链中,则几乎不可能对其进行破解和解码。此外,智能合约的自动化属性可使繁琐的投票过程变得更加简单和完全在线,它甚至可能会改善美国低投票率的现象。供应链。通常情况下,供应链受到纸质合同制度的阻碍。经手人多,带来的高曝光率,盗窃、丢失和欺诈相当普遍。利用区块链的智能合约就能够通过向各方提供安全、透明的数字版本来克服这个缺点。它能够自动执行任务和交易,甚至能够根据存储在其代码中的规则来限制行为。房地产。假设您通过airbnb租了一周公寓,除了这是一个存在于区块链上的airbnb版本,可用加密货币进行支付。付款后,您会收到一份按智能合约的代码规定的数字收据。智能合约会跟踪您是否收到了“数字密钥”。如果您未在指定日期之前获得此密钥,智能合约会自动退款。其它。卫生保健、金融领域、法律问题等。2.6分布式账本2.6.1定义描述分布式账本指的是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,所以它们都能够参与监督交易合法性,同时也能够共同为其作证。跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。没有任何一个节点能够单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由记账节点充足多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。分布式账本是一种在网络成员之间共享、复制和同步的数据库。分布式账本记录网络参与者之间的交易,比如资产或数据的交换。网络中的参与者根据共识原则来制约和协商对账本中的记录的更新。没有中间的第三方仲裁机构(比如金融机构或票据交换所)的参与。2.6.2分布式账本框架分布式账本中的每条记录都有一个时间戳和唯一的密码签名,这使得账本成为网络中所有交易的可审计历史记录。分布式账本技术的一种实现是开源HyperledgerFabric区块链。分布式账本整体框架如下:图8分布式账本框架1)接口层数据同步:多个账本之间的数据同步接口,同步账本区块,状态等信息,能够完整数据的同步,也能够是最小集合数据的同步。交易:用于广播,发送和接收交易。SDK:用于第三方进行二次开发、扩展分布式账本。2) 核心层.业务映射数据缓存:接收到的待处理的交易等相关数据,在记账之前由交易缓存维护,进入数据缓存时需要进行一定的合法检验。缓存里可包含未最终确认的账户、交易、状态等信息。事务引擎:类似于数据库的事务,提供一个保证事务执行的完整性、一致性的环境,能够支持复杂的操作,提供账本接口可扩展性的基础,包含脚本、容器、虚拟机等。权限验证:对接口层收到的请求进行验证,确保不会超出有权限的操作。3) 共识'一致性数据同步模块:维护节点数据状态并和邻居节点进行同步,确保节点数据的实时性,并通过合法性和一致性验证模块确保数据的正确性和一致性。合法验证模块:确保账本数据的正确性、确保不会记录错误、重复、冲突等数据。一致性验证模块:维护本地数据与其他账本节点的一致性,确保多个节点的账本一致性。激励机制:部分分布式账本无确定的记账人,通过奖励机制确保分布式账本记账方有动力去记账,确保系统可持续运作。4) 账本数据账户:系统内账户数据的管理,包括余额、交易列表等信息,不同的分布式账本架构可能拥有完全一致或不完全一致的账户信息。交易:已经确认记账的交易,能够采用默克树等形式组成区块,并且以首尾相连的方式组成链条,防止数据修改。状态:账本事务产生的数据,部分账本也将账户信息存在状态数据里。权限:权限列表,包含分布式账本的通用权限和本身的数据权限。5) 网络服务网络发现:通过网络协议发现账本的其他节点,并保持节点的更新,确保不会发生女巫攻击事件。节点管理:维护和邻居节点的关系。数据收发:为其他模块提供数据收发的节点。6)扩展功能账本互操作:不同分布式账本之间的扩展,包括同种或者不同账本的扩展以及互操作,该模块需要涉及到账本'共识'业务等多模块。事件机制:根据特定事件对系统内或系统外的模块进行触发,使之执行特定操作。隐私保护:账本数据的保护,包括分层数据的保护以及通过密码学方式加密。7)基础层计算:安全计算、签名等计算机能够使用密码机、令牌卡等方式确保安全,加速计算使用特定方案能够进行加速计算。存储:基于TEE/HSM等方式进行密钥等数据的管理,基于分布式等技术对账本存储进行优化。网络:包括对固网、移动网、专网的支持。分布式账本技术能够有效的改善当前基础设施中出现的效率极低成本高昂的问题,而导致当前市场基础设施成本高的原因能够分为三个:交易费用,维护资本的费用和投保风险费用。在某些情况下,特别是在有高水平的监管和成熟市场基础设施的地方,分布式账本技术更有可能会形成一个新的架构,而不是完全代替当前的机构。2.6.3分布式账本技术原理分布式账本技术,简称DLT,是一个无需中央机构存储、确认的数据库记录,听起来似乎和区块链挺相似,但是事实并非如此。在分布式账本技术中,使用者、实现者对于其到底如何最终使用、实现是有更大的控制权的。原则上,他们能够决定支撑其服务的网络的结构、目的和功能,所以并不像你想象的那么“去中心化”。分布式账本技术在技术上是去中心化的,并依赖于类似区块链的共识原则。但是,至少从意识形态的角度看,当一个机构对于去中心化网络有着控制权,这意味着,这个切并不那么100%的”去中心化“。分布式账本技术能够被视为是走向区块链的第一步,但是这并不意味着你一定会创造那条长长的区块链条:正相反,有问题的账本依然会被众多服务器所存储、记录下来,然后相互通信,以保证最准确、最新的交易记录得到维护。2.6.4分布式账本应用1)技术替代这代表的是当前市场经营者引进区块链技术的有限颠覆性。从技术的角度来看,这是最容易达成的场景,因为如果有任何的市场架构改变,这都是能最快速实施的。从商业的角度来看,这给市场提供最少的节省成本,这能够被看作是进一步进化的垫脚石。2) 可扩展的账本技术代替能够扩展到提供一个可扩展的'智能账本',这个场景能够通过行业参与者的合作达成。为主要资本市场基础设施创建一个完全开放的合作性的平台,同时满足所有适用法规是一个巨大的挑战,这也不可能在短期之内就能达成。3) 全新的全球C&S基础设施一个全球中间商、银行和C&S供应商在下一代分布式账本C&S平台上合作的联盟,这种场景已经能够通过R3区块链联盟实现。不过,这样的场景还需要很多年才能实现,并且只能一步一步来。4) Uber金融模式分布式账本技术是一个真正的全球点对点网络,能够代替传统的资本市场系统,提供这种服务的几个技术平台已经以某种形式存在了,或者还处在开发中,但是还不清楚这些技术平台是否会给传统的市场基础设施带来挑战。正如我们所见,其他点对点技术如比特币和Uber,一定程度的适用法规架构互操作性是让主流社会接受的关键。2.7非对称加密区块链技术的应用和开发,数字加密技术是关键。一旦加密方法遭到破解,区块链的数据安全将受到挑战,区块链的不可篡改性将不复存在。加密算法一般分为对称加密和非对称加密,区块链中主要应用非对称加密算法。非对称加密指为满足安全性需求和所有权验证需求而集成到区块链中的加密技术。非对称加密通常在加密和解密过程中使用两个非对称的密码,分别称为公钥和私钥。非对称密钥对具有两个特点:一是用其中一个密钥(公钥或私钥)加密信息后,只有另一个对应的密钥才能解开。二是公钥可向其他人公开,私钥则保密,其他人无法通过该公钥推算出相对应的私钥。存储在区块链上的交易信息是公开的,但是账户身份信息是髙度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。非对称加密技术在区块链的应用场景主要包括信息加密、数字签名和登录认证等,其中信息加密场景主要是由信息发送者(记为A)使用接受者(记为B)的公钥对信息加密后再发送给B,B利用自己的私钥对信息解密。比特币交易的加密即属于此场景。数字签名场景则是由发送者A釆用自己的私钥加密信息后发送给B,B使用A的公钥对信息解密、从而可确保信息是由A发送的。登录认证场景则是由客户端使用私钥加密登录信息后发送给服务器,后者接收后采用该客户端的公钥解密并认证登录信息。2.7.1非对称加密解密过程A要向B发送信息,A和B都要产生一对用于加密、解密的公钥和私钥;A保管自己的私钥,把公钥告诉B;B保管自己的私钥,把公钥告诉A;A要给B发送信息时,A用B的公钥加密信息,因为A知道B的公钥。A将这个消息发给B(已经用B的公钥加密消息)。B收到这个消息后,B用自己的私钥解密A的消息。其他所有收到这个报文的人都无法解密,因为只有B才有B的私钥。具体加密过程如下:图9非对称加密步骤1.3步骤1-3步骤1:A通过随机算法,生成一对密钥,有公钥和私钥;步骤2:A将公钥公开,分别发给B,C,D;步骤3:B想给A发送一条信息,首先用A的公钥对这条信息加密,然后将加密后的信息(密文)传播给A,A在接收到信息之后,用自己的私钥进行解密,从而得到B给A的信息原文。那么数字签名,就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。数字签名的生成和使用过程如下图所示:图9非对称加密步骤4-5步骤4-5步骤4:A将要发送的信息通过哈希运算,得到摘要,并用私钥进行加密,生成这个信息的数字签名。步骤5:A将所要发送的信息和数字签名同时发送给B,B利用A的公钥来对此数字签名解密,从而确定该信息的确来自A。另外,B通过对A发送的信息进行哈希运算得到的摘要与解密得到的摘要进行对比,能够确定该信息是否被篡改过。2.7.2公钥和私钥非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把专用密钥对加密后的信息进行解密。非对称密码的特点:算法强度复杂、安全性依赖于算法与密钥,但是因为其算法复杂,而使得加密解密速度没有对称加密解密的速度快。对称密码体制中只有一种密钥,并且是非公开的,如果要解密就得让对方知道密钥。所以保证其安全性就是保证密钥的安全,而非对称密钥体制有两种密钥,其中一个是公开的,这样就能够不需要像对称密码那样传输对方的密钥了,这样安全性就大了很多。2.7.3非对称加密解密原理非对称加密算法中,常用的就是RSA算法了,以下就以RSA算法为例来讲解非对称加密算法的实现原理。RSA算法的基于这样的数学事实:两个大质数相乘得到的大数难以被因式分解。也就是说对密文进行D次方后除以N的余数就是明文,这就是RSA解密过程。知道D和N就能进行解密密文了,所以D和N的组合就是私钥:从上述能够看出RSA的加密方式和解密方式是相同的,加密是求“E次方的modN”;解密是求“D次方的modN”。此处D是解密(Decryption)的首字母;N是数字(Number)的首字母RSA加密过程解释:也就是说RSA加密是对明文的E次方后除以N后求余数的过程。也就是说只要知道E(Encryption)和N(Number),任何人都能够进行RSA加密了。其中E、N是RSA加密的密钥,E和N的组合就是公钥。RSA解密过程也就是说对密文进行D次方后除以N的余数就是明文,这就是RSA解密过程。知道D和N就能进行解密密文了,所以D和N的组合就是私钥从上述能够看出RSA的加密方式和解密方式是相同的,加密是求”E次方的modN",解密是求”D次方的modNn破解RSA算法的关键就是计算N、p、q的值,给出两个很大的质数p、q,能够计算N,但知道N,去很难算出p、q,只能不停的尝试,这就是为什么当前RSA很难破解。RSA算法的破解与密钥的长度有关,如果密钥的长度小于等于256位,一台较快的电脑能够在几个小时内成功分解其因子。位数越高因式分解所需时间也越长。例如破解RSA-2048(2048-bit)的密钥需要耗费传统电脑10亿年的时间,而量子计算机只需要100秒就能够完成。所以随着科技的发展,算法也会更新换代。2.8共识机制共识机制就是所有记账节点之间怎么达成共识,去认定一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论