以太坊背后的密码学
  6WDFuiiGwNIX 2023年11月02日 55 0

密码学是以太坊的技术基石。在计算机安全领域有广泛应用

这些知识既包括对信息的转换、加解密,以及校验过程,也包括以太坊地址和交易Hash,交易信息RLP编码、基于椭圆曲线公私钥签名、区块Merkle树交易

Merkle 树结构

(又叫哈希树)是一种典型的二叉树结构,由一个根节点、一组中间节点和一组叶节点组成。默克尔树最早由 Merkle Ralf 在 1980 年提出,曾广泛用于文件系统和 P2P 系统中。

其主要特点为:

  • 最下面的叶节点包含存储数据或其哈希值;
  • 非叶子节点(包括中间节点和根节点)都是它的两个孩子节点内容的哈希值。

快速比较大量数据

对每组数据排序后构建默克尔树结构。当两个默克尔树根相同时,则意味着所代表的两组数据必然相同。否则,必然不同。

由于 Hash 计算的过程可以十分快速,预处理可以在短时间内完成。利用默克尔树结构能带来巨大的比较性能优势。

快速定位修改

以下图为例,基于数据 D0……D3 构造默克尔树,如果 D1 中数据被修改,会影响到 N1,N4 和 Root。

以太坊背后的密码学_密码学

因此,一旦发现某个节点如 Root 的数值发生变化,沿着 Root --> N4 --> N1,最多通过 O(lgN) 时间即可快速定位到实际发生改变的数据块 D1。

非对称加密

公钥是对私钥使用椭圆曲线的乘法运算得到的

Keccak算法

Keccak是一种被选定为SHA-3标准的单向散列函数算法,在设计上与SHA-2存在极大差别,之前针对SHA-2的攻击方法无法有地攻击Keccak。

   Keccak算法采用了一种称之为海绵的结构,海绵结构由两个阶段,一个是吸收阶段,另外一个称之为压缩阶段。在海绵函数中,输入数据被分为固定长度的数据分组。每个分组逐次作为迭代的输入,同时上轮迭代的输出也反馈至下轮的迭代中,最终产生输出哈希值,其输入数据没有长度限制,输出哈希值的比特长度分为:224,256,384,512。


区块链的发展与密码学紧密相连如果我们来看区块链的历史,会发现区块链的历史和密码学的进展是紧密相连的。

每一个新的区块链核心都需要一个核心算法,这个算法来支撑着整个系统的架构。

以上简单介绍了密码学在区块链体系中起到的作用,密码学可以为一切虚拟网络的安全性提供保证,安全性是一切交易的基础,区块链网络离不开加密算法这块基石。而且,随着科技发展日新月异,加密算法也还会不断改进,因此,我们有必要对区块链技术中涉及的底层密码学基础理论进行深入研究和分析,进而推动区块链技术的快速发展。

参考 ​https://www.jianshu.com/p/34be61a2b51f​

关于更多密码学知识 ​​https://yeasy.gitbook.io/blockchain_guide/05_crypto​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
6WDFuiiGwNIX