0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

usdt区块遨游的函数单双和函数

哈希区块链 来源:哈希区块链 作者:哈希区块链 2022-08-10 15:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简单来说,哈希算法就是一种特殊的函数,不论输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,这就好像身份证号码一样,永远都是十八位而且全国唯一。哈希算法的输出值就叫做哈希值。

比如哈希是一种加密算法,也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值(Hash Value)、杂凑值或者消息摘要。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。

哈希算法有三个特点,它们赋予了区块链不可篡改、匿名等特性,并保证了整个区块链体系的完整。第一个特点是具有单向性。比如输入一串数据,通过哈希算法可以获得一个哈希值,但是通过这个哈希值是没有办法反推回来得到输入的那串数据的。这就是单向性,也正是基于这一点,区块链才有效保护了我们信息的安全性。

哈希算法的第二个特点是抗篡改能力,对于任意一个输入,哪怕是很小的改动,其哈希值的变化也会非常大。它的这个特性,在区块与区块的连接中就起到了关键性的作用。区块链的每个区块都会以上一个区块的哈希值作为标示,除非有人能够破解整条链上的所有哈希值,否则数据一旦记录在链上,就不可能进行篡改。

哈希算法的第三个特点就是抗碰撞能力。所谓碰撞,就是输入两个不同的数据,最后得到了一个相同的输入。就跟我们逛街时撞衫一样,而坑碰撞就是大部分的输入都能得到一个独一无二的输出。在区块链的世界中,任何一笔交易或者账户的地址都是完全依托于哈希算法生产的。这也就保证了交易或者账户地址在区块链网络中的唯一性。

哈希(Hash)是一种加密算法,也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值(Hash Value)、杂凑值或者消息摘要。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。

一致性hash算法提出了在动态变化的Cache环境中,判定哈希算法好坏的四个定义:

1、平衡性(Balance):平衡性是指哈希的结果能够尽可能分布到所有的缓冲中去,这样可以使得所有的缓冲空间都得到利用。很多哈希算法都能够满足这一条件。

2、单调性(Monotonicity):单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中,又有新的缓冲加入到系统中。哈希的结果应能够保证原有已分配的内容可以被映射到原有的或者新的缓冲中去,而不会被映射到旧的缓冲集合中的其他缓冲区。

3、分散性(Spread):在分布式环境中,终端有可能看不到所有的缓冲,而是只能看到其中的一部分。当终端希望通过哈希过程将内容映射到缓冲上时,由于不同终端所见的缓冲范围有可能不同,从而导致哈希的结果不一致,最终的结果是相同的内容被不同的终端映射到不同的缓冲区中。这种情况显然是应该避免的,因为它导致相同内容被存储到不同缓冲中去,降低了系统存储的效率。分散性的定义就是上述情况发生的严重程度。好的哈希算法应能够尽量避免不一致的情况发生,也就是尽量降低分散性。

4、负载(Load):负载问题实际上是从另一个角度看待分散性问题。既然不同的终端可能将相同的内容映射到不同的缓冲区中,那么对于一个特定的缓冲区而言,也可能被不同的用户映射为不同的内容。与分散性一样,这种情况也是应当避免的,因此好的哈希算法应能够尽量降低缓冲的负荷。

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 加密算法
    +关注

    关注

    0

    文章

    221

    浏览量

    26327
  • 区块链
    +关注

    关注

    112

    文章

    15579

    浏览量

    111293
  • usdt
    +关注

    关注

    0

    文章

    21

    浏览量

    4654
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    函数printf格式介绍

    符号整数(不输出前缀0x) U以十进制形式输出无符号整数 f以小数形式输出精度类型实数 e以指数形式输出精度实数 g以%f或%e中较短输出宽度的一种格式输出
    发表于 04-29 06:06

    函数信号发生器和任意波形信号发生器区别详解

    函数发生器提供了一个预置列表,里面列出了它可以生成的波形或码型。 在函数发生器中,用户可以更改频率、幅度和偏移等波形参数,还可添加简单的失真。 任意波形发生器更为复杂,能够仿真真实世界中的信号
    的头像 发表于 02-09 16:24 498次阅读
    <b class='flag-5'>函数</b>信号发生器和任意波形信号发生器区别详解

    嵌入式开发常用函数速查表

    在嵌入式开发中,掌握常用函数的用法可以大大提高开发效率。无论是单片机初学者还是有一定经验的工程师,熟悉函数库和调用方式都是必备技能。今天,我们为大家整理一份嵌入式开发常用函数速查表,覆盖GPIO
    的头像 发表于 01-19 09:06 535次阅读
    嵌入式开发常用<b class='flag-5'>函数</b>速查表

    西门子PLC中函数FC的使用方法

    函数函数块作为模块化编程的重要组成部分,在PLC 用户程序中有着相当频繁的应用。两者在生成与使用的过程中都有一定的相似,且都不能单独使用。而需要赋予特定的功能,由组织块(OB)直接或者间接进行调用。
    的头像 发表于 12-19 11:26 4729次阅读
    西门子PLC中<b class='flag-5'>函数</b>FC的使用方法

    函数指针及指针函数的区别

    在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,和大家的一些总结,整理到此。和大家分享。   首先它们之间的定义:   1、指针函数是指带
    发表于 12-12 06:34

    如何用函数指针调用函数

    给大家举一个例子: int Func(int x);/*声明一个函数*/ int (*p) (int x);/*定义一个函数指针*/ p = Func; /*将Func函数的首地址赋给指针变量
    发表于 12-11 06:26

    mtf 光学传递函数如何影响图像的质量?

    调制传递函数(MTF):光学系统的“清晰度”度量调制传递函数(ModulationTransferFunction,简称MTF)是光学成像领域中一个核心概念,用于量化成像系统对物体细节的传递能力。它
    的头像 发表于 12-04 16:55 2046次阅读
    mtf 光学传递<b class='flag-5'>函数</b>如何影响图像的质量?

    LUA例程-常用的回调函数使用说明

    详细说明LUA脚本函数功能和对应的应用实例。对于LUA脚本编程有很大的帮助和提高技能。
    发表于 11-24 16:43 0次下载

    使用函数块实现三相电机正反转控制

    在使用西门子S1200PLC,所使用的软件是博途软件,在这个软件里运用了块的概念。比如我们常见的组织块(OB)、函数块(FB)、数据块(DB)以及函数FC等。今天我们来具体交流一下这个函数块(FB)的具体使用方法。
    的头像 发表于 10-15 14:40 3015次阅读
    使用<b class='flag-5'>函数</b>块实现三相电机正反转控制

    大彩讲堂:VisualHMI-LUA教程-set_bit/get_bit函数应用

    set_bit/get_bit函数应用
    的头像 发表于 08-31 17:05 1102次阅读
    大彩讲堂:VisualHMI-LUA教程-set_bit/get_bit<b class='flag-5'>函数</b>应用

    大彩讲堂:VisualHMI-LUA教程-on_update回调函数使用指南

    回调函数使用指南
    的头像 发表于 08-31 16:25 1190次阅读
    大彩讲堂:VisualHMI-LUA教程-on_update回调<b class='flag-5'>函数</b>使用指南

    详解hal_entry入口函数

    当使用RTOS时,程序从main函数开始进行线程调度;当没有使用RTOS时,C语言程序的入口函数main函数调用了hal_entry函数。由于我们新建的工程是没有选用RTOS的,因此,
    的头像 发表于 07-25 15:34 2315次阅读

    C语言中的内联函数与宏

    在C编程中,内联函数和宏都用于避免函数调用的开销并编写可复用的逻辑部分,但它们在工作方式和安全性方面存在显著差异。
    的头像 发表于 07-25 15:10 2149次阅读
    C语言中的内联<b class='flag-5'>函数</b>与宏

    深入理解C语言:函数—编程中的“积木块”艺术

    在编程的世界里,函数就像建筑中的“积木块”——它们是构建复杂程序的基石。通过灵活组合这些模块,开发者能打造出功能强大且结构清晰的代码。函数之所以成为C语言的核心,正是因为它解决了编程中的三大关
    的头像 发表于 06-30 17:26 2136次阅读
    深入理解C语言:<b class='flag-5'>函数</b>—编程中的“积木块”艺术

    MSP430常用内联函数说明

    电子发烧友网站提供《MSP430常用内联函数说明.docx》资料免费下载
    发表于 06-05 17:20 0次下载