主页 > imtoken钱包下载 > 比特币的3个密码学原理

比特币的3个密码学原理

imtoken钱包下载 2024-01-01 05:13:18

使用的技术是区块链。换句话说,比特币是世界上第一个“去中心化”的数字货币。为了发明它,中本聪想出了一项新技术,他将其命名为“区块链”。因此,区块链是与比特币一起形成的新技术。

通俗地说,比特币是一种产品,是一种特定的数字货币,而区块链是一种相对通用的技术。

比如瓦特发明了蒸汽机,他也发明了一整套相关技术。但技术不是产品本身,别人可以用他的技术制造类似的蒸汽机。

1.2 什么是区块链?

区块链是一种软件技术。简单来说,就是“去中心化存储”和“所有档案”。也就是说,比特币的所有交易信息都保存在互联网上,并反复存储在数千台电脑上。

比如A借给B比特币,这个交易记录不是存储在一台电脑上,而是在互联网上尽可能多的电脑上,至少上百台电脑上。而且,这些比特币过去的所有交易记录也都在线保存。

这种分散的存储和信息保留使其极难篡改。因为如果要篡改交易记录,就得修改上千台机器上的数据,这几乎是不可能的。到目前为止,还没有发生任何篡改。因此,从实际应用的角度来看,比特币是不可变的、不可伪造的。加上它本身有一定的成本和稀缺性,所以有一定的信誉。因此,比特币具有货币的特性。

比特币的2个特点

总而言之,比特币具有以下特点:

比特币与传统虚拟货币比特币传统虚拟货币的区别(如点数)

自然

去中心化

有服务商

公共交易度

匿名

交易公开且可追溯

库存

库存有限

无线分配

代码属性

开源

关闭

价值展示

直接订购商品

虚拟商品可直接订购,个别例外可选购买实物商品

使用范围

无限

范围有限

兑换百分比

浮动

固定

比特币的 3 种密码学原理

首先,我们必须了解比特币是如何获得的。一般有三种获取方式:

挖矿生产——制作一个新的比特币区块来获取比特币;下单——通过在线交易平台(如火币)进行交易;收到的捐款 - Freenet、Internet、档案、自由软件基金会和许多其他组织收到捐款。 3.1 比特币原理

比特币是一种分布式的点对点网络系统

3.2比特币地址3.3比特币地址的生成过程随机选择一个32字节的数字作为公钥椭圆曲线加密算法得到未压缩的私钥,依次估计SHA-256、RIPEMD-160 值。添加地址版本号(0x00)计算两次SHA-256,取前4个字节加到第4步的结果中,然后base58编码得到比特币地址

可以从上面的过程中得到。为了保证其安全性,比特币系统使用了很多算法,包括各种加密算法和共识算法。

3.4 比特币的主要技术4 几种主要算法技术介绍4.1 哈希算法4.1.1 哈希的概念

任何从事计算机软件开发的同行都应该熟悉哈希。哈希算法是指将任意宽度的明文字符串映射成宽度较短(通常为固定宽度)的二进制字符串,而对于不同的明文,很难映射出相同的哈希字符串。通常在开发过程中,使用MD5来检查文件,这是最常见的hash。应用:使用某种哈希算法为文件生成一个哈希值(数字摘要)。以后一旦文件发生变化,重新估计会得到不同的摘要值,从而使文件发生变化。

一个好的哈希算法需要具备的特性:

转发快:对于给定的明文,可以在有限的时间和资源内获得哈希值;逆向难度:对于给定的哈希值,想要逆向推理明文基本上是不可能的;输入灵敏度:明文发生变化,新的hash值会有很大的不同;抗碰撞性:很难找到两个不同的明文形成相同的哈希值; 4.1.2种常用哈希算法

常用哈希算法:

目前MD5和SHA1已经被破解,一般推荐SHA-256或更安全的算法。

4.2 加解密算法

比特币作为一种加密货币,有一个秘密算法。

4.2. 1 添加secret的过程

加秘过程的描述很简单:加密就是通过对明文和密钥进行加密生成密文。

解密是加密的逆过程:加密文本和密钥通过解密算法恢复为明文。

根据加解密过程中是否使用相同的密钥,加密算法可分为对称加密和非对称加密算法:

每种加密方式都有缺点,在实践中,有时两者结合使用。

注意:理论上没有绝对安全的算法,所以在实际项目中,如果安全性要求高,最好不要使用自己设计的加密算法。在很多情况下,虽然没有公开加密算法和系统也很容易被破解,明智的做法是使用经过多年验证和演示的算法。

4.2.2 对称加密算法

对称加密算法使用相同的密钥进行加密和解密。优点是效率高、加密强度高,缺点是参与者需要提前持有密钥。一旦有人泄露密钥,就会存在安全隐患。

从实现方式上,对称加密算法可分为分组密码和序列密码。

块密码:以固定长度的数据块为加密单元对明文进行加密,应用最为广泛。序列密码:一次只加密一个字节或字符。

分组密码被广泛使用,其中有一些您熟悉的经典算法:DES、3DES、AES。

4.2.3 非对称加密算法

非对称加密算法是指使用不同的密钥进行加密和解密,分别称为私钥和公钥。私钥通常由随机数算法生成,公钥通常由公钥生成。公钥任何人都可以看到,私钥不能泄露,只有一个人持有。

非对称加密的优点是公钥和公钥是分开的,但缺点是效率低,强度比对称加密低。

在安全性方面,非对称加密的安全性需要通过物理问题来保证。大素数分解、椭圆曲线和离散对数等常见物理问题很常见。

常见的非对称加密算法:

一些特别重要的概念:

在比特币中使用ECDSA算法的目的是为了证明某个比特币只能被其拥有者消费;私钥:需要保密,只有生成的人知道,私钥是一串随机数,在比特币中以32位整数存储;公钥:公钥对应的一串数字,可以通过公钥估计生成公钥(但不是强制的),公钥的作用是在不暴露公钥的情况下验证签名的有效性;签名:签名由公钥加上散列(数据摘要)组成。使用私钥加上一些物理算法,可以在不暴露公钥的情况下验证签名。这部分参考原文链接4.3 数字签名

数字签名(又称公钥数字签名)是一种数字字符串,只能由信息的发送者形成,他人难以伪造。数字串也是信息发送者发送的信息真实性的有效证明。它是一种验证数字信息的方法,类似于写在纸上的常见数学签名,但使用公钥密码学领域的技术实现。一组数字签名一般定义了两个互补的操作,一个用于签名,另一个用于验证。数字签名是非对称和数字摘要技术的一种应用。这部分参考原文链接

公钥密码系统的签名原理4.4共识算法

区块链是一种去中心化的分布式账本系统,可用于注册和发行数字资产、财产账簿、积分等,并以点对点的方式进行转账、支付和交易。与传统的中心化系统相比,区块链系统具有公开、透明、不可篡改、防止多次支付等优点,不依赖于任何可信任的第三方。

由于点对点网络中的高网络延迟,每个节点观察到的交易顺序不可能完全一致。因此,区块链系统需要设计一种机制,对几乎同时发生的交易顺序达成共识。这种在一个时间窗口内就交易顺序达成共识的算法称为“共识机制”。

在区块链等分布式账本系统中,保证整个系统的安全性和适应性非常重要,这也是共识算法出现的根本原因。

那么,区块链中常见的共识算法有哪些?

1、POW:工作量证明,工作量证明

POW是比特币在出块过程中使用的共识算法,也可以说是最原始的区块链共识算法。 POW 工作量证明,简单理解,就是通过一个证明来确认已经做了一定量的工作。

在比特币系统中,获得一个合理的 Block Hash 需要大量的反复试验。当一个节点提供了一个合理的Block Hash值时,就意味着该节点确实经历了很多次尝试估计。

这种工作量证明方法在我们的日常生活中也很常见。比如,如果你能拿到驾照,就说明你已经练习和考试了几个月甚至几年;另一个例子是现在太火的喝鸡和王者荣耀游戏中的K/D(Kill/Death)和胜率。比特币未来发展趋势论文,分数越高,你就越好,也说明你做了很多游戏练习和方法学习。

2、POS:权益证明,权益证明

由于POW机制导致算力消耗巨大,交易确认时间长,挖矿活动集中容易出现中心化等缺点,演变成POS权益证明。简单来说,POS是一个根据持有数字货币的数量和时间来分配相应的月利息的系统,类似于我们平时在建行的存款。

在基于权益证明共识的区块链系统中,参与者的角色是验证者,他只需要对系统的数字货币进行投资,并验证他是否是一个区块内下一个区块的创建者。特定的时间。下一个区块的创建完成。下一个区块的创建者以一定的形式被选中,验证者被选为下一个区块的创建者的概率与系统中数字货币的数量成正比,即一个验证者拥有 300 个币的机会被选中的概率是拥有 100 个硬币的验证者的 3 倍。

在POS模式下,有一个术语叫币龄,每枚币每晚形成1个币龄。比如你持有100个币,总共持有30天,那么你的币龄是3000比特币未来发展趋势论文,这时候如果你验证了一个POS区块,你的币龄就会清零,对应的数字货币月利息会从方块中获得。

这个很有意思,持有币有月息。而且由于POS是在有限的空间内完成,而不是像POW那样在无限的空间内完成,所以不需要大量的能源消耗。

3、DPOS:委托权益证明、授权权益证明

DPOS最早出现在BitShares,也称为受托人机制。持有比特股的人投票,形成101名代表。我们可以理解为101个超级节点或者矿池,这101个超级节点之间的权力是相等的。

从某种角度来看,DPOS有点像众议院制或人大制。如果代表无法履行职责(轮到他们时未能生成区块),他们将从列表中删除,并且网络会选举新的超级节点来替换它们。 DPOS的出现主要是由于矿机的形成。不了解或不关心数字货币的人面对着大量的计算能力。就像演唱会的黄牛一样,囤了很多票,根本不关心演唱会的内容。

DPOS 通过其选择区块生产者和验证节点质量的算法来确保安全性,同时消除交易需要等待一定数量的区块被不受信任的节点验证的时间消耗。通过降低确认要求,DPOS 算法大大提高了交易率。通过信任少数诚实节点,可以消除区块签名过程中不必要的步骤。

4、PBFT:实用拜占庭容错,实用迦太基容错

PBFT 即 Practical Carthage Fault Tolerance Algorithm,由米格尔·卡斯特罗(Castro)和芭芭拉·利斯科夫(Liskov)在 1999 年提出,解决了原 Carthage 容错算法效率低的问题,增加了算法复杂度从指数到多项式,使得 Carthage 容错算法在实践中具有实用性。在系统应用中似乎是可行的。

PBFT是一种状态机副本复制算法,即将服务建模为状态机,状态机在分布式系统的不同节点上进行复制。每个状态机副本都保存着服务的状态,也实现了服务的操作。

所有副本的集合用大写的R表示,每个副本用0到|R|-1的整数表示。为了描述方便,假设|R|=3f+1,其中f是可能失败的最大副本数。尽管副本数可能少于 3f+1 个,但额外的副本数并不能提高性能以外的可靠性。

5、RAFT,共识共识算法

RAFT算法由三个角色组成:follower、candidate和leader(leader)。集群中的一个节点在某个时间只能处于这三种状态中的一种,而这三种角色可以随着时间和条件的变化而相互转换。

RAFT算法主要有两个过程:一个是leader补选,一个是日志复制。日志复制过程将分为两个阶段:日志记录和数据提交。 RAFT算法支持的最大容错容错节点为(N-1)/2,其中N为集群中的节点总数。

以上是目前主要的区块链共识算法,当然还有其他算法,比如POET: Proof of Elapsed Time、Ripple Consensus等。

每种算法都有其优点,并在特定的环境和时间段内采用。考虑和意义。针对不同的区块链应用场景,合适的算法就是最好的算法。原文链接