当前位置:首页 » 区块链知识 » 区块链使用了哪些密码算法

区块链使用了哪些密码算法

发布时间: 2022-06-21 07:45:42

区块链技术中的哈希算法是什么

1.1. 简介

计算机行业从业者对哈希这个词应该非常熟悉,哈希能够实现数据从一个维度向另一个维度的映射,通常使用哈希函数实现这种映射。通常业界使用y = hash(x)的方式进行表示,该哈希函数实现对x进行运算计算出一个哈希值y。
区块链中哈希函数特性:

  • 函数参数为string类型;

  • 固定大小输出;

  • 计算高效;

  • collision-free 即冲突概率小:x != y => hash(x) != hash(y)

    隐藏原始信息:例如区块链中各个节点之间对交易的验证只需要验证交易的信息熵,而不需要对原始信息进行比对,节点间不需要传输交易的原始数据只传输交易的哈希即可,常见算法有SHA系列和MD5等算法

  • 1.2. 哈希的用法

    哈希在区块链中用处广泛,其一我们称之为哈希指针(Hash Pointer)
    哈希指针是指该变量的值是通过实际数据计算出来的且指向实际的数据所在位置,即其既可以表示实际数据内容又可以表示实际数据的存储位置。下图为Hash Pointer的示意图


㈡ 区块链是什么意思

区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链,是比特币的一个重要概念。

它本质上是一个去中心化的数据库,同时作为比特币的底层技术,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。

区块链在公共管理,能源,酒店经营,交通等领域都与民众的生产生活息息相关,但这些领域的中心化特质也带来了一些问题,可以用区块链来改造。

去中心化的完全分布式DNS服务通过网络中各个相互之间的点对点数据传输服务可以实现域名的查询和解析,可以用于某些重要的基础设施的操作系统和固件没有被篡改,可以进行监控软件的状态和初始,发现不良的篡改,并确保使用了物联网技术的系统所传输的数据没用经过篡改。

㈢ 区块链哈希算法是什么

哈希算法也被称为“散列”,是区块链的四大核心技术之一。是能计算出一个数字消息所对应的、长度固定的字符串(又称消息摘要)的算法。由于一段数据只有一个哈希值,所以哈希算法可以用于检验数据的完整性。在快速查找和加密算法的应用方面,哈希算法的使用非常普遍。

在互联网时代,尽管人与人之间的距离更近了,但是信任问题却更严重了。 现存的第三方中介组织的技术架构都是私密而且中心化的,这种模式永远都无法从根本上解决互信以及价值转移的问题。因此,区块链技术将会利用去中心化的数据库架构完成数据交互信任背书,实现全球互信的一大跨步。在这一过 程中,哈希算法发挥了重要作用。

散列算法是区块链中保证交易信息不被篡改的单向密码机制。区块链通过散列算法对一个交易区块中的交易进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的散列值能够唯一而准确地标识一个区块。在验证区块的真实性时,只需要简单计算出这个区块的散列值,如果没有变化就 意味着这个区块上的信息是没有被篡改过的。

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

㈣ 区块链中的哈希算法的作用是什么

金窝窝解释:区块链是使用哈希算法加密,哈希算法是区块链中保证交易信息不被篡改的单项密码机制。
哈希算法接收一段明文后,以一种不可逆的方式将其转化为一段长度较短、位数固定的散列数据。

㈤ 区块链中哈希算法的特点是什么

哈希算法可以作为一个很小的计算机程序来看待,无论输入数据的大小及类型如何,它都能将输入数据转换成固定长度的输出。哈希算法在任何时候都只能接受单条数据的输入,并依靠输入数据创建哈希值。
根据最终产生的哈希值的长度不同,有不同的哈希算法。
在区块链中使用的为加密哈希算法,其特点有:
1、能够为任何类型的数据快速创建哈希值
2、确定性
3、伪随机
4、单向函数
5、防碰撞

㈥ 区块链中的密码学是怎么应用的

在区块链技术中,密码学机制主要被用于确保交易信息的完整性、真实性和隐私性。
 
区块链中的密码学 包括布隆过滤器,哈希函数、加解密算法,数字证书与数字签名,同态加密,PKI体系等。

㈦ 区块链究竟是什么呢

区块链究竟是什么呢?本质上讲,区块链是一种分布式、去中心化的网络数据库系统, 这个系统会让数据的存储、更新、维护、操作变得不同。区块链有四项不可缺的核心技术, 分别是:分布式存储、共识机制、密码学原理、智能合约。

那么我们下面就讲一讲,与传统数据处理相比,区块链到底有什么不同,帮助大家了 解区块链是什么,让大家对区块链有一个总的认知。

一、区块链中的数据存储:块链式数据结构

在数据存储方面,区块链技术利用的是“块链式数据结构”来验证与存储数据的。

块链式结构是什么意思呢?铁链子大家都见过吧,一环套一环那种,那其实,每一环 我们可以看作是一个区块,很多环节扣在一起就形成了区块链。

这个所谓的“铁链”是如何存储数据的呢?简单来讲,区块链和普通存储数据的不同 之处在于:在区块链上,后一个区块里的数据是包含前一个区块里的数据的。

以读书为例:我们平时看书,看完第 1 页,接着读第 2 页、第 3 页......
那在区块链里面呢,如果给每个区块标注上页码,那么第 2 页的内容是包含第 1 页的 内容的,第 3 页的内容包含第 1 页和第 2 页的内容......第 10 页包含了前 9 页的内容, 就是这样一个层层嵌套的链条,这样一来,就可以追溯到最本源的数据了,这就是区块链 的可追溯性。

区块链这种“块链式数据结构”使之具备可追溯性,这就天然适用于许多领域,譬如: 食品溯源、药品溯源等等。这样一来,毒奶粉、假疫苗、伪劣食品事件出现的概率就会大 大降低,因为一旦出现问题,通过溯源可以清晰知道到底是哪个环节出现问题,问责追偿 将会更加清晰。

二、区块链中的数据更新:分布式节点共识算法

在数据更新方面,区块链技术是利用“分布式节点共识算法”来生成和更新数据。

每每生成新的区块(也就是更新数据的时候),都需要通过一种算法,获得全网 51% 以上节点的认可才能构成新的区块。说白了就是投票,超过半数人同意就可以生成,这就 使得区块链上的数据不容篡改。

为什么这么说呢?我们还是打一个比喻:我们把区块链比作一个账本,因为都是记录 数据的嘛,传统世界里,记账权力在于记账先生,账本属于记账先生一个人的。那么在区 块链里面,每一个人都拥有这个账本,想要更新账目呢,就要投票,半数人以上赞成才可 以去更新账目数据。

在这个过程中,我们会涉及到这么几个名词:分布式、节点、共识算法,这几个名词 其实非常好理解:

每个人都记账(也就是人人拥有账本,账本分散在每个人手里),就是所谓的“分布 式”;

大家讨论、投票产生的、一致赞同的记账办法,就是所谓的“共识算法”;

每一个参与记账的人,就是所谓的“节点”。

三、 区块链中的数据维护:密码学

在数据维护阶段,区块链的不同之处就在于:它利用密码学的方式来保证数据传输和 访问的安全。

区块链中所应用的密码学原理主要有:哈希算法、Merkle 哈希树、椭圆曲线算法、 Base58。这些原理,其实都是通过一系列复杂的运算以及换算,来保证区块链上数据安全。

四、 区块链中的数据操作:智能合约

智能合约,是由计算机程序定义并自动执行的承诺协议,说白了,就是用代码执行的 一套交易准则,类似于现在的信用卡自动还款功能,开启这个功能,你自己什么都不用管, 到期银行会自动扣除你欠的钱。

智能合约的突出优势就是,很大程度上避免了由信任产生的一系列问题。
我们很多人,都遇到过被借钱的事情:朋友手头紧了跟你借 2000 块钱,承诺下个月 发了工资还钱,到了下个月他又找别的借口不还,拖来托去这事儿就没谱了。本来没多少 钱,还是朋友,虽然你很郁闷,这事也就算了。

那么,有了智能合约以后,他就不能赖账了,因为在智能合约上,一旦触发合约中的 条款,代码就会自动执行,不管他愿不愿意,只要他发了工资、账户上有了钱,他就得还 你。

总结一下本节内容,区块链中有四项不可缺的核心技术,分别是:分布式存储、共识 机制、密码学原理、智能合约。

我们可以这样理解:分布式存储对应的是数据存储这个阶段,共识机制对应的是数据 的处理更新这个阶段,密码学对应的是数据安全,智能合约对应的是数据的操作问题。

㈧ 区块链密码算法是怎样的

区块链作为新兴技术受到越来越广泛的关注,是一种传统技术在互联网时代下的新的应用,这其中包括分布式数据存储技术、共识机制和密码学等。随着各种区块链研究联盟的创建,相关研究得到了越来越多的资金和人员支持。区块链使用的Hash算法、零知识证明、环签名等密码算法:

Hash算法

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

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

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

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

比特币使用的是SHA256,大多区块链系统使用的都是SHA256算法。所以这里先介绍一下SHA256。

1、 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、环签名

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

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

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

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

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

环签名满足的性质:

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

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

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

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

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

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

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

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

㈨ 区块链的哈希算法是什么玩意

和数软件解释:区块链是使用哈希算法加密。哈希算法是区块链中保证交易信息不被篡改的单项密码机制。哈希算法接收一段明文后,以一种不可逆的方式将其转化成一段长度较短,位数固定的散列数据。

㈩ 区块链的核心技术是什么

简单来说,区块链是一个提供了拜占庭容错、并保证了最终一致性的分布式数据库;从数据结构上看,它是基于时间序列的链式数据块结构;从节点拓扑上看,它所有的节点互为冗余备份;从操作上看,它提供了基于密码学的公私钥管理体系来管理账户。
或许以上概念过于抽象,我来举个例子,你就好理解了。
你可以想象有 100 台计算机分布在世界各地,这 100 台机器之间的网络是广域网,并且,这 100 台机器的拥有者互相不信任。
那么,我们采用什么样的算法(共识机制)才能够为它提供一个可信任的环境,并且使得:
节点之间的数据交换过程不可篡改,并且已生成的历史记录不可被篡改;
每个节点的数据会同步到最新数据,并且会验证最新数据的有效性;
基于少数服从多数的原则,整体节点维护的数据可以客观反映交换历史。
区块链就是为了解决上述问题而产生的技术方案。
二、区块链的核心技术组成
无论是公链还是联盟链,至少需要四个模块组成:P2P 网络协议、分布式一致性算法(共识机制)、加密签名算法、账户与存储模型。
1、P2P 网络协议
P2P 网络协议是所有区块链的最底层模块,负责交易数据的网络传输和广播、节点发现和维护。
通常我们所用的都是比特币 P2P 网络协议模块,它遵循一定的交互原则。比如:初次连接到其他节点会被要求按照握手协议来确认状态,在握手之后开始请求 Peer 节点的地址数据以及区块数据。
这套 P2P 交互协议也具有自己的指令集合,指令体现在在消息头(Message Header) 的 命令(command)域中,这些命令为上层提供了节点发现、节点获取、区块头获取、区块获取等功能,这些功能都是非常底层、非常基础的功能。如果你想要深入了解,可以参考比特币开发者指南中的 Peer Discovery 的章节。
2、分布式一致性算法
在经典分布式计算领域,我们有 Raft 和 Paxos 算法家族代表的非拜占庭容错算法,以及具有拜占庭容错特性的 PBFT 共识算法。
如果从技术演化的角度来看,我们可以得出一个图,其中,区块链技术把原来的分布式算法进行了经济学上的拓展。
在图中我们可以看到,计算机应用在最开始多为单点应用,高可用方便采用的是冷灾备,后来发展到异地多活,这些异地多活可能采用的是负载均衡和路由技术,随着分布式系统技术的发展,我们过渡到了 Paxos 和 Raft 为主的分布式系统。
而在区块链领域,多采用 PoW 工作量证明算法、PoS 权益证明算法,以及 DPoS 代理权益证明算法,以上三种是业界主流的共识算法,这些算法与经典分布式一致性算法不同的是,它们融入了经济学博弈的概念,下面我分别简单介绍这三种共识算法。
PoW: 通常是指在给定的约束下,求解一个特定难度的数学问题,谁解的速度快,谁就能获得记账权(出块)权利。这个求解过程往往会转换成计算问题,所以在比拼速度的情况下,也就变成了谁的计算方法更优,以及谁的设备性能更好。
PoS: 这是一种股权证明机制,它的基本概念是你产生区块的难度应该与你在网络里所占的股权(所有权占比)成比例,它实现的核心思路是:使用你所锁定代币的币龄(CoinAge)以及一个小的工作量证明,去计算一个目标值,当满足目标值时,你将可能获取记账权。
DPoS: 简单来理解就是将 PoS 共识算法中的记账者转换为指定节点数组成的小圈子,而不是所有人都可以参与记账。这个圈子可能是 21 个节点,也有可能是 101 个节点,这一点取决于设计,只有这个圈子中的节点才能获得记账权。这将会极大地提高系统的吞吐量,因为更少的节点也就意味着网络和节点的可控。
3、加密签名算法
在区块链领域,应用得最多的是哈希算法。哈希算法具有抗碰撞性、原像不可逆、难题友好性等特征。
其中,难题友好性正是众多 PoW 币种赖以存在的基础,在比特币中,SHA256 算法被用作工作量证明的计算方法,也就是我们所说的挖矿算法。
而在莱特币身上,我们也会看到 Scrypt 算法,该算法与 SHA256 不同的是,需要大内存支持。而在其他一些币种身上,我们也能看到基于 SHA3 算法的挖矿算法。以太坊使用了 Dagger-Hashimoto 算法的改良版本,并命名为 Ethash,这是一个 IO 难解性的算法。
当然,除了挖矿算法,我们还会使用到 RIPEMD160 算法,主要用于生成地址,众多的比特币衍生代码中,绝大部分都采用了比特币的地址设计。
除了地址,我们还会使用到最核心的,也是区块链 Token 系统的基石:公私钥密码算法。
在比特币大类的代码中,基本上使用的都是 ECDSA。ECDSA 是 ECC 与 DSA 的结合,整个签名过程与 DSA 类似,所不一样的是签名中采取的算法为 ECC(椭圆曲线函数)。
从技术上看,我们先从生成私钥开始,其次从私钥生成公钥,最后从公钥生成地址,以上每一步都是不可逆过程,也就是说无法从地址推导出公钥,从公钥推导到私钥。
4、账户与交易模型
从一开始的定义我们知道,仅从技术角度可以认为区块链是一种分布式数据库,那么,多数区块链到底使用了什么类型的数据库呢?
我在设计元界区块链时,参考了多种数据库,有 NoSQL 的 BerkelyDB、LevelDB,也有一些币种采用基于 SQL 的 SQLite。这些作为底层的存储设施,多以轻量级嵌入式数据库为主,由于并不涉及区块链的账本特性,这些存储技术与其他场合下的使用并没有什么不同。
区块链的账本特性,通常分为 UTXO 结构以及基于 Accout-Balance 结构的账本结构,我们也称为账本模型。UTXO 是“unspent transaction input/output”的缩写,翻译过来就是指“未花费的交易输入输出”。
这个区块链中 Token 转移的一种记账模式,每次转移均以输入输出的形式出现;而在 Balance 结构中,是没有这个模式的。

热点内容
区块链领域的基金 发布:2025-06-26 08:39:56 浏览:815
不上交易大盘是数字货币吗 发布:2025-06-26 08:37:35 浏览:897
usdt几点交易 发布:2025-06-26 08:36:25 浏览:959
百度发布元宇宙app 发布:2025-06-26 08:18:43 浏览:513
比特币挖出来后奖励是谁给的 发布:2025-06-26 08:17:55 浏览:864
如何监管比特币交易 发布:2025-06-26 08:17:51 浏览:148
以太坊创办时间 发布:2025-06-26 08:00:42 浏览:653
比特币与其他虚拟货币 发布:2025-06-26 07:44:27 浏览:601
币圈投资最好的办法 发布:2025-06-26 07:44:23 浏览:622
元宇宙未来新零售 发布:2025-06-26 07:44:23 浏览:767