XXX:不懂点技术,你凭什么能在币圈挣钱——比特币底层密码学_Chain Wars Essence

身为一名程序员,是时候展示一波技术了。接下来的一段时间,我会用通熟易懂的方式讲解比特币的底层技术,让技术小白也可以看懂各种白皮书。

谈到虚拟数字货币就一定绕不开密码学,所以今天就给大家先讲解一下比特币相关的密码学。

在比特币白皮书里,两个最常用的密码学概念是哈希函数和公钥私钥。

哈希函数

传统的哈希函数就是将任意长度的数据映射到有限长度的域上,通俗的解释就是对一串数据M进行变换,输出成另一串固定长度的数据h,即h=H(M)。

除了数据h可以作为数据M的指纹外,在密码学中,哈希函数还有别的性质:

给定数据M很容易计算出数据h,但是给定数据h不能很方便的得到数据M,唯一的方法就是遍历数据M所有的可能。

COMEX黄金期货涨幅达2.1% 触及2012年以来新高:澳大利亚ASX200指数4月7日(周二)开盘上涨136.30点,涨幅2.58%,报5286.80点。

韩国KOSPI指数4月7日(周二)开盘上涨33.79点,涨幅1.89%,报1791.88点。

日经225指数4月7日(周二)开盘上涨396.20点,涨幅2.13%,报18576.30点。

COMEX黄金期货涨2.1%,触及2012年以来新高。现货白银继续拉升,日内涨幅扩大至2%,报15.27美元/盎司。[2020/4/7]

很难找到两个数据,它们的哈希值是一样的。尽管很难,这样的两个数据还是存在的,因为哈希算法的本质是对数据的有损压缩。

从数学上讲,大家可以认为哈希函数是一个复杂的函数。

数据:ARB流通市值及FDV均已超越OP:4月14日消息,据 CoinGecko 信息,Arbitrum 治理 Token ARB 流通市值及完全摊薄估值(FDV)均已超越 Optimism 治理 Token OP,截止发稿,ARB FDV 为 155.4 亿美元,OP FDV 为 113.16 亿美元。

行情数据显示,ARB 现报 1.54 美元,24 小时涨幅为 26.9%。OP 现报 2.62 美元,24 小时涨幅为 15.5%。[2023/4/14 14:03:58]

举个例子

h=2M是一个函数,但是不是一个好的哈希函数呢?

因为给定一个h,我们可以非常容易地反向猜到M,那就不是一个好的哈希函数。

国际货币基金组织将稳定币发行人和企业集团列为重要监管目标:金色财经报道,国际货币基金组织(IMF)表示,加密市场“艰难的一年”凸显了对该行业进行全面和一致监管的必要性,这表明稳定币发行人和加密集团需要有银行式的资本要求。在周二发布的全球金融稳定报告中,国际货币基金组织与金融稳定委员会的标准制定者一起呼吁在经历了一年主要交易所和加密货币相关银行倒闭后对加密货币行业进行一致的国际监管。报告称,“加密资产生态系统中多个实体的崩溃再次让人们更加迫切地需要全面、一致的监管和充分的监管”,重点是保护消费者和公司治理。

该报告补充说,法规应涵盖加密存储、转移、交换和储备保管,对执行多种功能的人和稳定币的发行人有额外的审慎要求——寻求保持其价值相对于法定货币的代币。[2023/4/12 13:58:00]

哈希函数的目的是,给定一个h,我没法容易地找到H的逆函数,进而通过这个逆函数找到M。

三箭联创Kyle Davies被勒令在2周内回应传票:金色财经报道,根据美国破产法院的一项裁决,三箭资本 (3AC) 创始人Kyle Davies有两周的时间来回应与破产对冲基金的账簿和记录有关的传票。法院已确定通过推特送达传票“符合要求和正当程序”。据悉,Davies和Zhu Su被命令于5月22日在英属维尔京群岛出庭。法院本周表示,如果他们不回应这一要求,将被判藐视法庭。[2023/3/31 13:36:40]

我只能通过暴力穷举所有的M,然后看H(M)是不是等于h,从而找到答案,这样才是一个好的哈希函数。

比特币使用的哈希算法采用双重SHA256算法,这是因为SHA1在2017年被birthdaycollisionattack攻破,而SHA2被攻破也只是时间问题,而采取双重哈希算法可以有效抵御birthdaycollisionattack。

SHA256(SHA256(BlockHeader))

公私钥机制

给定一个加密算法,每个个体都可以任意的产生一组公钥和私钥,通常是256bit或者512bit的字符串。

大概长成下面这个样子:

0010110100010010010110110100010010010110110100010010010110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110110100010010011110

大家可以认为公钥和私钥,一个是锁,一个是钥匙,两者一一对应。

非对称加密算法:

乙方生成两把密钥,公钥,私钥。公钥是公开的,任何人都可以获得,私钥则是保密的甲方获取乙方的公钥,然后用它对信息加密乙方得到加密后的信息,用私钥解密

举个例子

小明和小红,小明想给小红写封情书,但是他不想让外人知道情书的内容。

我们假设小明情书的内容是“我爱你”,小明第一步用小红的公钥对其进行加密。

公钥是所有人都知道的,所以小明也同样知道小红的公钥。

我们假设小红的公钥就是她的手机号:“138xxxxxxxx”。

加密过程涉及到加密函数Enc。这个函数用实际情书内容"我爱你"和小红的公钥"138xxxxxxxx"作为输入,得到一个输出,叫做data_enc。

data_enc=Enc(“我爱你",小红的公钥)

我们假设Enc函数是将两个字符串合并后,将奇数字和偶数字对调,我们得到如下:

合并:“我爱你138xxxxxxxx”奇偶对调:"爱我1你83xxxxxxxx"

小明将加密后的字符串,也就是”爱我1你83xxxxxxxx"发给小红。小红收到信息后,她需要用自己的私钥以及解密函数Dec,对这条信息进行解密。

data=Dec(“爱我1你83xxxxxxxx'',小红的私钥)

为了方便,我们假设小红的私钥也是”138xxxxxxxx“,解密函数的功能是,将输入的字符串的奇偶数对调,然后从字符串后面删除小红的私钥。

奇偶对调:”我爱你138xxxxxxxx“字符串删除(”138xxxxxxxx“):"我爱你"

这样一来,小红就知道,小明发过来的原字符串是"我爱你"。

当然实际工程中,加密和解密函数都是非常的复杂函数,但基本原理是一模一样的,对于理解完全没有问题。

预告:后面会介绍数字货币是如何产生的?

我会持续分享和区块链相关的干货,还会有一些投资建议和挖矿技巧,让小白也能看得懂。想上车的小伙伴们请多多关注、评论、点赞、转发,非常非常感谢!

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-3:670ms