区块链安全算法协议有哪些 区块链与安全多方计算

TLBC价格行情 96 0

今天给大家聊到了区块链安全算法协议有哪些,以及区块链与安全多方计算相关的内容,在此希望可以让网友有所了解,最后记得收藏本站。

区块链使用安全如何来保证呢

区块链本身解决的就是陌生人之间大规模协作问题,即陌生人在不需要彼此信任的情况下就可以相互协作。那么如何保证陌生人之间的信任来实现彼此的共识机制呢?中心化的系统利用的是可信的第三方背书,比如银行,银行在老百姓看来是可靠的值得信任的机构,老百姓可以信赖银行,由银行解决现实中的纠纷问题。但是,去中心化的区块链是如何保证信任的呢?

实际上,区块链是利用现代密码学的基础原理来确保其安全机制的。密码学和安全领域所涉及的知识体系十分繁杂,我这里只介绍与区块链相关的密码学基础知识,包括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)

随着量子计算和量子通信的研究受到越来越多的关注,未来量子密码学将对密码学信息安全产生巨大冲击。

量子计算的核心原理就是利用量子比特可以同时处于多个相干叠加态,理论上可以通过少量量子比特来表达大量信息,同时进行处理,大大提高计算速度。

这样的话,目前的大量加密算法,从理论上来说都是不可靠的,是可被破解的,那么使得加密算法不得不升级换代,否则就会被量子计算所攻破。

众所周知,量子计算现在还仅停留在理论阶段,距离大规模商用还有较远的距离。不过新一代的加密算法,都要考虑到这种情况存在的可能性。

区块链使用什么网络协议?

协议是管理网络的一组规则。区块链协议通常包括共识、交易验证和网络参与的规则。协议通常依赖于经济激励——这意味着协议取决于某项资产。

通常区块链安全算法协议有哪些,协议级别的资产也可以作为协议的本地产品(无需平台区块链安全算法协议有哪些!)比特币就是一个很好的例子。Bitcoin(大写B)是指协议。协议取决于本地资产:bitcoin(小写字母b)。这个本地资产也被用作最终产品:它是用户的支付手段区块链安全算法协议有哪些,价值储存区块链安全算法协议有哪些,以及(说实话)一定程度上的炒作手段。请注意,比特币并不真正提供一个平台。对于那些试图在其上建立新产品的开发者来说,这并不是很友好。

另一方面,以太坊则存在着三个层次。这是一个协议,提供基本的规则。这是一个平台,使开发人员能够在系统上构建新的产品。而且,因为它的协议中包含一项本地资产,所以它也得到了一个内置的产品(以ether以太币的形式)。

区块链的应用领域有数字货币、通证、金融、防伪溯源、隐私保护、供应链、娱乐等等,区块链、比特币的火爆,不少相关的top域名都被注册,对域名行业产生了比较大的影响。

区块链技术的六大核心算法

区块链技术的六大核心算法

区块链核心算法一:拜占庭协定

拜占庭的故事大概是这么说的:拜占庭帝国拥有巨大的财富区块链安全算法协议有哪些,周围10个邻邦垂诞已久区块链安全算法协议有哪些,但拜占庭高墙耸立区块链安全算法协议有哪些,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。

在这个分布式网络里:每个将军都有一份实时与其他将军同步的消息账本。账本里有每个将军的签名都是可以验证身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些将军。尽管有消息不一致的,只要超过半数同意进攻,少数服从多数,共识达成。

由此,在一个分布式的系统中,尽管有坏人,坏人可以做任意事情(不受protocol限制),比如不响应、发送错误信息、对不同节点发送不同决定、不同错误节点联合起来干坏事等等。但是,只要大多数人是好人,就完全有可能去中心化地实现共识

区块链核心算法二:非对称加密技术

在上述拜占庭协定中,如果10个将军中的几个同时发起消息,势必会造成系统的混乱,造成各说各的攻击时间方案,行动难以一致。谁都可以发起进攻的信息,但由谁来发出呢?其实这只要加入一个成本就可以区块链安全算法协议有哪些了,即:一段时间内只有一个节点可以传播信息。当某个节点发出统一进攻的消息后,各个节点收到发起者的消息必须签名盖章,确认各自的身份。

在如今看来,非对称加密技术完全可以解决这个签名问题。非对称加密算法的加密和解密使用不同的两个密钥.这两个密钥就是区块链安全算法协议有哪些我们经常听到的”公钥”和”私钥”。公钥和私钥一般成对出现, 如果消息使用公钥加密,那么需要该公钥对应的私钥才能解密; 同样,如果消息使用私钥加密,那么需要该私钥对应的公钥才能解密。

区块链核心算法三:容错问题

我们假设在此网络中,消息可能会丢失、损坏、延迟、重复发送,并且接受的顺序与发送的顺序不一致。此外,节点的行为可以是任意的:可以随时加入、退出网络,可以丢弃消息、伪造消息、停止工作等,还可能发生各种人为或非人为的故障。我们的算法对由共识节点组成的共识系统,提供的容错能力,这种容错能力同时包含安全性和可用性,并适用于任何网络环境。

区块链核心算法四:Paxos 算法(一致性算法)

Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。节点通信存在两种模型:共享内存和消息传递。Paxos算法就是一种基于消息传递模型的一致性算法。

区块链核心算法五:共识机制

区块链共识算法主要是工作量证明和权益证明。拿比特币来说,其实从技术角度来看可以把PoW看做重复使用的Hashcash,生成工作量证明在概率上来说是一个随机的过程。开采新的机密货币,生成区块时,必须得到所有参与者的同意,那矿工必须得到区块中所有数据的PoW工作证明。与此同时矿工还要时时观察调整这项工作的难度,因为对网络要求是平均每10分钟生成一个区块。

区块链核心算法六:分布式存储

分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个角落。所以,分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切割后存放在不同的电脑里。就像存放100个鸡蛋,不是放在同一个篮子里,而是分开放在不同的地方,加起来的总和是100个。

写到这里,本文关于区块链安全算法协议有哪些和区块链与安全多方计算的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。

标签: #区块链安全算法协议有哪些

  • 评论列表

留言评论