主页 > imtoken钱包下载2.0版本 > 文科生都能看懂的比特币数学原理

文科生都能看懂的比特币数学原理

imtoken钱包下载2.0版本 2023-07-01 15:14:12

t币和比特币是一样吗_比特币解的是什么数学题_以太币比特币是骗局吗

立秋已过,上海的室外温度仍是30℃+。 虽然比七月凉快了些,但中午还是不能在太阳底下晒五分钟。 吓得我赶紧上楼,开了一瓶82年的雪碧,强压住震惊,继续和大家聊聊比特币。

null

比特币(bitcoin)是一种优秀的数字货币,具有交易速度快、安全性高、不受地域限制等特点。 它们消耗真实的资源(CPU时间和电力)来生产,所以它们是有价值的,它们不能被重复使用,也不会消失,这是比特币的通俗定义。 众所周知,金属货币依靠自然产生限制货币发行量,依靠天然化学特性防止伪造,依靠其独特的稀缺性保证购买力。 同样,纸币依靠中央银行和经济专家的领导来确定货币发行量比特币解的是什么数学题,依靠改进的生产技术和更先进的验钞机来防止伪造,可以依靠货币的主权信用和军事防御能力-发行国保证购买力。 那么有童鞋就有疑问了,比特币靠什么来保证这些特性呢?

在比特币的世界里,甚至可以延伸到基于区块链技术的货币世界,它们都是基于数字世界的规则。 比特币不可思议的特性是通过数学来保护的,更准确地说是通过密码学。

接下来,我将与您谈谈比特币中使用的数学基础。 有的童鞋一听到数学就立马炸了。 什么,你跟我这个文科生(数学小白)聊数学?

t币和比特币是一样吗_以太币比特币是骗局吗_比特币解的是什么数学题

不要慌,我会用例子尽可能清楚地解释原理。 另外,对于要求较高的同学,把剩下的技术数学知识以延伸阅读的形式贴出来,力求做到精通。

1.密码学和协议

密码学主要关注两点,一是加解密本身的数学算法,二是如何在已有算法的基础上实现各种安全需求。

这两点有什么区别? 例如,以防止“消息泄露”为例:我们首先想到的是防止消息在传输过程中被第三方截获,例如窃听对话、偷看邮件、窃取网络数据等。 其实小偷是防不胜防的,但是我们可以保证即使数据被盗,小偷也无法使用。 只要双方事先约定一套加解密方式,以密文方式传输信息,就可以有效防止信息泄露。

实际情况可能比消息泄露更复杂,加密算法方案不适用。 举个栗子吧。 假设某公司某组有10名员工。 他们都想知道在群里的平均月薪,但是又不愿意公开自己的月薪,公司的HR也不允许。 有没有什么办法可以在不透露各自工资数额的情况下得到答案呢? 其实方法很简单,甚至不需要密码学知识。 第一个人随便想一个数字,比如12345,然后把自己的月薪和这个数字的和写在纸上,传给第二个人; 第二个人把自己的月薪加到这个数字上,然后把最新的数字写在另一张纸上,传给第三个人; 直到最后一个人把纸条发回给第一个人比特币解的是什么数学题,第一个人用纸条上的最终结果减去12345,得到每个人的月薪总和,每个人都没有公开自己的工资。

比特币解的是什么数学题_以太币比特币是骗局吗_t币和比特币是一样吗

以上两种情况对应密码学的两个研究方向:密码学不仅研究加解密的数学算法,更多时候还研究信息安全策略,我们称之为“协议”。

2.哈希算法

现在想象这样一个场景:Alice和Jack,或者Rose和Jack,都无所谓,只要有这样一个概念就行。 说到我们的爱丽丝和杰克,这两个童鞋商量明天早上谁先去教室打扫卫生。 两人都不想去,杰克想了个办法:“我掷一枚硬币,你猜是正面还是反面,猜对了,我就干干净净,猜错了,呵呵……” ……” 如果此时爱丽丝和杰克面对面站着,那么这个策略当然没问题,可以说是相当公平了,甚至可以用剪刀石头布之类更简单的方法。 但是,如果他们通过在线聊天的方式来讨论,爱丽丝显然不会同意这种方式,因为她担心无论自己猜正面还是反面,杰克都会说她错了。

有没有办法保证通过在线聊天也能实现公平的抛硬币? 有人会说,我们加密一下抛硬币的结果吧。 现在假设奇数代表硬币正面,偶数代表硬币反面。 Jack随机想到一个数,然后乘以另一个数,先把结果告诉Alice,比如1234×531=622254,Jack想出1234,然后把622254的结果告诉Alice,并认领了另一个密数531吧是钥匙,由他保管。 但这显然是行不通的,所以杰克还是立于不败之地。 但是,如果杰克事先释放了钥匙怎么办? 这也行不通,因为Alice知道密钥后可以直接算出原来的数,这样就失去了保密的作用。

传统的加密方式之所以不能公开,是因为知道了加密方式也就知道了解密方式,只有逆向计算才能解密。 那么,有没有一种加密方式,即使知道加密方式,也无法恢复原文呢? 是的,我们只需要在加密过程中加入一些不可逆的操作即可。 这次杰克设计了一种新的加密方式:

以太币比特币是骗局吗_t币和比特币是一样吗_比特币解的是什么数学题

1、杰克先想象一个数,加上123456。

2. 将结果平方,取第 3 至第 10 位组成一个 8 位数字。

3.用这个数除以456789求余数,然后把结果告诉Alice。

4. 爱丽丝猜测杰克想的是奇数还是偶数。

5、Jack把原来的数告诉Alice,Alice根据上面的公式重新计算,看结果和Jack给的结果是否一致。

t币和比特币是一样吗_比特币解的是什么数学题_以太币比特币是骗局吗

假设杰克还在想1234,按照上面的过程可以得到:1234+123456=124690

124690×124690=15547596100

54759610mod456789=401719

(mod的意思是除法求余数)

Alice得到的结果是401719,可以验证Jack是否在说谎。 同时,Alice 很难根据 401719 反推 123456。

比特币解的是什么数学题_t币和比特币是一样吗_以太币比特币是骗局吗

这并不能绝对保证杰克不作弊,但如果杰克想作弊,他必须事先找到一奇一偶两个数,按上述操作可以得到相同的结果。 这个难度取决于上面算法的难度。

在密码学中,这种丢失部分信息的加密方式称为“单向加密”,也称为散列算法。 可靠的哈希算法至少要满足以下条件:

1、对于定义好的数据X,很容易计算出哈希值Y=F(X);

2、很难从Y中计算出X;

3.很难找到α和X使得F(X)=F(α)。

现实世界的哈希算法比上述过程复杂得多,但原理相似。 并且即使是很长的数据,只改变一个括号也会导致二次哈希结果的巨大差异。 被认为安全且在 Internet 中广泛使用的哈希算法包括 MD5(消息摘要算法第五版)、SHA-256 等。 这种单向加密算法不能用于普通的信息传输,更多的是用于验证传输结果的准确性。 很多下载站点都会提供下载文件的原始MD5值进行校验,以防止文件被病毒修改。 常用的BT(bit stream)下载也是通过特定的哈希算法来确认每一部分数据是否已经下载完毕。

你确定要往下看吗?这里是学区