这两个临时建筑算法有什么不一样为什么结果不一样?

区块链作为新兴技术受到越来越廣泛的关注是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等随着各种区块链研究聯盟的创建,相关研究得到了越来越多的资金和人员支持区块链的应用已延伸至多个领域,其在金融行业的应用受到诸多关注金融行業是我国网络安全重点行业之一,系统及数据安全至关重要因此区块链技术在安全层面所面临的挑战是个值得深入研究的课题。

该报告艏先对区块链密码临时建筑算法有什么不一样进行了详细的的介绍其次对区块链面临的安全问题进行了分析,最后以不同角度对针对区塊链的攻击进行了全面的分析与研究经分析,目前区块链技术在平台安全性、匿名性与隐私性、技术壁垒等方面都存在着很多亟待解决嘚问题这些问题是区块链技术应用于更多核心领域时需要重视且解决的关键问题,值得进一步探索与深入研究

下面将对区块链使用的Hash臨时建筑算法有什么不一样、零知识证明、环签名等密码临时建筑算法有什么不一样进行详细分析。

哈希临时建筑算法有什么不一样作为區块链基础技术Hash函数的本质是将任意长度(有限)的一组数据映射到一组已定义长度的数据流中。若此函数同时满足:

(1)对任意输入嘚一组数据Hash值的计算都特别简单;

(2)想要找到2个不同的拥有相同Hash值的数据是计算困难的

满足上述两条性质的Hash函数也被称为加密Hash函数,鈈引起矛盾的情况下Hash函数通常指的是加密Hash函数。对于Hash函数找到使得被称为一次碰撞。当前流行的Hash函数有MD5SHA1,SHA2SHA3。

比特币使用的是SHA256大哆区块链系统使用的都是SHA256临时建筑算法有什么不一样。所以这里先介绍一下SHA256

STEP1:附加填充比特。对报文进行填充使报文长度与448模512同余(长喥=448mod512)填充的比特数范围是1到512,填充比特串的最高位为1其余位为0。

STEP2:附加长度值将用64-bit表示的初始报文(填充前)的位长度附加在步骤1嘚结果后(低位字节优先)。

STEP3:初始化缓存使用一个256-bit的缓存来存放该散列函数的中间及最终结果。

STEP4:处理512-bit(16个字)报文分组序列该临時建筑算法有什么不一样使用了六种基本逻辑函数,由64 步迭代运算组成每步都以256-bit缓存值为输入,然后更新缓存内容每步使用一个32-bit 常数徝Kt和一个32-bit Wt。其中Wt是分组之后的报文t=1,2。..16 。

STEP5:所有的512-bit分组处理完毕后对于SHA256临时建筑算法有什么不一样最后一个分组产生的输出便是256-bit嘚报文。

作为加密及签名体系的核心临时建筑算法有什么不一样哈希函数的安全性事关整个区块链体系的底层安全性。所以关注哈希函數的研究现状是很有必要的

2、 Hash函数的研究现状

2005)。该攻击复杂度很低在普通计算机上只需要几秒钟的时间。2005年王小云教授与其同事又提出了对SHA-1临时建筑算法有什么不一样的碰撞临时建筑算法有什么不一样不过计算复杂度为2的63次方,在实际情况下难以实现

2017年2月23日谷歌咹全博客上发布了世界上第一例公开的SHA-1哈希碰撞实例,在经过两年的联合研究和花费了巨大的计算机时间之后研究人员在他们的研究网站SHAttered上给出了两个内容不同,但是具有相同SHA-1消息摘要的PDF文件这就意味着在理论研究长期以来警示SHA-1临时建筑算法有什么不一样存在风险之后,SHA-1临时建筑算法有什么不一样的实际攻击案例也浮出水面同时也标志着SHA-1临时建筑算法有什么不一样终于走向了生命的末期。

NIST于2007年正式宣咘在全球范围内征集新的下一代密码Hash临时建筑算法有什么不一样举行SHA-3竞赛。新的Hash临时建筑算法有什么不一样将被称为SHA-3并且作为新的安铨Hash标准,增强现有的FIPS 180-2标准临时建筑算法有什么不一样提交已于2008年10月结束,NIST 分别于2009年和2010年举行2轮会议通过2轮的筛选选出进入最终轮的临時建筑算法有什么不一样,最后将在2012年公布获胜临时建筑算法有什么不一样公开竞赛的整个进程仿照高级加密标准AES 的征集过程。2012年10月2日Keccak被选为NIST竞赛的胜利者,成为SHA-3

Keccak临时建筑算法有什么不一样是SHA-3的候选人在2008年10月提交。Keccak采用了创新的的“海绵引擎”散列消息文本它设计簡单,方便硬件实现Keccak已可以抵御最小的复杂度为2n的攻击,其中N为散列的大小它具有广泛的安全边际。目前为止第三方密码分析已经顯示出Keccak没有严重的弱点。

KangarooTwelve临时建筑算法有什么不一样是最近提出的Keccak变种其计算轮次已经减少到了12,但与原临时建筑算法有什么不一样比起来其功能没有调整。

在密码学中零知识证明(zero-knowledge proof ZKP)是一种一方用于向另一方证明自己知晓某个消息x,而不透露其他任何和x有关的内容嘚策略其中前者称为证明者(Prover),后者称为验证者(Verifier)设想一种场景, 在一个系统中 所有用户都拥有各自全部文件的备份, 并利用各自的私钥进行加密后在系统内公开 假设在某个时刻,用户Alice希望提供给用户Bob她的一部分文件这时候出现的问题是Alice如何让Bob相信她确实发送了正确的文件。一个简单地处理办法是Alice将自己的私钥发给Bob而这正是 Alice不希望选择的策略,因为这样 Bob可以轻易地获取到Alice的全部文件内容零知识证明便是可以用于解决上述问题的一种方案。零知识证明主要基于复杂度理论并且在密码学中有广泛的理论延伸。在复杂度理论Φ我们主要讨论哪些语言可以进行零知识证明应用,而在密码学中我们主要讨论如何构造各种类型的零知识证明方案,并使得其足够優秀和高效

complexity)这一概念(即证明方传递给验证者知识量的度量) 。同时作者给出了几种可以运用于零知识证明的具体困难问题--二次非剩餘问题之后的相关工作表明所有多项式时间内可以被验证的判定性问题(NP 问题) 都存在零知识证明。更进一步任何可以通过交互式证奣系统证明的判定性问题(IP 问题)和多项式空间内可判定的问题(PSPACE 问题)是等价的,并且都有零知识证明 目前除了交互式零知识证明以外,还有两个主要变种:并行零知识证明和非交互零知识证明

Zcash是首个使用零知识证明机制的区块链系统,能够提供完全的支付保密性使用公有区块链来维护一个去中心化的网络,Zcash与比特币有一定的相似性相同的是Zcash的代币ZEC总量是2100万元,不同的是Zcash交易的时候自动隐藏区块鏈上所有交易的发送者、接受者以及数额只有拥有查看密钥的人才能看到交易的内容,用户具有完全的控制权可以自行选择向其他任哬一个人提供查看的密钥。

Zcash的原理就是在比特币交易的区块链的主链上加上一条侧链这条侧链可以将付费者和收款者在数字货币的交易過程中把数字货币分成好几份,再重新在全网上发一遍达到完全匿名交易的目的。采用了POW的分配方式在前四年旷工的挖矿所得有20%会自動分配给Zcash的团队以及投资者的,与比特币等数字货币不同的是Zcash更加注重隐私和对交易透明的可控性Zcash系统允许用户进行私人交易,也能维護支持交易的完整性Zcash项目的出现,解决了比特币的监视风险为比特币公开交易记录监控风险提供了解决方案。

在一个群签名方案中┅个群体中的任意一个成员可以以匿名的方式代表整个群体对消息进行签名。与其他数字签名一样群签名是可以公开验证的,且可以只鼡单个群公钥来验证群签名一般流程:

(1)初始化,群管理者建立群资源生成对应的群公钥(Group Public Key)和群私钥(Group Private Key)群公钥对整个系统中的所有用户公开,比如群成员、验证者等

(2)成员加入,在用户加入群的时候群管理者颁发群证书(Group Certificate)给群成员。

(3)签名群成员利鼡获得的群证书签署文件,生成群签名

(4)验证,同时验证者利用群公钥仅可以验证所得群签名的正确性但不能确定群中的正式签署鍺。

(5)公开群管理者利用群私钥可以对群用户生成的群签名进行追踪,并暴露签署者身份

2001年,Rivest shamir和Tauman三位密码学家首次提出了环签名。是一种简化的群签名只有环成员没有管理者,不需要环成员间的合作环签名方案中签名者首先选定一个临时的签名者集合,集合中包括签名者然后签名者利用自己的私钥和签名集合中其他人的公钥就可以独立的产生签名,而无需他人的帮助签名者集合中的成员可能并不知道自己被包含在其中。

环签名方案由以下几部分构成:

(1)密钥生成为环中每个成员产生一个密钥对(公钥PKi,私钥SKi)

(2)签洺。签名者用自己的私钥和任意n个环成员(包括自己)的公钥为消息m生成签名a

(3)签名验证。验证者根据环签名和消息m验证签名是否為环中成员所签,如果有效就接收否则丢弃。

(1)无条件匿名性:攻击者无法确定签名是由环中哪个成员生成即使在获得环成员私钥嘚情况下,概率也不超过1/n

(2)正确性:签名必需能被所有其他人验证。

(3)不可伪造性:环中其他成员不能伪造真实签名者签名外部攻击者即使在获得某个有效环签名的基础上,也不能为消息m伪造一个签名

3、环签名和群签名的比较

(1)匿名性。都是一种个体代表群体簽名的体制验证者能验证签名为群体中某个成员所签,但并不能知道为哪个成员以达到签名者匿名的作用。

(2)可追踪性群签名中,群管理员的存在保证了签名的可追踪性群管理员可以撤销签名,揭露真正的签名者环签名本身无法揭示签名者,除非签名者本身想暴露或者在签名中添加额外的信息提出了一个可验证的环签名方案,方案中真实签名者希望验证者知道自己的身份此时真实签名者可鉯通过透露自己掌握的秘密信息来证实自己的身份。

(3)管理系统群签名由群管理员管理,环签名不需要管理签名者只有选择一个可能的签名者集合,获得其公钥然后公布这个集合即可,所有成员平等

尽管区块链的防篡改、分布式存储、用户匿名等技术优势为其发展应用提供了大量的创新空间,但目前区块链技术在各领域的应用模式仍处于大量探索阶段其深入应用仍需漫长的整合和发展过程。区塊链技术本身仍存在一些内在安全风险去中心化、自组织的颠覆性本质也可能在技术应用过程中引发一些不容忽视的安全问题。其主要汾为系统安全和应用安全两大类

系统安全主要指的是底层代码安全、密码临时建筑算法有什么不一样的安全以及共识机制的安全。底层玳码安全是其应用和再开发的保障其底层代码的漏洞对于其区块链项目的打击是致命,需要及时地进行修补密码临时建筑算法有什么鈈一样的安全是区块链不可篡改性和匿名性的一个保证,密码协议永远是跟随着当前科技的发展不断变化的在量子时代,需要研究更加咹全的抗量子密码协议确保密码临时建筑算法有什么不一样的安全在共识临时建筑算法有什么不一样的设计中存在着著名的Trilemma(三难问题),即Secure(安全性)、Scalability(可扩展性)和Decentralization(去中心化)三者不可兼得而目前几乎所有的区块链项目都遇到这种挑战。

区块链底层相当于操作系统由于开发者在开发过程中的疏忽造成的系统漏洞极大程度上影响系统的安全性,并且区块链的更新十分繁琐和困难出现漏洞后的哽新很可能造成硬分叉,因此底层代码的安全性十分重要2018年8月的Bitcoin ABC(Bitcoincash全节点执行的开源代码)代码漏洞事件向我们展现了底层代码漏洞的危害性。根据Bitcoin ABC的官方报告黑客可以通过这个漏洞构建一个恶意交易,该交易将被某一特定版本的 Bitcoin ABC 接收但会被其他所有版本的比特币现金拒绝。这样一个漏洞的结果可能是形成比特币现金的分叉即使使用敏感版本的矿工接受了恶意交易,其他矿工也不会接受的Bitcoin ABC 表示他們已经直接向相关的矿业池运营商提供了补丁。这一事件说明漏洞总是会发生但在重构这样一个关键代码时,应该花更多的时间和精力進行代码审查

随着量子计算机的发展将会给现在使用的密码体系带来重大的安全威胁。区块链主要依赖椭圆曲线公钥加密临时建筑算法囿什么不一样生成数字签名来安全地交易目前最常用的ECDSA、RSA、DSA 等在理论上都不能承受量子攻击,将会存在较大的风险越来越多的研究人員开始关注能够抵抗量子攻击的密码临时建筑算法有什么不一样。

对于一个共识协议要满足以下三个特性:

· Common Prefix:对于任何两个诚实节点,他们的本地视图除却最后有限个块之后所有诚实节点看到的链的视图是一致的。

· Chain Growth:保证区块链能够正常的增长并且增长速度稳定。

· Chain Quality:对于一条链任意截取其中一段,总有一部分是诚实节点产生的块

以下列出目前一些针对共识的攻击手段。

在比特币中若恶意鼡户控制节点中大多数的计算资源(超过51%),就有能力新改写整个公有账本这被称为51%攻击。由于区块链网络的开放性和当前整个网络的算力不均衡性尤其是专业挖矿芯片公司的产生与大矿池的形成,使其发生51%攻击的可能性显著提高51%攻击会引发对于区块链的破坏以及对整个密码货币的破坏,不管攻击成功与否都会让其置于自私挖矿双花攻击,分叉攻击等危险之下

最近Horizen团队,对于51%攻击提出了其创新的解决方案:通过“延时函数”升级他们的工作量验证共识临时建筑算法有什么不一样来处罚蓄谋这种攻击的矿工。

比特币的经济激励机淛和自身的去中心化的特性是比特币系统依然能够良好运行的关键但是,由于矿工的逐利性和当前比特币系统算力的不均衡使得当前仳特币系统受到了严峻的挑战,以色列学者Ittay Eyal在2014年提出了自私挖矿(selfish mining)的攻击方式攻击者只要能控制全网超过1/3的算力, 就可以发起自私挖礦攻击 获取更大的收益, 并对网络安全造成威胁

最近,康奈尔大学两位研究员Cyril Grunspan 和Ricardo Perez-Marco的论文中通过探讨攻击向量与时间的关系给出其相應的解决方案。

在P2P网络里 只要控制一定数量的节点, 就可以进行Eclipse Attack[从而发起51%攻击, 控制整个网络这是一种分区攻击。分区攻击通过區块链部分网络的完全隔离实现即使当前控制的算力小于51%但仍能发起51%攻击。由于分区攻击发起的前提为控制被隔离网络的所有节点所鉯攻击成本较大,分区攻击并不是单独发起的往往伴随着双花自私挖矿等攻击,使其攻击者获得较大利益

针对PoW共识临时建筑算法有什麼不一样的出现的算力集中问题,PoS的提出在一定程度上解决了上述问题然而伴随而来的是区块分叉的NAS攻击。由于在类似于PoS的共识临时建築算法有什么不一样中区块分叉的成本支付是极小,矿工为实现自身利益的最大化和风险的最小化会同时在多个分叉上进行挖矿,使其区块链网络得不到及时的收敛从而破坏共识。当前对于NAS攻击的解决方案主要是保证金机制即为了有资格获得块投票的奖励,用户必須付保证金如果用户被发现在多个叉投票,那个交易证明将被放在原来的链上取消用户的奖励。

应用安全主要指的是智能合约安全、數字钱包安全以及隐私保护智能合约安全是当前区块链安全问题中一个重要的问题,当前许多区块链的安全事件都与智能合约的安全有┅定的联系这也是区块链应用发展的一个不可避免的问题。区块链钱包是储存和使用数字虚拟货币的工具区块链钱包对虚拟币的持有鍺们是非常重要的其重要性等同于现实生活中的银行卡,所以区块链钱包安全是至关重要的隐私保护一直是隐私性和安全性两难的问题,对于用户我们希望不要泄露其自身信息的同时享有其安全性通过环签名、承诺协议和零知识证明可以有效地在保护隐私的同时保障其咹全性。

智能合约具有不可更改的性质并且和密码货币强相关,因此智能合约出现安全问题会造成严重后果和经济损失

2010年8月15日,比特幣区块链的第74638块上被 发现了一条包含有. BTC的交易记录而且这些比特币仅被发送到两个比特币地址。而导致这次攻击的原因是由于比特币玳码中的大整数溢出漏洞。为使这笔交易失效比特币核心开发人员开发了比特币补丁版本,并启动了硬分叉在33个区块的竞争之后,带補丁版本的区块链才成为主链消除了原有漏洞的影响。

2016 年6 月以太坊最大众筹项目The DAO 被攻击,黑客获得超过350 万个以太币后来导致以太坊汾叉为ETH 和ETC。

新加坡国立大学的Loi Luu提出了现在的智能合约存在的几种安全漏洞

1.1 交易顺序依赖合约

交易顺序依赖就是智能合约的执行随着当前茭易处理的顺序不同而产生差异。智能合约在执行交易时会将合约状态进行更新,在传统公有链上其未处理的交易顺序并没有完全确定不同的交易顺序的执行会产生不同的合约状态,这样就会导致用户期待的调用合约时的状态与实际的合约状态产生差异;当前合约的状態取决于矿工在执行智能合约时对交易的调用顺序而这种合约状态的不一致往往是其安全漏洞的来源。

1.2 时间戳依赖合约

按照以太坊的对於时间戳的要求矿工在处理一个新的区块时,如果新的区块的时间戳大于上一个区块并且时间戳之差小于900秒,那么这个新区块的时间戳就是合法的攻击者可以更改时间戳值或者可以选择不同的块的时间戳来操纵依赖于时间戳的智能合约的结果。

在以太坊中一个合约調用另一个合约可以通过send指令或直接调用另一个合约的函数。然而在调用过程中出现异常时被调用的合约会中止执行,回退到调用前的狀态并返回false给调用合约但是取决于合约调用方式的不同,被调用合约的异常可能无法立即被调用者获知这种不一致的异常传播策略导致多种异常处理不当的情况发生。

在以太坊中当一个合约调用另一个合约的时候,当前的操作就要等到调用结束之后才会继续这时,洳果被调用者需要使用调用者当前所处的状态不考虑被调用方可能的恶意行为就可能产生了问题,而且该问题可能再合约编写时不能立即被发现著名的DAO攻击事件就是因为这个漏洞而发生的,导致了3600,000个以太币被盗取总价值达60,000000美元。

智能合约本质是一段运行在区塊链网络中的代码它完成用户所赋予的业务逻辑。通俗的来说相当于是一个“不可改变”且“公正”的“中间人”。但是由于代码是程序员编写的不免会产生各种各样的bug,但是由于智能合约一旦部署就不能修改的特点一旦智能合约存在安全性隐患就会造成不可挽回嘚恶劣后果。因此在智能合约部署之前对其进行安全性检测尤为重要。目前智能合约的检测的发展方向有以下三个方向:

· 交由专业嘚检测机构进行检测

· 智能合约检测工具进行检测

· 形式化证明的检测方式进行检测

数字钱包保存着用户的密码货币,主要存在的安全风險有以下三点第一,设计缺陷2014 年底,某签报因一个严重的随机数问题(R 值重复)造成用户丢失数百枚数字资产第二,数字钱包中包含恶意代码第三,电脑、手机丢失或损坏导致的丢失资产

应对措施主要有四个方面:

· 确保私钥的随机性;

· 在软件安装前进行散列徝校验,确保数字钱包软件没有被篡改过;

在公有链中 需要对交易数据、地址、身份等敏感信息进行保护, 同时又能让记账节点验证交噫的合法性;对于联盟链 在构建隐私保护方案的同时, 需考虑可监管性/授权追踪可以通过采用高效的零知识证明、承诺、证据不可区分等密码学原语与方案来实现交易身份及内容隐私保护;基于环签名、群签名等密码学方案的隐私保护机制、基于分级证书机制的隐私保护机淛也是可选方案;也可通过采用高效的同态加密方案或安全多方计算方案来实现交易内容的隐私保护;还可采用混币机制实现简单的隐私保护。

区块链主要的隐私保护技术主要包括混币技术、环签名技术及零知识证明技术后两种技术在(上)篇中已经详细的介绍过,这里不再贅述

对于单个用户的交易图进行大数据分析[37]可以进行交易追踪,有鉴于此研究人员提出了混币技术旨在将多笔不相关的输入进行混匼后输出 使得外界无法关联交易的输入与输出, 从而分辨不出数字货币的流向Gregory Maxwell于2013年提出了CoinJoin匿名混币技术, CoinJoin的使用者需要委托可信的第彡方 来构造一笔混合多笔输入的交易,其提供服务的第三方可以知道混币交易的流向Tumble Bit协议提出了不同于CoinJoin的混币协议方案, 虽然仍然需偠第三方参与 但第三方无法知道交易细节, 仅仅是提供服务即第三方可以是任意第三方而不仅仅是可信的第三方。

作为一个新兴的研究领域区块链的研究大多仍处于起步阶段。区块链技术依旧存在一些比较严重的问题阻碍了区块链的发展与大规模应用在今后的区块鏈技术安全研究中,可重点对共识机制的安全性、区块链应用漏洞以及隐私泄露几个方面进行深入的研究在共识机制方面,可在目前已囿的攻击方案的基础上探索研究更加安全可靠的共识机制。随着区块链的发展隐私泄露的问题则更加严峻,亟待后续研究以比特币為例,攻击者可利用区块链数据和交易链数据对比特币地址进行聚类以此来对应用户的真实身份,此外如何应对密钥丢失,如何解决根据用户钱包地址即可暴露所有交易记录都是值得深思的问题

一、针对区块数据的攻击

针对区块数据的安全风险,大致总结了以下攻击方式:

在区块链中写入恶意信息例如病毒特征码、政治敏感话题等。借助区块链数据不可删除的特性信息被写入区块链后很难删除。若区块链中出现恶意信息将会遭到杀毒软件、政治敏感等多方面的问题。

随着时间的推移区块数据可能会爆炸式增长(节点之间恶意頻繁交互),也可能会呈线性增长这主要取决于此区块链应用的设计,依赖现有的计算机存储技术区块数据若发生爆炸式增长,可能導致节点无法容纳又或者使区块链运转缓慢从而使稳定运行的节点越来越少,节点越少则越趋于中心化,引发区块链危机

若链中没囿设计相应的操作限制,攻击者可以通过发送大量的垃圾信息来堵塞整个区块链使区块链中真正的信息迟迟得不到处理,又或者使区块鏈中的存储节点超负荷运行

二、针对加密签名机制的攻击

加密技术作为一个区块链整体的支柱,其安全性显得尤为重要例如前些年所鋶行的MD5和SHA1哈希临时建筑算法有什么不一样,目前已经证明安全性不足现在已经不能被商用。目前大量使用的是SHA256临时建筑算法有什么不一樣到目前为止,此临时建筑算法有什么不一样还是安全的虽然有人依然持有质疑,但是并没有任何直接的公开证据表明此临时建筑算法有什么不一样存在漏洞但是还是建议后期的区块链建设使用更新的SHA3临时建筑算法有什么不一样。

针对加密签名机制大致有如下攻击方式:

此类攻击方式主要作用于散列函数中且几乎所有散列函数或多或少都受此攻击方式影响,而且其影响程度与函数本身无关而是与苼成的HASH长度有关,主要是一个概率论的问题其中最典型的的方式是基于生日悖论的“生日攻击”。

生日悖论:如果一个房间里有23个或23个鉯上的人那么至少有两个人的生日相同的概率要大于50%。这就意味着在一个典型的标准小学班级(30人)中存在两人生日相同的可能性更高。对于60或者更多的人这种概率要大于99%。

此种攻击方式主要作用于散列函数中比较典型的案例是“MD5摘要临时建筑算法有什么不一样”囷“SHA1摘要临时建筑算法有什么不一样”。它的攻击原理是通过寻找临时建筑算法有什么不一样的弱点瓦解它的强抗碰撞性这一特性,使嘚散列函数原本要在相当长一段时间才能寻找到两个值不同HASH相同的值的特性被弱化攻击者能在较短的时间能寻找到值不同但HASH相同的两个徝。

此种攻击方式主要作用于散列函数中准确的说是基于Merkle-Damgard构造的摘要临时建筑算法有什么不一样。其原理是通过临时建筑算法有什么不┅样弱点在已知密文HASH和密文长度的情况下,推导出密文与另一消息拼接后计算出来的HASH

此种攻击方式作用于所有开源加密临时建筑算法囿什么不一样库中,ECC临时建筑算法有什么不一样是区块链中身份验证的基石ECC临时建筑算法有什么不一样本身是没问题的,但是在实际情況中人们可能更多的是选择别人已经写好的“轮子”直接拿来用,而不是自己再去实现一套加密函数这就带来了一个问题,在别人已經写好的“轮子”中可能被安插后门。

此种攻击方式作用于大部分密码学临时建筑算法有什么不一样目前所有的加密临时建筑算法有什么不一样以及摘要临时建筑算法有什么不一样,其安全强度取决于它被穷举的时间复杂度这使得依赖现有的计算机的计算能力,针对仳较强的加密临时建筑算法有什么不一样要对它进行暴力破解是非常难的但是量子计算机拥有传统计算机无可比拟的算力,使得时间复雜度大大降低于是,其安全强度便可能被瓦解

三、针对分布式网络的攻击

去中心化的公链网络节点可能是普通家庭PC,可能是云服务器等等其安全性必然是参差不齐的,其中必有安全性较差的节点对其进行攻击将直接威胁节点的安全。针对分布式网络的安全风险大致总结了以下攻击方式:

是其他节点实施的网络层面攻击,其攻击手段是囤积和霸占受害者的点对点连接间隙将该节点保留在一个隔离嘚网络中。这种类型的攻击旨在阻止最新的区块链信息进入到日食节点从而隔离节点。

攻击者可以使用这种攻击来让区块链中的用户标識与IP关联起来在某些情况下甚至可以追溯到用户的家庭地址。以比特币为例当你在比特币网络上执行交易时,你的比特币客户端通常通过连接到一组八台服务器来加入网络这个初始连接集合就是你的入口节点,每个用户都会获得一组唯一的入口节点当你的钱包发送仳特币完成购买时,入口节点将交易转交给比特币网络的其余部分研究人员发现,识别一组一口节点意味着识别一个特定的比特币客户端以此来推导出某个用户。那么攻击者要做的是与比特币服务器建立多个连接,连接后攻击者必须听取客户端与服务端的初始连接,这会泄露客户端的IP地址随着交易流经网络,它们将会与客户端的入口节点相关联如果匹配,那么攻击者就知道这是来自一个特定客戶端的交易

边界网关协议(BGP)是因特网的关键组成部分,用于确定路由路径BGP劫持,即利用BGP操纵因特网路由路径最近几年中已经变得樾来越频繁。 无论是网络犯罪分子还是政府都可以利用这种技术来达到自己的目的,如误导和拦截流量等目前在区块链网络中节点的鋶量一但被接管又能对整个网络造成巨大的影响,如破坏共识机制交易等各种信息。

攻击者可以利用BGP劫持来讲区块链网络划分成两个或哆个不相交的网络此时的区块链会分叉为两条或多条并行链。攻击停止后区块链会重新统一为一条链,以最长的链为主链其他的链將被废弃,其上的交易、奖励等全部无效

攻击者可以利用BGP劫持来延迟目标的区块更新,而且不被发现因为它是基于中间人修改目标请求区块的数据来做到的:在目标请求获取最新区块的时候,将它的这一请求修改为获取旧区块的请求使得目标获得较旧的块。

攻击者在內网或者外网利用各种手段譬如漏洞扫描0DAY漏洞利用等技术,对节点客户端进行攻击此类攻击主要针对客户端自身软件可能存在安全漏洞进行利用,获取节点的控制权限

通过大流量,或者漏洞的方式攻击P2P网络中的节点使网络中部分节点网络瘫痪,节点瘫痪意味着链中總算力受损使得其更容易遭受51%攻击,而目前进行拒绝服务攻击成本也较低大量的攻击工具平台能轻易在黑市购买用于攻击。

双重支出攻击又称双花问题指的是一个代币花费在多笔交易中的攻击,它的实现方法主要有以下几种:

(1)种族攻击在面对0确认的交易便立刻進行付款的商家可能会遭遇此攻击。欺诈者直接向商家发送支付给商家的交易并发送冲突的交易,将代币投入自己到网络的其余部分苐二个冲突的交易很可能会被开采出来,并被区块链节点认为是真的于是付款交易作废。

(2)芬尼攻击当接受0确认的付款时可能会遭遇此攻击。假设攻击者偶尔产生数据块在他生成的每个区块中,他包括从他控制的地址A到地址B的转移为了欺骗你,当他生成一个块时他不会广播它。相反他打开您的商店网页,并使用地址A向您的地址C付款您可能会花费几秒钟的时间寻找双重花费,然后转让商品接着他广播他之前的区块,他的交易将优先于你的交易于是付款交易作废。

(3)Vector76攻击也被称为单一确认攻击,是种族攻击和芬尼攻击嘚组合因此即使有一次确认的交易仍然可以逆转。对于种族攻击相同的保护措施显然降低了发生这种情况的风险。 值得注意的是成功的攻击会使攻击者花费一个块,他们需要通过不传播它来“牺牲”一个块而是仅将其转让给被攻击的节点。

(4)替代历史攻击即使商家等待一些确认,这种攻击也有机会成功但风险较高。攻击者向商家提交支付的交易同时私下挖掘其中包含欺诈性双重支出交易的汾支。等待n次确认后商家发送产品。如果攻击者此时碰巧找到n个以上的区块他就会释放他的分支并重新获得他的硬币。

(5)51%攻击(Φ)篇详细介绍过51%攻击问题,不再赘述如果攻击者控制全网算力的一半以上,则前面提到的替代历史攻击有100%的概率成功由于攻击者鈳以比网络的其他部分更快地生成块,所以他可以坚持自己的私有分支直到它比诚实节点网络建立的分支更长,它将代替主链

(6)交噫延展性攻击。延展性攻击者侦听P2P网络中的交易利用交易签名临时建筑算法有什么不一样的特征修改原交易中的input 签名, 生成拥有一样input和output嘚新交易然后广播到网络中形成双花,这样原来的交易就可能有一定的概率不能被确认在虚拟货币交易的情况下,它可以被用来进行②次存款或双重提现

(7)验证绕过。验证机制的代码是区块链应用的核心之一一旦出现问题将直接导致区块链的数据混乱,而且核心玳码的修改与升级都涉及到区块链分叉的问题所以验证机制的严谨性就显得尤为重要。必须要结合验证机制代码的语言特性来进行大量嘚白盒审计或是模糊测试来保证验证机制的不可绕过。例如2010年8月15日有人在比特币区块链的第74638块上发现了一条让人惊愕的交易,这笔交噫里竟然出现了184467,440737.个比特币,其中各有922亿个比特币被发送到两个比特币地址这次攻击的根本原因则是比特币的验证机制中存在大整數溢出漏洞,由于大整数溢出为负数网络各个节点对黑客的交易均验证通过,导致了比特币区块链中凭空出现了大量比特币

四、针对囲识机制的攻击

此类攻击比较典型的是“贿赂攻击”,此攻击主要影响PoS共识机制贿赂攻击流程如下:

1)攻击者购买某个商品或服务。

2)商户开始等待网络确认这笔交易

3)此时,攻击者开始在网络中首次宣称对目前相对最长的不包含这次交易的主链进行奖励。

4)当主链足够长时攻击者开始放出更大的奖励,奖励那些在包含此次交易的链条中挖矿的矿工

5)六次确认达成后,放弃奖励

6)货物到手,同時放弃攻击者选中的链条

因此,只要此次贿赂攻击的成本小于货物或者服务费用此次攻击就是成功的。相比之下PoW 机制中贿赂攻击就需要贿赂大多数矿工,因此成本极高难以实现。

此类攻击比较典型的是“51%”攻击虽然某一个节点控制了 51% 及以上算力,就有能力篡改账夲但达到 51% 算力是件极其困难的事情。而在 PoS 中缺乏对算力的约束那么就存在潜在可能篡改账本。

在最早的 Peercoin 版本中挖矿难度不仅与当前賬户余额有关,也与每个币的持币时间挂钩这就导致,部分节点在等待足够长时间后就有能力利用 Age 的增加来控制整个网络,产生非常顯著的影响

当 PoS 中的某一节点占有了一定量的算力后,PoS 中占有特定算力的节点就有能力通过控制 Hprev 来使自己所在算力范围有能力去计算 Hnext。

叒称Sybil攻击在Sybil攻击中,攻击者通过创建大量的假名标识来破坏对等网络的信誉系统使用它们获得不成比例的大的影响。对等网络上的实體是能够访问本地资源的一块软件实体通过呈现身份在网络上通告自身。多于一个标识可以对应于单个实体换句话说,身份到实体的映射是多对一的对等网络中的实体为了冗余,资源共享可靠性和完整性而使用多个标识。在对等网络中身份用作抽象,使得远程实體可以知道身份而不必知道身份与本地实体的对应关系默认情况下,通常假定每个不同的标识对应于不同的本地实体实际上,许多身份可以对应于相同的本地实体对手可以向对等网络呈现多个身份,以便出现并充当多个不同的节点因此,对手可能能够获得对网络的鈈成比例的控制水平例如通过影响投票结果。

应用层安全主要囊括涉及数字货币交易管理着大量资金的交易所等中心化节点的安全问題。这些节点处在整个区块链网络的单点失败处攻击收益高而成本低,是攻击者们的首选目标

1. 交易所服务器未授权访问

交易所往往存放着大量资金,极易成为被攻击目标一旦获得交易所服务器权限或访问,修改关键信息攻击者便可盗取资金密钥、篡改交易金额或者泄漏敏感信息等,给交易所造成经济和名誉上的毁灭性打击

据Incapsula2017年Q3季度DDoS威胁报告分析称,尽管其行业规模依然相对较小比特币已经成为┿大最容易被DDoS攻击的行业之一 。这一定程度反映了整个区块链行业面临着严峻的DDoS攻击安全挑战

在使用类似Ethereum,EOSZilliqa等DApp开发平台进行智能合约忣DApp应用项目开发时,需要尤其注意合约的安全性由于区块链不可篡改的特点,使得智能合约一旦发布极难修改合约的安全与否往往决萣了一个项目的生死。合约开发者应该充分重视并在部署合约前做好智能合约的安全审计工作

针对合约层的攻击主要是重入攻击,即Reentrancy攻擊本质是劫持合约控制流,破坏事务原子性可以理解为一种逻辑上的条件竞争问题。

The DAO是一个众筹合约在2016年6月18日被攻击前募集了$150M。攻擊者利用合约中的漏洞发动了Reentrancy攻击获得了$60M。为了追回这部分资金以太坊社区决定进行硬分叉,在新分支中回滚自攻击开始后的所有交噫记录并修复合约漏洞 但因为此举违背了‘Code is law’精神,部分成员拒绝新分支导致最终形成了两个分支。旧分支称为以太坊经典(Ethereum Classic/ETC)新汾支为现行以太坊。攻击者最终离开以太坊经典带走了数千万美元。

总体而言区块链的发展引起了产业界与学术界的广泛关注,尽管其不断得到研究与应用但是目前区块链技术在系统安全何应用安全等方面都存在着很多亟待解决的问题。这些问题也是区块链技术应用於更多核心领域时需要重视且解决的关键问题值得进一步探索与深入研究。

文件名称: 临水、临电计算公式案唎

 详细说明:电力弱电doc格式,临时用水计算 建筑工地用水包括: 1、施工生产用水ql; 2、施工机械用水q2; 3、施工现场生活用水q3; 4、生活用水q4 5、消防用水q5; 一、现场用水量ql q1=kl∑×QlNl/T1t×K2/8×3600 其中:ql——施工用水量(L/s); kl——未预计施工用水系数(1.05~1.15); Ql——最大年(季)工程量(以实物计量單位表示); Nl——施工用水定额; T1——年(季)有效工作日; t——每日工作班数; K2——施工用水不均衡系数(取1.5); 二、施工机械用水量q2 q2=kl∑×Q2N2×K3/8×3600 其Φ:q2——机械用水量(L/s); kl——未预计施工用水系数(1.05~1.15); Q2——同一种机械台数; N2——施工机械台班用水定额; K3——施工机械用水不....

  • [] - 电力弱电doc格式,220kV 变电站 异常情况、事故预案汇编
  • [] - 建筑工程doc格式,经济开发区道路及园区配套综合楼建设可行性研
  • [] - 建筑工程doc格式,广水众鑫房地產东方名居建设项目可研报告 第
  • [] - 建筑工程doc格式,中学迁建工程可行性研究报告 第一章 总 论
  • [] - 建筑工程doc格式,第一章 工程概况和编制依据 1.1 笁程概
  • [] - 给排水工程doc格式,污水处理厂及配套管网工程项目可行性研究报
  • [] - 给排水工程doc格式,市区污水管网改造完善工程项目可行性研究報
  • [] - 矿山工程doc格式,车集煤矿爆破作业流程及规范 1、爆破工、背
  • [] - 造价合同doc格式,B9   苏州工业园区佳宏二期厂房二  工
  • [] - 建筑工程doc格式,銀川市汇丰苑小区1#、2#、3#住宅楼 C

(查看文件列表判断是否您需要的文件):

 
  • 建筑工程网是交换下载平台提供一个交流的渠道,下载的内容请自行研究使用
  • 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源下载后用进行解压.
  • 如果您发现内容无法下载,请稍后再次嘗试;或者到消费记录里找到下载记录.
  • 下载后发现下载的内容跟说明不相乎请到消费记录里找到下载记录,经确认后退回积分.
  • 本站提供丅载的内容为网上收集或会员上传提供若无意中侵犯了您的版权,.
  • 如下载前有疑问可以通过点击"提供者"的名字,查看对方的联系方式联系对方咨询.

我要回帖

更多关于 临时建筑算法有什么不一样 的文章

 

随机推荐