主页 > imtoken苹果手机怎么下载 > 是比特币中使用的共识算法

是比特币中使用的共识算法

imtoken苹果手机怎么下载 2023-12-17 05:13:58

一、ETC是POW共识算法,什么是POW

POW 是 Proof Of Work 的缩写。 中文翻译是工作证明。 是一种去中心化、公开透明、不可篡改的算法机制。 比特币采用POW共识算法,安全平稳运行10年。 目前,以太坊经典(ETC)也采用了这种算法机制,通过算力挖矿获得奖励。

2、区块链的共识机制是什么? 有什么优点和缺点?

区块链中有很多共识机制。 比特币背后最有影响力的 pow 共识机制之一,具有安全、不可篡改的优势。 全局循环的缺点是速度太慢,每秒只能处理7笔交易。

3. 比特币是如何计算的

要了解比特币的技术原理,首先需要了解两个重要的密码学技术: 哈希码:将一个长字符串转换为定长字符串,转换不可逆,即无法猜出原字符哈希码字符串。 SHA256主要用于比特币协议。

公钥系统:对应一个公钥和一个私钥,私钥保存在应用中,公钥对外公开。 A向B发送信息时,可以使用A的私钥对信息进行加密,B可以使用A的公钥进行解密,保证第三方无法冒充A发送信息; 同时,当A向B传输信息时,使用B的公钥对信息进行解密。 密钥加密后发送给B,B用自己的私钥解密,这样就保证了第三方无法窃听两者的通信。 最常见的公钥系统是RSA,但比特币协议中使用的是椭圆曲线数字签名算法。 它与现金和银行账户有何不同? 比特币是一种电子货币,单位是BTC。 本文中还用于指代整个比特币系统。 就像在银行开户一样,比特币中对应的概念是地址。 每个人都可以拥有 1 个或多个比特币地址,用于支付账单和收款。 每个地址都是一个以1开头的字符串,比如我有两个比特币账户,和. 一个比特币账户由一对公钥和私钥唯一确定。 保存账户只需要保存私钥文件即可。 与银行账户不同的是,银行会保存所有的交易记录,并维护每个账户的账面余额,而比特币交易记录是由整个P2P网络通过事先约定的协议共同维护的。 我的账户地址里有多少钱? 虽然使用比特币软件可以看到当前账户余额,但不像银行,没有地方维护每个地址的账面余额。

它只能通过所有历史交易记录实时计算账户余额。 我如何支付账单? 当我从地址A向对方的地址B付款时,付款金额为e。 此时双方将交易信息公布给各个网络节点,告诉地址A向地址B支付,支付金额为e。 为了防止第三方伪造交易信息,交易信息会使用地址A的私钥进行加密。此时,接收交易信息的网络节点可以使用地址A的公钥来验证交易信息确实是A发送的。当然,交易软件会帮我们做这些事情,我们只需要在软件中输入相关参数即可。 网络节点收到交易信息后会做什么? 这是整个比特币系统中最重要的部分,需要细化。 为了简单起见,这里只使用当前实现的比特币协议。 在当前版本中,每个网络节点都会通过同步的方式保存所有的交易信息。 历史上所有发生过的交易信息分为两类,一类是“已验证”的交易信息,即经过验证的交易信息,存储在一系列“区块”中。 每个“块”的信息是前一个“块”的ID(每个块的ID是该块的HASH码的HASH码)和新增的交易信息(见一个实际的块)。 另一类是指那些还没有经过验证的交易信息,上面刚刚支付的交易信息就属于这一类。 当一个网络节点接收到新的未验证交易信息(可能不止一个)时,由于该节点已经保存了历史上所有的交易信息,因此可以计算出当时每个地址的账面余额,从而判断该交易信息是否有效,即支付账户中是否有足够的余额。

比特币原理与挖矿算法_比特币使用的算法_比特币自动交易算法

它在去除无效交易信息后,首先取出上一个“区块”的ID,然后将这些未验证的交易信息与ID结合,再加上验证码,形成一个新的“区块”。 上面构造一个新区块需要大量的计算工作,因为需要计算验证码,这样上面的组合就成为一个区块,即区块的HASH码的HASH码前几位为1 . 目前需要前13位为1(大概,具体方法不确定),也就是说如果是枚举法生成区块,平均枚举次数为16^13次。 利用CPU资源产生区块称为“淘金”,因为产生区块会得到一定的奖励,奖励信息已经包含在区块中。 当一个网络节点产生一个新的区块时,它会向其他网络节点广播。 但是这个网络块不一定会被网络接受,因为有可能其他网络节点更早出块,只有最先出块或者后面出块最多的块才有效,其余的块不会不再作为下一个区块的初始区块。 对方如何确认支付成功? 支付信息分发到网络节点后,网络节点开始计算交易是否有效(即账户余额是否足够支付),并尝试生成包含交易信息的区块。

当共有 6 个区块(1 个直接区块和 5 个后续区块)包含交易信息时,交易信息被认为“已验证”,这样交易就被正式确认,对方可以确认支付成功。 一个可能的问题是,我把地址A的余额全部支付给了地址B,同时支付给了地址C。 如果只有单笔交易被验证,则它是有效的。 此时,我的作弊方式是在真相大白之前,生成6个只包含B的块发送给B,生成6个只包含C的块发送给C。 由于我生成一个区块需要的CPU时间很长,相对于全网来说,我作弊成功的概率很小。 网络节点产生区块的动机是什么? 从上面的描述可以看出,为了使交易信息生效,网络节点需要生成包含交易信息的1个和5个后续区块,而这样的区块生成是非常耗CPU的。 那么如何让其他网络节点帮助尽快出块呢? 答案很简单。 协议规定,出块地址将获得BTC奖励,以及双方承诺的交易手续费。 目前出块奖励为50 BTC,未来每四年减半。 例如,2013 年至 2016 年的奖励为 25 BTC。 交易是匿名的吗? 是和不是。 所有的BITCOIN交易都是可见的,我们可以查看每个账户的所有交易记录,比如我的。

但与银行货币系统不同的是,每个人的账户本身都是匿名的,每个人可以开设多个账户。 一般来说,所谓的匿名性并不像声称的那样好。 但是比特币还有一个好处,就是用于黑市交易,不能冻结。 即使警方追查到一个比特币地址,他们也无能为力,除非他们将网络地址追查到用于交易的计算机。 如何保证比特币不贬值? 一般来说,在交易活动相等的情况下,货币价值与货币流通量成反比。 与中央银行可以决定货币发行量的传统货币市场不同,比特币没有中央发行机构。 只有生产区块才能获得一定数量的 BTC 货币。 因此,比特币货币的新增增量由: 1、出块速度:比特币协议规定出块难度平均每两周固定为2016年,10分钟左右出块。 CPU 速度每 18 个月翻一番的摩尔定律不会加快出块速度。 2、出块奖励数量:目前每出块奖励50BTC,每四年减半。 2013年的奖励是25 BTC,2017年是12.5 BTC。结合以上两个因素,比特币货币发行的速度不受网络节点中任何一个节点的控制。 其协议提前知晓币种存量,最大存量仅为2100万个BTC

4. 如何证明我挖的是比特币而不是其他的?

我们知道信息计算和Hash打包的过程:交易记录,时间,账本序号,最后的Hash值。 也知道所有的计算和存储都需要消耗计算机资源。 在中本聪的设计中,系统完成记账后可以获得比特币作为奖励。 这个过程也是发行比特币的过程,所以记账就叫挖矿。

簿记

比特币使用的算法_比特币原理与挖矿算法_比特币自动交易算法

因为记账是有奖励的,每次记账都可以给自己加一定数量的比特币,所以大家争相记账,这当然会出现问题:记账不一致后,系统引入工作量证明来解决这个问题,规则如下:

1、一段时间内,只有一个人可以成功记账。

2.通过解决密码学问题,竞争获得唯一的记账权

3.其他节点复制记账结果

但是,在工作量证明之前,记账节点会做以下准备工作:

1. 收集广播中未记录在账本中的原始交易信息

比特币自动交易算法_比特币原理与挖矿算法_比特币使用的算法

2.检查每笔交易信息中的支付地址是否有足够的余额

3.验证交易是否有正确的签名

4. 将验证后的交易信息打包记录

5.添加奖励交易:添加12.5个比特币到自己的地址

如果记账权竞争成功,可以获得12.5个比特币的奖励。

工作证明

比特币原理与挖矿算法_比特币自动交易算法_比特币使用的算法

每次记账时,都会以上一个区块的Hash值和当前账户页面信息作为Hash的原始信息。 为了保证10分钟后只有一个人记账,唯一增加记账难度的方法就是使用Hash。 结果必须以几个0开头。 Hash为了满足条件,就是引入了一个随机数变量。

用伪代码表示:

1、Hash(最后的Hash值,交易记录集)=456635BCD

2.Hash(最后一个Hash值,交易记录集,随机数)=0000aFD635BCD

改变Hash的部分原始信息,Hash值也会不断变化,所以在运行Hash时,不断改变随机数的值,总能找到一个随机数,使得Hash的结果以几个0开头,并且第一个找到随机数的节点从此获得唯一的记账权进行记账。

核实

比特币原理与挖矿算法_比特币使用的算法_比特币自动交易算法

节点成功找到哈希值后,会立即将打包好的区块广播给全网,全网节点收到广播后进行验证。 如果验证通过,则表示节点解密成功,不再竞争当前区块,而是选择接受该区块,记录在自己的账本中,进行下一轮竞猜。 只有网络中解密最快的区块才会被添加到账本中,其他节点会复制它来保证整个账本的唯一性。

如果节点作弊,会导致网络的节点验证失败,直接放弃其打包的区块,无法记录在总账中,作弊节点的消耗成本就白白浪费了。 因此,矿工自觉遵守比特币系统的共识协议,保证整个系统的安全。

这个问题就像你去工地搬砖一样。 搬了一天砖,包工头问你,你怎么证明你整天都在工地搬砖?

5. 比特币算法原理

比特币主要有两种算法,椭圆曲线数字签名算法和 SHA256 哈希算法。

椭圆曲线数字签名算法主要用于比特币公钥和私钥的生成过程。 该算法是比特币系统的基石。 SHA-256哈希算法主要用于比特币的工作量证明机制。

比特币的原理是通过复杂的算法产生特殊的解,而挖矿就是寻找特殊解的过程。 但是,比特币的总量只有2100万枚,而且随着比特币的不断开采比特币使用的算法,未来比特币的生成难度会越来越大,获得比特币的成本可能会高于比特币本身的价格。

比特币区块由区块头和区块中包含的交易列表组成。 区块头大小为80字节,由4字节的版本号、32字节的上一个区块的哈希值、32字节的哈希值组成。 Merkle Root Hash 字节比特币使用的算法,时间戳(当前时间)4字节,当前难度值4字节,随机数4字节。 固定长度为 80 字节的块头是比特币工作量证明的输入字符串。 不断改变区块头中的随机数,即nonce的值,对每一个改变的区块头进行两次SHA256运算,将结果值与当前网络的目标值进行比较,如果小于目标值值,解决问题成功,工作量证明完成。

比特币的本质其实就是一堆复杂算法生成的一组方程的特解(解是唯一的)。 比特币是世界上第一种分布式虚拟货币。 它没有特定的发行中心。 比特币网络由所有用户组成,因为没有中心的存在无法保证数据安全。