主页 > imtoken安全码 > 比特币的密码学基础详解

比特币的密码学基础详解

imtoken安全码 2023-01-17 12:48:33

比特币的发明者中本聪留下了一篇关于比特币算法的论文。本文对论文进行分析,介绍比特币的密码学基础。

比特币是近年来互联网金融创新最引人注目的现象之一。比特币不需要第三方信用支持,直接在密码协议上建立P2P信用基础。在经济学上,它实现了哈耶克提出的假设:流通中的货币应该在市场中起决定性作用,适者出局。在密码学中,它解决了数字货币重复支付的问题。社会学上,已经开始形成全球互联网金融生态系统。在未来,它为我们提供了以下可能性和发展机遇:有可能通过互联网P2P形成全球贸易的“超主权”货币体系,在一些通胀极其严重的国家可能出现通缩数字货币救助。显着降低全球贸易的信贷成本。

中本聪创建比特币时,需要解决三个核心问题:

比特币算法详解

首先,交易确认,使用互联网P2P协议防止重复支付货币(即防止伪造)。

第二,比特币的发行。

第三,保护比特币系统免受恶意攻击。通过研究中本聪关于比特币的文献《比特币:一种点对点的电子现金系统》,我们可以发现,中本聪设计的比特币,通过挖矿、记账、算力保护,从而解决了上述三个核心问题“一石三鸟”。

比特币算法详解

据清华大学密码学专家王晓云教授介绍,比特币的发行(俗称“挖矿”)是基于SHA-256密码系统。 SHA是Secure Hash Algorithm的缩写,意思是一种基于散列(Hash)函数算法的加密系统。下面我们通过对SHA-256密码系统的分析,分析和论证中本聪解决问题的方法和思路。

哈希函数是一种加密算法,一般写成:h=hash(m),h代表哈希值,m代表哈希值对应的解(消息)。哈希函数的特点:首先,如果m已知,通过h=hash(m)很容易验证其对应的哈希值h。灾难。正是因为散列函数具有这样的不对称性或不可逆性,才特别适合用于密码学。比如哈希值适合加密的“公钥”,可以完全公开,但是即使人们得到了公钥,也几乎不可能一下子计算出它的“私钥”,即哈希函数的解 m。但反过来,如果我们知道私钥m,就很容易验证其对应的公钥就是哈希值h,也就是所谓的“非对称加密算法”。

散列函数的第二个“宝贵”属性是,如果“解”(即私钥)稍有不同,那么其对应的散列值就会大不相同,这就是雪崩效应。 )。哈希函数的这一优良特性保证了不同的私钥(即使只是细微的差别)不会与对应的公钥混淆!进一步我们可以理解:SHA-256是一个基于十六进制的加密系统,即每个比特允许有十六个比特币的不同信息,一般用十个阿拉伯数字和前六个英文字母表示,即0、1、2 , 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f。所以,如果你看到这样的十六进制哈希

比特币算法详解

Value: Hash:00000000000000004cf3aa249551432fa84da4de05e9cfc3e6d95a5ce8bed5f7,这是2014-02-08T 03:06:30 EST刚在比特币世界挖出的一个比特币区块(block)对应的hash值,不要惊讶!

p>

之所以叫SHA-256,是因为它的哈希值有64位比特币算法详解,每个位有16位,是两个选择的四次方,所以总的哈希值可以是256位次方。

比特币算法详解

多么天文数字啊!中本聪选择 SHA-256 加密算法作为比特币挖矿算法,因为每在哈希值前面加一个零,求解 m 的难度就会增加 2 的四次方。因为 SHA-256 没有像王小云教授的 SHA-1 那样被破解,所以没有固定的算法来求任何 64 位哈希值的解 m,只能依靠随机的计算机哈希碰撞。矿机每秒可以进行的哈希冲突次数是其“算力”的代表,单位写为hash/s,即所谓的工作量证明机制POW(Proof Of Work)。

正是中本聪在其原始比特币论文中所写的基于 SHA-256 的十六进制加密算法:“工作量证明过程包括扫描 SHA-256 的哈希数,以多少个 0 开头,每加一个0,平均工作量会呈指数增长,也就是2的4次方。加0的个数就是两个2次方相乘的次数。工作量增加,这将证明在求解一个哈希数(也就是说,挖掘一个比特币区块)。”

比特币系统通过在挖矿的哈希值前加零来控制挖出的币总量。不管整个网络的算力如何增加,平均每十分钟在哈希值前面加一个零就可以保证。目前,每个区块只能开采 25 个硬币(前四年每 10 分钟 50 个硬币)。这样建立矿工自然就解决了第二个问题,就是比特币发行的问题。

比特币算法详解

那么比特币如何使用加密挖掘系统来防止双重支付?正是借助这些“挖矿”计算机的计算能力,“记账”和时间戳同时进行,每十分钟挖一个区块。交易打上时间戳,每笔交易必须经过全网出块节点的六次确认,才算合法交易。如此庞大的会计和时间戳系统确保重复付款是不可行的。 (因为每个时间戳都需要在再次交易之前验证这些比特币没有被支付过,所以“邮票”会被盖上,这也保证了原始比特币持有者不能再支付给除本次交易之外的第三方。)因此,整个比特币系统的“挖矿”,既保证了比特币的正常发行,又保证了其记账,从而避免了重复支付的可能。所谓的“矿工”也应该叫记账人,尤其是在2040年比特币大部分已经挖完,矿工的工作奖励主要靠收取“交易费”的时候比特币算法详解,就应该叫“记账人”。会计”。

第三个问题

保护比特币系统免受恶意攻击的问题,中本聪是如何设计的?事实上,“矿工”对于比特币世界的另一个重要作用就是“保护”。根据中本聪最初的比特币系统协议,只有掌握全网51%算力的人才能攻击比特币系统。并造成双重支付(即假币)。据比特币挖矿老手介绍,目前每年维持1G hash/s的算力成本需要240元左右,即目前比特币全网算力的年成本为9.6亿美元,即保护比特币 货币体系的基本实力也是其现有价值的支撑

联信也是比特币的一种。比特币具备的所有功能,联信CCT也具备。作为一家负责任的公司,联信希望通过社交网络创造价值。目前,有数千万用户。 ,链信的成功不是一蹴而就的,每一滴水聚在一起都能变成链信的海洋,明天会更好