宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > FTX > 正文

5个emoji表情包,让你秒懂哈希函数!

作者:

时间:1900/1/1 0:00:00

编者按:本文来自CSDN,作者:PatrickWoodhead,译者:Shawn,星球日报经授权转载。区块链的发展史,实质上是开发者与哈希函数之间长达十年的情史。事实上,如果你理解哈希函数,那么理解区块链的挖矿模式和不可篡改性便是一件轻而易举的事情!哈希函数的应用很广泛,比如每当你在网站上输入密码时,都会用到哈希函数。虽然哈希函数的用途虽然非常简单,但是它的性能却非常强大,在所有与版本控制、安全性和真实性有关的软件中无处不在。但要明白什么是哈希函数并不容易,虽然解释的资料很多,但要么过于专业晦涩难懂,要么枯燥无味。因此,在这篇文章中,营长会用一种大白话的方式让你理解哈希函数的本质,并且通过emoji表情,形象的让你秒懂哈希函数背后的内含。哈希函数是什么?哈希函数在近年来的技术进步中发挥着非常重要的作用。哈希函数是什么?它的工作原理是什么?我认为我们都应该至少有个基本的了解。网上有很多关于哈希函数的解释,这些解释要么晦涩难懂,要么枯燥无味。其实,我们可以把哈希函数想象成一个emoji工厂,工厂接收一行一行的emoji,但它接受的emoji只有猕猴桃、菠萝、茄子、辣椒、胡萝卜和玉米。emoji工厂接受和输出的6种emoji输入的emoji被工厂处理后,输出的也只是一行行上述emoji。这个emoji工厂之所以特别,有以下几个原因。1.工厂返回的emoji要比它接收的emoji少每次,工厂都会从以上6个emoji选项中选出8个emoji。然后,处理这些emoji并返回一行emoji,这些emoji也是从上面的6种emoji中选出来的。重点是,它输出的emoji比接收的emoji少。Emoji哈希工厂2.对于相同的输入,工厂总是返回相同的输出如果你把8个emoji以相同的排列顺序送入工厂两次,那么工厂两次都将以相同的顺序返回3个emoji。也就是说,这个工厂具有确定性。这一点,从上面的动图中也可以看出,对于相同的输入,工厂每次都会返回相同的输出。3.emoji工厂是一条单向通道如果你输入一行8个emoji,工厂就会立即返回一个输出。但是,如果我将工厂输出的3个emoji告诉你,但是不告诉你对应的输入是什么,你是无法通过分析工厂和输出来推导出输入的。实际上,要想找出输入,最快的方法是试错。换句话说,要想找出某个输出对应的输入,最快的方式就是随机输入不同的emoji组,直到找到正确的那组。而且,你甚至可以在工厂里走一走,观察它的实际运作方式,但你仍然不能根据输出求解或逆向推导出输入。这是一个严谨的单向工厂。也许你还是有点云里雾里,那么我们不妨以做蛋糕为例,如果我给你制作蛋糕所需的配料和一个详细的配方,你只要依照配方使用这些配料,马上就能做出一个蛋糕。假如我让你用同样的配料和配方再做一次,你很快就会做出一个相同的蛋糕。蛋糕的烘焙同理。但是,如果我给你的是蛋糕和配方,而配方不包含配料用量,只包含烘培步骤,你就很难计算出这个蛋糕的确切配料用量。这种情况下,用不同的蛋糕配料用量进行试错或许是最好的方法。这样,我们再来看一下emoji的属性。4.只改变输入中的一个emoji,也会得到完全不同的输出在做蛋糕这个类比中,通过一次又一次的试错,你可能会越来越接近正确的配料用量。但是对于emoji表情工厂来说,哪怕只对输入作出细微的改变,就会得到完全不同的输出。以上面的动图为例,如果将输入中第一个茄子换成胡萝卜,那么得到的输出就会是完全不同的3个emoji。这就意味着在给定输出的情况下,无法通过不断试错「逐步逼近」正确的输入。只能随机尝试不同的emoji组合,直到碰巧发现正确的输入为止。区块链挖矿本质上就是通过计算机不断地进行试错来找到输入,这个输入经过emoji工厂的处理能够返回带有某个特性的输出,例如,以两个茄子开头的输出。5.要找到某个输出所对应的两个输入,最快的方法就是试错看到这,你一定会问:等等,如果输出比输入短,那么每个输出肯定会对应多个输入吧?说的很对。如果你将8个emoji放入工厂,只得到3个emoji,那么一个输出必定对应多个输入。但是,emoji工厂的设计太妙了,即使你知道某个输出对应的输入之一,找出其余输入的最快方法仍然是试错法。换句话说,要找到一个输出对应的两个输入,最快的方法就是试错,直到发生「碰撞」为止。哈希函数的应用在说哈希函数的实际应用之前,我们先简单对上面提到的五个哈希函数的属性做个总结。工厂接收8个emoji并且返回3个emoji;相同的输入总是返回相同的输出;轻微改变输入会导致输出完全不同;给定一个输出,试错是计算对应输入的最快方法;试错是找到同一个输出对应的两个不同输入的最快方法。在哈希函数中,这些特性之所以很重,我们不妨通过实际的应用来看看。假设你的密码由8个emoji组成。每当你在网站输入密码时,网站存储的不是你的密码,而是你密码的“哈希值”。这样一来,如果出现数据泄露或者有人窃取到该网站存储的个人数据,那么窃取者得到的只是一堆哈希值,而非实际的密码!由于工厂是单向的,如果窃取者想根据哈希值逆向计算出实际的密码,唯一的方法就是试错。由于你的密码由8个emoji组成,窃取者可能不用花很长时间就可破解你的密码。但在实际生活中,可选作密码的字符串集合要大得多,这就意味着可能的输入也要多得多。而且,实际生活中哈希工厂/函数的输出的长度也远远长于3个字符。因此在现实中,窃取者要花费很多很多年的时间才能根据哈希值算出对应的密码!虽然这依然存在数据泄露的风险,但并不影响你重新登录网站,你知道自己的密码,直接输入就好。这时,你输入的密码会立即由哈希工厂转化成一个哈希值。网站可以立刻检查这个哈希值是否与你的账户名所对应的哈希值匹配,因为哈希工厂总是返回相同的输出,然后网站就会允许你登陆。但是密码长度不一定都是8个emoji那么长,如果我想对一行更长的emoji表情进行哈希计算呢?没有问题!通过这项由RalphMerkle和IvanDamg?rd两位密码学专家提出的简单技术,任意长度的emoji组合经过「哈希计算」都可以被转化成仅由3个emoji表情组成的哈希值。Merkle-Damg?rd架构具体怎么实现呢?如果给定一个长度更长的emoji组合,我们可以创建一组工厂来处理它。具体步骤如下:先对这行emoji进行分段,前8个emoji作为第一段,之后每5个emoji为一段来进行分段;将第一段emoji输入第一个工厂;得到一个由3个emoji组成的输出,将这个输出与第二段emoji放在一行一起输入第二个工厂;不断重复这个过程,直到这行emoji表情组全部经过工厂处理。将最后一个工厂的输出返回。这样我们就把更长的emoji组转化成3个emoji了!那么,既然现在输入的长度问题解决了,那么找到输出相同的两行输入会容易得多吗?你可能直觉上会这么认为。但是,实际上并非如此。就像在一家工厂中找到「一次碰撞」一样困难。原因在于,假设除了试错之外,还有某种方法可以找到输出相同的两行较长的emoji组合输入。那么,在某个实行Merkle-Damg?rd架构的工厂中,你输入两行不同的emoji组合,这个工厂将返回相同的输出。但是,这意味着你使用试错法之外的方法找到了一次碰撞,这就与上文中的假设相矛盾了,因为我们假设每个工厂都具有抗碰撞性!所以,通过增设工厂和数学推理,我们创造了一种方法,可以将任意长度的emoji组合处理成3个emoji。更重要的是,即使某人知道一个由3个emoji组成的输出,也没有比试错法更快的方法可以用来计算出任意长度的对应输入。鉴于现实世界的哈希计算存在太多组合,试错可能会花费许多年!有了这个简单的原理,你就可以将自己的emoji密码设置成任意长度,其安全性不会受影响。哈希函数与区块链那么哈希函数是怎样应用在区块链上的呢?想象一下,你有一个文档,里面描述的可能是关于一笔金融交易。你要向人们证明这个文档在某个确切的时刻处于某个确切的状态。你可以将整个文档放入使用Merkle-Damg?rd架构的哈希工厂中,将输出结果通过电子邮件发送给100个人。由于这个工厂是单向的,所以邮件接收者无法读出文档的原始内容。如果未来有人声称你的文档是假的,或者你篡改了文档,你就可以证明在你把这个文档发送给去中心化的社区时,这个文档处于某个确切的状态。因为哈希工厂是抗碰撞的,人们自然会相信你不是子!了解真正的哈希函数哈希函数的「单向性」和「抗碰撞性」是非常强大的,这两个特性正在随着区块链的发展改变整个技术世界。但是emoji工厂/哈希函数内部到底是如何运作呢?这就要牵扯到很多技术细节了。实际上,如果你确信上述特性成立,那么工厂的内部运作就无关紧要了。哈希函数的特性比它们的内部运作更有趣。真正的哈希函数接受的是十六进制字符串。十六进制字符串仅由“0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f”十六个字符组成。哈希函数接受任意长度的输入,并且返回64个十六进制字符。有时,为了增强安全性,会返回128个十六进制字符。SHA-256是一种普遍使用的哈希函数。

Radiant Capital在行情上涨时向5个钱包分发超800万枚RDNT并转入交易平台:6月4日消息,据Spot On Chain监测,Radiant Capital前日行情上涨时向5个不同的钱包分发了807.5万枚RDNT(约268万美元):其中,

-3个钱包于10小时前共将617.5万枚RDNT转移到Houbi、OKX和Gate,平均价格为0.333美元(约206万美元);

-1个钱包很可能很快会向Binance存入95万枚RDNT;

-1个钱包向RDNT-WETH流动性池增加了95万枚RDNT。[2023/6/4 21:14:37]

美联储3月加息25个基点的概率升至79.7%:金色财经报道,据CME“美联储观察”:美联储3月保持利率不变的概率为20.3%,加息25个基点至4.75%-5.00%区间的概率为79.7%;到5月累计加息50个基点的概率升至49.2%。[2023/3/17 13:09:43]

美联储到5月份加息25个基点的概率为70.5%:3月18日,据CME“美联储观察”:美联储到5月份维持利率在0.25%-0.5%区间的概率为0%,加息25个基点的概率为70.5%,加息50个基点的概率为29.5%,加息75个基点的概率为0%;到6月份加息25个基点的概率为33.7%,加息50个基点的概率为50.9%,加息75个基点的概率为15.4%,加息100个基点的概率为0%。(金十)[2022/3/18 14:03:49]

摩根大通:美联储可能连续九次加息25个基点以抑制通胀:2月19日消息,由摩根大通首席经济学家Bruce Kasman带领的研究小组在一份研报中称,现在预计美联储将在未来9次会议上每次加息25个基点,到明年初政策利率将接近中性立场。在通胀方面,分析师表示,1月美国通胀数据大幅上升“令人意外”,看不到通胀开始从上季度接近创纪录的水平处减速。强劲增长、成本压力和私营部门行为之间可能形成一个\"反馈循环\",即使当前能源行业价格压力最终消退,这种循环仍将持续。目前面临的最大威胁是各国央行可能会改变政策并认为有必要放缓增长,这可能对全球金融环境产生影响。(金十)[2022/2/19 10:02:50]

动态 | 闪电网络节点数量升至10045个:1ML.com数据显示,闪电网络节点数量呈持续上升趋势。目前,支撑网络的节点数量达到10045个,在过去的30天中上涨了2.86%,而通道数量为35276,在过去的30天中下降了2.9%。闪电网络承载能力目前为813.66个BTC,约合675.69万美元。[2019/10/3]

标签:EMOEMOJIDNTRDNdogemoonfiEMOJI价格rdnt币价格预测rdn币价格

FTX热门资讯
裁员三分之一后,这家公司的CEO写下了这些反思

据ShapeShift的CEOErikVoorhees发布在Medium的一篇文章《OvercomingShapeShift’sCryptoWinterandthePathAhead》显示,ShapeShift已裁员37人.

1900/1/1 0:00:00
印度银行:如果发现用户使用加密货币,将关闭其银行账户

编者按:本文来自ethereumworldnews.com,作者:JoseAntonioLanz译者:星球日报茶凉作为世界上人口第二多,人口超过13亿的新兴国家,作为金砖成员国,印度在加密货币领域的措施可能对该行业产生强大影响.

1900/1/1 0:00:00
NEO的至暗时刻

编者按:本文来自链捕手,作者龚荃宇,Odaily星球日报经授权转载。NEO,曾经的“中国以太坊”,似乎正在逐渐淡出公众的主流视野.

1900/1/1 0:00:00
区块链的这一年,终究错付了

上周,刚巧看到罗振宇在跨年演讲里慷慨激昂地讲“巴菲特说过,没有一个人可以靠做空自己的祖国成功。”巧了,前一天才恰好跟朋友谈到这个话题,和这句“二手名人名言”.

1900/1/1 0:00:00
全美房地产和股权在线众筹平台一览

AnOverviewofRealEstate&EquityCrowdfundingPlatformsAuthor:IvanKan,Co-founderofCrowdcreateTranslator:Ran&Kiki.

1900/1/1 0:00:00
以太坊君士坦丁堡分叉,你想知道的一切都在这里

文|如风、Moni、张雪、黄雪姣、卢晓明编辑|卢晓明君士坦丁堡分叉是近期区块链领域最重要的话题。Odaily星球日报整理了你需要知道的一切。在最近的加密货币市值排名上,第二名的位置似乎竞争非常激烈.

1900/1/1 0:00:00