主页 > imtoken手机下载 > 什么是数字指纹、SHA算法、非对称加密,不能更流行(一)

什么是数字指纹、SHA算法、非对称加密,不能更流行(一)

imtoken手机下载 2023-05-26 06:00:36

什么是数字指纹、SHA算法、非对称加密,不能更流行(一)

文字 | 李少柱

李绍柱,比特币和区块链行业推动者,拥有6年行业经验。

致力于数字货币的研究,欢迎有识之士共同探讨区块链!

主流货币价格再次被锤击回落。 这个时候,正是静下心来钻研区块链技术的时候。 有朋友问后台怎么买币,还有一些其他的基础知识。 今天,我将以比特币为例,简单介绍一下区块链运行的基本原理。

今天互联网最大的问题是它不可信。 十多年前,长辈们就告诉我们不要轻信网络上的内容。 当互联网成为基础设施时,我们反过来告诉长辈们不要相信互联网上的内容。

区块链技术的本质是解决信任问题。 如果区块链技术得到普及,将填补当前互联网在信任这个关键环节的不足。

说到区块链,首先提到的肯定是去中心化。 每个人只需要一台电脑就有一个账本。 当我们第一次使用比特币钱包时比特币私钥生成,系统会先下载与相邻节点的完整账本。 目前,这个账本有200多GB。

当每个人都有这个账本时,几乎不可能篡改它。 对于攻击者来说,这个成本几乎是无法承受的。

那么,比特币是如何在这样一个网络中产生的呢? 我们如何转账? 让我们逐步描述它的操作。

第1步

二进制

首先,我们要了解二进制的概念。

我们在网络上发送的都是消息,不管是什么数字货币,其实都是一串字符。 计算机使用二进制,所以信息,无论是数字、字母还是汉字,实际上都可以转换成二进制。

一个英文字母或数字对应8位,一个汉字对应16位。 原始消息越长,二进制代码越长。

比如“A付5元给B”,转换成二进制就是:

比特币私钥生成_比特币私钥数据库_比特币钱包没看到私钥

0100000111001010010111110011101101100000110101101000101000011100101001011000111111101101100101000010

二进制也可以转化为十进制,它们完全相等,

100000111001010080606408664086260086008422488464406842602666664446622202242228042826680682422068400

这个消息就是我们要在 Internet 上传达的消息本身。 但是不能这样传输,这里还没有解决可信问题。

第2步

数字指纹

原始信息不加密是无法传输的,这样的信息是没有安全可言的。

在互联网上,我们如何确定收到的字符是真实完整的呢?

这就是数字指纹发挥作用的地方。

我们需要用一种方法,将刚才的一串二进制值转换成另一串值,也就是“数字指纹”,以及

(1)定长

(2) 数字指纹只能从原文推算,不能反推原文

其实这另一串值就是数字指纹。

第 3 步

SHA算法

可以办到。 1993年,美国国家安全局发布了SHA算法,全称是Secure Hash Algorithm。

比特币私钥生成_比特币私钥数据库_比特币钱包没看到私钥

比特币采用SHA-256算法,即生成的数字指纹长度固定为256位。

它的技术原理不用深究比特币私钥生成,只知道这个算法的特点是:不管原始信息是什么,输出的数字指纹都是256位数字。 这个 256 位的值是二进制的。

这套算法是公开的,所有人都可以使用。

“A支付5元给B”使用SHA-256算法生成的数字指纹为:

1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111边缘

除了固定长度外,该算法的另一个特点是只要改变原文中的任何一个词,生成的数字指纹就会发生巨大的变化。 也就是说,根本没有规律可循,无法通过数字指纹推导出原文。

SHA-256的缺点是太长,但是二进制可以转为十六进制。

刚刚转换成十六进制的数字指纹是

f7bb29badf05d41e60b1036d749f134a901c7a97daef7a1fe4e1e14471bd4833

有了数字指纹,比特币要求发送者发送两条消息

(一)原始资料

(2) 转换后的数字指纹

信息的接收者收到信息后,根据原始信息再次生成数字指纹,与接收到的数字指纹进行比对,判断信息是否完整。

但此时,我们仍无法保证信息的真实性。 因为还没有加密。 这里还是明文传输,黑客随时可以拦截。

第四步

非对称加密

比特币私钥生成_比特币私钥数据库_比特币钱包没看到私钥

为了保证信息传输的安全,需要加密。

“密码本”这个词经常出现在一些以战争初期为背景的电影中,比如电影《风声》。 电影中,李冰冰饰演的密码学家李宁玉正在破解这本密码本。

普通书籍可以用作密码本。 只要查出对方加密的是哪本书,就可以破解对方的情报。 并且还可以伪造虚假信息并发送出去。 所以每隔一段时间,就需要更换密码本。

怎么加密,就怎么解密,这就叫“对称加密”。

这种加密方式长期以来一直很不安全。 于是密码学家又找到了另一种加密方法,加密是一种方法,解密是另一种方法,也就是常说的“非对称加密”。

不管密码学家如何做,非对称加密已经使用了几十年。

比特币使用的加密算法称为“椭圆曲线算法”,也称为“ECC算法”。 该算法由两位美国人 Neal Koblitz 和 Victor Miller 在 1985 年独立提出。

在这个算法下,有私钥和公钥两个概念。 私钥用于加密,公钥用于解密。

采用ECC算法,信息发送方随机生成私钥,然后根据私钥生成公钥。 用私钥加密数字指纹得到密文。 然后将原始文本、密文和私钥广播到整个比特币网络。

信息的接收者通过公钥对密文进行解密,得到数字指纹。

他正在使用 SHA 算法生成另一个原文的数字指纹。

将两个数字指纹进行比对,如果完全一致,则确认该信息为合法交易信息,否则丢弃该信息。

步骤 5

比特币账户

公钥其实就是比特币账户的地址。

一个私钥可以生成无数个公钥,所以一个人其实可以有很多很多的比特币账户。

比特币私钥数据库_比特币私钥生成_比特币钱包没看到私钥

帐户只是一串字符,没有任何关于帐户所有者的信息。 这确保了比特币的匿名性。

私钥是比特币的唯一凭证。 如果私钥丢失,就相当于永久丢失了自己的比特币,根本无法找回。 数以百万计的比特币在世界范围内丢失。

步骤 6

点对点传输

比特币是去中心化的,节点之间通过点对点传输技术(P2P)传递信息。

大家第一次使用比特币钱包一定要下载最新的账本。 如果账本发生变化,则必须从相邻节点同步最新的账本。

第 7 步

块和区块链

以上技术都是由来已久的,区块链是中本聪的发明。

比特币是去中心化的,但很难保证每个节点都有一致的账本。 如果每个节点的账本不同,则网络无法使用。

中本聪给出的解决方案就是区块链。

中本聪将账本设计为一长串首尾相连的数据包。 每个数据包都是一个块,每个块都必须包含前一个块的信息。

这些块具有唯一的编号,从0开始,向后连续排列,不能重复或中断。

这个数字被称为区块链的高度。 比特币的第一个区块链被称为“创世块”。

区块中包含的信息是:

前一个区块的数字指纹、固定信息、交易记录、一个随机值

比特币钱包没看到私钥_比特币私钥数据库_比特币私钥生成

每个区块大小为1M,可存储约4000笔交易。

步骤 8

矿业

向比特币添加区块是有条件的。 比特币要求新区块的数字指纹(SHA256)前72位必须为0,这样的值很难找到。

SHA算法计算出的值是不规则的。 如果你想在区块链中添加一个区块,你必须努力寻找这样一个前72位全为0的SHA算法字符。

找到这样的号码没有捷径可走,只能一个一个地尝试。 这增加了添加新块的难度。

既然如此困难,为什么人们不问就使用比特币?

关键是,如果找到这个值,在区块链中加入一个新的区块,计算机就会得到比特币的奖励,以及这个区块中所有的手续费收入。

货币奖励用于激励用户争夺记账权。

找到前 72 位为 0 的值的过程就是“挖矿”。

由于没有规则,只能“暴力破解”,矿机的算力越来越高。 一开始用笔记本电脑就可以挖出比特币,现在只有配备专业ASIC矿机的矿池还在挖矿。

对于区块链,如果有什么不明白的概念,欢迎与李少柱共同探讨。 扫描下方二维码添加我的微信公众号。 也可以直接在公众号留言。

本文不作为投资建议

投资有风险,入市需谨慎

原创不易,欢迎点赞转发

李少柱|致力于区块链研究