今天给各位分享区块链安全的原理是什么的知识,其中也会对区块链和网络安全的关系进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。 其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。区块链主要解决的交易的信任和安全问题,其本质是在不可信的网络建立可信的信息交换
区块链本身解决区块链安全的原理是什么的就是陌生人之间大规模协作问题区块链安全的原理是什么,即陌生人在不需要彼此信任的情况下就可以相互协作。那么如何保证陌生人之间的信任来实现彼此的共识机制呢?中心化的系统利用的是可信的第三方背书,比如银行,银行在老百姓看来是可靠的值得信任的机构,老百姓可以信赖银行,由银行解决现实中的纠纷问题。但是,去中心化的区块链是如何保证信任的呢?
实际上,区块链是利用现代密码学的基础原理来确保其安全机制的。密码学和安全领域所涉及的知识体系十分繁杂,区块链安全的原理是什么我这里只介绍与区块链相关的密码学基础知识,包括Hash算法、加密算法、信息摘要和数字签名、零知识证明、量子密码学等。您可以通过这节课来区块链安全的原理是什么了解运用密码学技术下的区块链如何保证其机密性、完整性、认证性和不可抵赖性。
基础课程第七课 区块链安全基础知识
一、哈希算法(Hash算法)
哈希函数(Hash),又称为散列函数。哈希函数:Hash(原始信息) = 摘要信息,哈希函数能将任意长度的二进制明文串映射为较短的(一般是固定长度的)二进制串(Hash值)。
一个好的哈希算法具备以下4个特点:
1、 一一对应:同样的明文输入和哈希算法,总能得到相同的摘要信息输出。
2、 输入敏感:明文输入哪怕发生任何最微小的变化,新产生的摘要信息都会发生较大变化,与原来的输出差异巨大。
3、 易于验证:明文输入和哈希算法都是公开的,任何人都可以自行计算,输出的哈希值是否正确。
4、 不可逆:如果只有输出的哈希值,由哈希算法是绝对无法反推出明文的。
5、 冲突避免:很难找到两段内容不同的明文,而它们的Hash值一致(发生碰撞)。
举例说明:
Hash(张三借给李四10万,借期6个月) = 123456789012
账本上记录了123456789012这样一条记录。
可以看出哈希函数有4个作用:
简化信息
很好理解,哈希后的信息变短了。
标识信息
可以使用123456789012来标识原始信息,摘要信息也称为原始信息的id。
隐匿信息
账本是123456789012这样一条记录,原始信息被隐匿。
验证信息
假如李四在还款时欺骗说,张三只借给李四5万,双方可以用哈希取值后与之前记录的哈希值123456789012来验证原始信息
Hash(张三借给李四5万,借期6个月)=987654321098
987654321098与123456789012完全不同,则证明李四说谎了,则成功的保证了信息的不可篡改性。
常见的Hash算法包括MD4、MD5、SHA系列算法,现在主流领域使用的基本都是SHA系列算法。SHA(Secure Hash Algorithm)并非一个算法,而是一组hash算法。最初是SHA-1系列,现在主流应用的是SHA-224、SHA-256、SHA-384、SHA-512算法(通称SHA-2),最近也提出了SHA-3相关算法,如以太坊所使用的KECCAK-256就是属于这种算法。
MD5是一个非常经典的Hash算法,不过可惜的是它和SHA-1算法都已经被破解,被业内认为其安全性不足以应用于商业场景,一般推荐至少是SHA2-256或者更安全的算法。
哈希算法在区块链中得到广泛使用,例如区块中,后一个区块均会包含前一个区块的哈希值,并且以后一个区块的内容+前一个区块的哈希值共同计算后一个区块的哈希值,保证了链的连续性和不可篡改性。
二、加解密算法
加解密算法是密码学的核心技术,从设计理念上可以分为两大基础类型:对称加密算法与非对称加密算法。根据加解密过程中所使用的密钥是否相同来加以区分,两种模式适用于不同的需求,恰好形成互补关系,有时也可以组合使用,形成混合加密机制。
对称加密算法(symmetric cryptography,又称公共密钥加密,common-key cryptography),加解密的密钥都是相同的,其优势是计算效率高,加密强度高区块链安全的原理是什么;其缺点是需要提前共享密钥,容易泄露丢失密钥。常见的算法有DES、3DES、AES等。
非对称加密算法(asymmetric cryptography,又称公钥加密,public-key cryptography),与加解密的密钥是不同的,其优势是无需提前共享密钥;其缺点在于计算效率低,只能加密篇幅较短的内容。常见的算法有RSA、SM2、ElGamal和椭圆曲线系列算法等。 对称加密算法,适用于大量数据的加解密过程;不能用于签名场景:并且往往需要提前分发好密钥。非对称加密算法一般适用于签名场景或密钥协商,但是不适于大量数据的加解密。
三、信息摘要和数字签名
顾名思义,信息摘要是对信息内容进行Hash运算,获取唯一的摘要值来替代原始完整的信息内容。信息摘要是Hash算法最重要的一个用途。利用Hash函数的抗碰撞性特点,信息摘要可以解决内容未被篡改过的问题。
数字签名与在纸质合同上签名确认合同内容和证明身份类似,数字签名基于非对称加密,既可以用于证明某数字内容的完整性,同时又可以确认来源(或不可抵赖)。
我们对数字签名有两个特性要求,使其与我们对手写签名的预期一致。第一,只有你自己可以制作本人的签名,但是任何看到它的人都可以验证其有效性;第二,我们希望签名只与某一特定文件有关,而不支持其他文件。这些都可以通过我们上面的非对称加密算法来实现数字签名。
在实践中,我们一般都是对信息的哈希值进行签名,而不是对信息本身进行签名,这是由非对称加密算法的效率所决定的。相对应于区块链中,则是对哈希指针进行签名,如果用这种方式,前面的是整个结构,而非仅仅哈希指针本身。
四 、零知识证明(Zero Knowledge proof)
零知识证明是指证明者在不向验证者提供任何额外信息的前提下,使验证者相信某个论断是正确的。
零知识证明一般满足三个条件:
1、 完整性(Complteness):真实的证明可以让验证者成功验证;
2、 可靠性(Soundness):虚假的证明无法让验证者通过验证;
3、 零知识(Zero-Knowledge):如果得到证明,无法从证明过程中获知证明信息之外的任何信息。
五、量子密码学(Quantum cryptography)
随着量子计算和量子通信的研究受到越来越多的关注,未来量子密码学将对密码学信息安全产生巨大冲击。
量子计算的核心原理就是利用量子比特可以同时处于多个相干叠加态,理论上可以通过少量量子比特来表达大量信息,同时进行处理,大大提高计算速度。
这样的话,目前的大量加密算法,从理论上来说都是不可靠的,是可被破解的,那么使得加密算法不得不升级换代,否则就会被量子计算所攻破。
众所周知,量子计算现在还仅停留在理论阶段,距离大规模商用还有较远的距离。不过新一代的加密算法,都要考虑到这种情况存在的可能性。
最近很火的区块链技术到底是什么样的技术呢?区块链技术是被人们认为在金融科技方面最闪亮的一颗星,而且在未来还可能再继续发展区块链技术, 它有非常多的特点,包括数据的一个分布,以及数据的信任度和集体共识机制,最重要的话就是公开透明以及匿名隐私等这一些非常有特点的特性,根据这一些区块链里面的数据,我们可以得出当代社会的一些基本的信息。
要搞懂区块链它的一个工作原理首先就要明白几个概念,第一个概念就是什么是区块,区块就是一些数据,它已经是正确的了,然后就被电脑输入到了数据货币网络上面,永久的被记录在这一个平台上面,也就是说当我们有需要的时候去寻找这一些资料,它就可以被找到,所以区块的意思呢,就是一些数据是正确的,然后被添加到了区块链的末端,一旦被添加到区块链的末端就改变不了也移除不了。所以区块链它的功能是非常强大的。还需要了解一下区块的结构表。
区块的结构表,由不同的字节所组成,包括4个字节以及80个字节的这一些区块,它代表着不同的数据,这一些专业术语可能比较难搞懂,但是基本的意思就是区块是由这些字符所决定的,不同的字符长度它代表着不同的信息。还有最后一个叫做区块头,区块头的话是由元数据所组成的。当我们在浏览器中查询一些区块信息的时候,就可以看到像字符长度以及它的区块头是由什么组成的等等信息,通过这些信息的话,大概就能了解里面所有的内容是什么。
区块链技术就是这么一个安全科学的数据库。可以简单的把它理解为一个已经是权威数据库了,它里面的基本内容都是属实的,都是通过别人所验证以及审核过的。在金融科技方面的话,会非常的容易找到一些想要的数据,这对于做生意的人来说非常的好。
1、区块链是一串使用密码学方法相关联产生区块链安全的原理是什么的数据块,每一个数据块中包含区块链安全的原理是什么了过去十分钟内所有比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。是比特币的底层技术,像一个数据库账本,记载所有的交易记录。
2、广义定义:利用加密链式结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码(智能合约)来变成和操作数据的一种全新的去中心化基础架构与分布式计算范式。
3、狭义定义:按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享账户。
4、区块链的特点:去中心化:区块链数据的验证、记账、存储、维护和传输等过程均是基于分布式系统机构,采用纯数学方法而不是中心结构来建立分布式节点间的信任关系,从而形成去中心化的可信任的分布式系统。
5、时序数据:区块链采用带有时间戳的链式区块结构存储数据,从而为数据增加了时间维度,具有极强的可验证性和可追溯性。
6、集体维护:区块链系统采用特定的经济激励机制来保证分布式系统中所以节点均可参与数据区块的验证过程,并通过共识算法来选择特定的节点将新区快添加到区块链。
7、可编程:区块链技术提供灵活的脚本代码系统,支持用户创建高级的智能合约、货币或其他去中心化应用。
8、安全可信:区块链技术采用非对称密码原理对数据进行加密,同时借助分布式系统各节点的工作量证明等共识算法形成的强大算力来抵御外部攻击、保证区块链数据不可篡改和不可伪造,因而具有较高的安全性。
9、区块链应用场景:数字货币:以比特币为代表,本质上是由分布式网络系统生成的数字货币,其发行过程不依赖特定的中心化机构。
狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构, 并以密码学方式保证的不可篡改和不可伪造的分布式账本。
广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。
工作原理
区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。
其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。
写到这里,本文关于区块链安全的原理是什么和区块链和网络安全的关系的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。
评论