《区块链技术及应用》区块链技术改进_第1页
《区块链技术及应用》区块链技术改进_第2页
《区块链技术及应用》区块链技术改进_第3页
《区块链技术及应用》区块链技术改进_第4页
《区块链技术及应用》区块链技术改进_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

区块链技术改进目录/CONTENTS1.1增强匿名性1.2加强去中心化1.3能源消耗与生态环保1.4功能扩展与性能改进1.5编程案例本章小结1.1.1增强匿名性区块链目前的弊端:区块链技术是一个共享的、不可更改的分布式账本系统,任何人都可以查询包含给定地址的所有交易。如果某人可以使用区块链上的用户地址链接到你的真实身份,那么你参与的所有交易记录(不管是过去的、现在的,还是未来的)都可以被其查询到。更糟糕的是,在区块链中链接地址和真实身份并不困难。对区块链提出的问题:(1)现有的区块链技术真的能保证匿名性吗?(2)能完美地做到去中心化吗?(3)是否存在一种能够用于区块链的更加有效的分布式算法?(4)是否有办法改进区块链网络的性能?1.1.2区块链的匿名性分析区块链中易遭到的攻击与防范措施:(1)旁路攻击,即使没有直接的关联,用户的匿名身份也可能由于侧面渠道或一些间接的信息泄露而被暴露。如,将交易记录与活动信息等进行关联,在一个匿名的区块链与一个真实的用户建立联系。(2)增强无关联性,同一个用户的不同地址之间,不同交易之间,一个交易的交易双方之间都不应关联。(3)增强匿名集,让攻击者只能确定交易发生在某一集合,而无法锁定具体是哪一个。(4)污点分析,可以根据污点分析确定两个地址是否像关联,但是在应用中准确率并不高,它只是简单地认定对手在使用相同的计算方式关联成对的地址。1.1.3混币交易

混币交易的原理混币原理是割裂交易中输入地址和输出地址间的关系。所谓的混币交易,就是几个互不相干的人,把几个互不相干的交易放到一个交易中,那么外人就不知道到底哪一个输入对应了哪一个输出,从而无法准确地知道谁花钱干了什么。(简单来说就是把钱弄混了,这样就不知道到底是谁买了相应的物品)图1-1

(a)混币交易的模式图1-1(b)多重混币交易的模式

混币交易也存在增加交易费用,延迟,被第三方节点发现,资金可能被盗的缺点和风险。1.1.4零知识证明1.零知识证明的概念以及本质它指的是证明者(即被验证者)能够在不向被证明者(即验证者)提供任何有用信息的情况下,使被证明者相信某个论断是正确的。零知识证明的实质是一种涉及两方或多方的协议。举例:Bob要向Alice证明自己知道某个秘密却不想告诉她内容,就可以用到零知识证明,Bob在Alice不知情的时候到达C或D点,Alice再到达B点,要求Bob从左边或右边出来,Bob在必要时需要用秘密打开CD之间的门,以此证明自己的确知道秘密。多次重复即可零知识证明。ABCD图-2洞穴模型1.2加强去中心化挖矿工具的变化过程:图1-3

矿机的发展过程1.2.1加强去中心化算法1.反ASIC矿机定义:设计一个解密程序,尽可能地减少最有效率的定制运算设备与普通计算机之间的效率差距。2.Scrypt算法3.混合哈希函数4.矿池与反矿池挖矿算法1.2.1加强去中心化算法Scrypt算法被使用最广泛的反矿机挖矿算法是刚性内存解谜(Memory-HardPuzzles)算法。这类算法解谜计算需要大量的内存,而不是靠大量的CPU和时间。Scrypt算法是最受欢迎的刚性内存解谜算法。但是Scrypt算法缺乏仔细的审察和广泛的函数库支持,所以Scrpyt算法一直没有被推广应用,没有在生产环境中大规模应用,但是由于其内存依赖的设计特别符合当时对抗专业矿机的设计,因此成为区块链技术发展的一个方向。步骤第一步是用随机数据填充随机存取存储器(RandomAcessMemory,RAM)里面的缓存空间;第二步是从这块内存区域里虚拟随机地读取或者更新数据,同时要求整个缓存都存储在RAM里。1.2.1加强去中心化算法混合哈希函数混合哈希函数就是把多个哈希函数混合在一起,从而增加矿机的设计难度,起到抵抗矿机的作用。合理地混合哈希函数还可以抵御彩虹表攻击,提高系统安全性。混合哈希函数主要有两种设计模式,即串联和并联。串联哈希算法的弱点没有提高整体的抗碰撞性,其安全性更是因木桶效应而由其中安全性最弱的算法决定,其中任何一种哈希函数遭遇碰撞性攻击,都会危及整个算法的安全性。这好比一根链条,环环相扣,只要其中一环断裂,整个链条就一分为二。并联哈希算法HVC算法,是将4种算法并联在一起,其中一种算法被破解只会危及结果中的64位,4种算法同时被破解才会危及货币系统的安全性。1.2.1加强去中心化算法矿池与反矿池挖矿算法矿池:矿池实际上是一个矿工的互助会,通过将许多矿工集合到一起,减小挖矿这个随机过程的方差,同时也提高矿工应对风险的能力。反矿池挖矿算法可以看到,反矿池挖矿算法中,旷工必须要使用私钥加密,得到数字签名才能完成工作量证明。风险:矿池会导致算力的集中,影响系统的去中心化程度,此外,矿池还在一定程度上增大了系统遭遇攻击的风险。图1-4

反挖矿算法示意1.2.2中心化与去中心化之争中心化与去中心化中心化的优势:(1)去中心化系统抗风险能力更强。(2)去中心化系统里的用户更加平等。(3)去中心化系统的意识是自下而上地控制的。(4)去中心化系统避免了由于中心节点的腐败和贪婪等负面因素对整个系统造成严重的破坏的问题。(5)去中心化系统的规则通常要尽可能简单。中心化的不足:(1)因为要容纳所有节点相互的可能性,去中心化系统往往会变成一个臃肿的组织,而臃肿意味着资源浪费。(2)去中心化系统意味着进化和优化效率低下。(3)去中心化系统不可控和不可预知。1.3能源消耗与生态环保能源消耗的争议矿机的制造、运输和销售会耗费大量资源,同时无论是哈希函数、刚性内存解谜算法,还是混合哈希函数的运算,都不可避免地会消耗大量能源。并且,无论哪种算法都很难说得上对社会有多大帮助,因此许多批评者甚至认为区块链的挖矿就是在浪费资源。但如果将挖矿与志愿者运算项目相结合,将有望解决矛盾。项目成立时间目标影响GreatInternetMersennePrimeSearch1996年找到大的梅森质数连续12次发现最大的质数1997年密码学的暴力破解演示首次公开成功地破解了64位的密码私钥SETI@home1999年寻找外星人迄今为止最大的分布式计算项目,有500万以上的参与者Folding@home2000年在原子级别上实现蛋白质折叠模型史上最大算力的志愿者运算项目,帮助发表了118篇科技论文图1-5

历史上较有名的志愿者运算项目1.3.1有效工作量证明什么是有效工作量证明通过修改工作量证明机制的目标,使得传统工作量证明最后得到的结果变得有意义,使得消耗大量能源得出的结果能在其它地方得到应用。有效工作量证明要满足的4个条件(1)拥有一个机会均等的解密区域。(2)拥有永不枯竭的解密问题。(3)解密问题可以通过算法自动生成。(4)拥有可以调节的难度特征。1.3.1改进的PBFT算法传统PBFT算法的劣势传统PBFT算法每次都完整执行三阶段广播协议,这样节点增多时会给系统带来极大的通信负担,且复杂度较高,效率较低。为了简化通信过程,在没有拜占庭错误的情况下进行优化,降低通信复杂度。改进方面(1)将传统PBFT的C/S架构模式改进为P2P的网络拓扑结构。(2)增加节点的可信度评价。(3)参与该共识机制的节点可以动态地加入、离开网络。(4)优化传统PBFT算法的三阶段广播协议,提高共识效率。1.3.1改进的PBFT算法对三阶段协议进行简化,流程步骤:(1)主节点发送给所有从节点预准备消息,从节点接收到预准备消息后对消息进行验证,验证通过后从节点回复认可消息。(2)主节点等待接收认可消息,当认可消息数量达到3f时,主节点打包所有认可消息后将其发送给所有从节点,从节点收到后验证其他从节点的认可信息是否正确。验证通过后节点进入确认阶段,并加入新的区块。(3)如果主节点接收到的认可消息数量不足3f个,则该段共识流程结束。系统进行完整的三阶段协议。图1-6触发视图切换协议的流程1.3.1改进的PBFT算法检查点协议,检查是否有节点发生网络延迟或故障,导致无法完成系统发出的任务。步骤:(1)从节点接收并验证主节点发送的消息,如果验证不通过,则该从节点不再信任主节点,并发起视图切换请求。(2)若有节点接收到2f个确认消息后,向其他节点发送创建新视图请求。(3)节点验证收到的新视图创建请求是否正确,若正确,视图切换完成。图1-7检查点协议的执行流程1.4功能扩展与性能改进区块链面临的主要问题:网络的处理能力太低。扩展与改进方案:(1)共同挖矿(2)侧链技术(3)闪电网络(4)基于区块链的随机数发生器1.4.1共同挖矿共同挖矿:一种区块链系统,允许同时在该系统和其他区块链系统上进行挖矿。图1-8共同挖矿示意图优点与缺点:(1)可以使一个新区块链系统更容易实现自我增长的循环发展,即通过增加总算力从而提高其抗攻击能力。(2)共同挖矿很有可能只是一个安全假象,因为恶意竞争对手可以在攻击行为中通过共同挖矿来产生收益,收回一部分前期投资。1.4.2侧链结构侧链:让链上的价值跨过链和链之间的障碍直接流通,从而打破区块链的“孤岛效应”。单一托管模式:实现主链和侧链双向锚定最简单的方法。这种模式的最大问题是过于中心化。图1-9单一托管模式

的工作流程示意图1.4.2侧链结构联盟模式:联盟模式利用公证人联盟代替单一的托管方,利用公证人联盟的多重签名来确认侧链的数字资产流动。图1-9联盟模式

的工作流程示意图单一托管模式与联盟模式的最大优点是它们不需要对现有的比特币协议进行任何的改变。1.4.2侧链结构SPV模式:SPV是一种用来证明交易存在的方法,通过少量数据可以验证特定块中是否存在交易。SPV模式的问题是,它需要对主链进行软分叉。图1-10SPV模式模式

的工作流程示意图1.4.2侧链结构驱动链模式:驱动链中,矿工作为“算法代理监护人”,需要对侧链的当前状态进行检测。图1-11驱动链模式

的工作流程示意图1.4.2侧链结构混合模式:上述模式都是对称的,而混合模式是将上述获得双向锚定的方法进行有效结合的模式。混合模式是在主链和侧链使用不同的解锁方法,例如在侧链上使用SPV模式,而在主链网络上使用驱动链模式。同样,混合模式也需要对主链进行软分叉。侧链是以融合的方式实现区块链生态的目标,而不是像其他数字资产一样排斥现有的系统。侧链技术扩展了区块链技术的应用范围,使传统区块链可以支持多种资产类型,包括小微支付、安全处理机制、智能合约、财产注册等服务,增强了区块链的隐私保护。1.4.3闪电网络闪电网络是一个分布式网络,通过智能合约功能支持跨参与者网络的即时付款,同时利用区块链的特性消除将资金托管给第三方带来的风险。智能合约的核心概念主要有两个:序列到期可撤销合约和哈希时间锁定合约。目的:实现安全的链下交易,其本质上是使用哈希时间锁定智能合约来安全地进行零确认交易的一种机制。优点:闪电网络采用了更合理的支付网络架构,代表着效率的提高。与其向所有人广播交易,交易不如更直接地发送给收款人。1.4.3闪电网络序列到期可撤销合约(RSMC)思想步骤:(1)首先双方各出一些比特币,在比特币区块链上设立一个共同账户。这需要一次链上交易。(2)每次转账,双方只是对这个共同账户的分配达成共识。这些操作由两个账户私下完成,不需要上区块链,不产生费用,不需要等待确认。(3)最终结算时把这个共同账户的比特币按最终确认的分配方案分配给双方,这也需要链上交易。图1-12RSMC:共同账户和链下共识1.4.3闪电网络哈希时间锁定合约(HTLC)

:HTLC提供一种技术,把已有的RSMC链接成网络,使得没有直接RSMC合约的两个账户可以把其他账户作为中转,进行低费用的极速转账。HTLC转账过程:通过智能合约,双方约定转账方先冻结一笔钱,并提供一个哈希值,如果在一定时间内有人能提出一个字符串,使得它哈希后的值与已知值匹配,则这笔钱转给接收方。图1-13HTLC:A和B把C作为中转账户建立转账通道1.4.4基于区块链的随机数发生器提出背景:现存在的随机数发生器虽然能很好地解决了随机数的随机性、不可控制性、不可预测性等方面的问题,但是缺乏去中心性与可证公平性。而区块链作为一个去中心化的平台,为可证公平的随机数生成提供了天

温馨提示

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

评论

0/150

提交评论