主页 > imtoken钱包 官方网站 > 比特币和以太坊基础知识介绍

比特币和以太坊基础知识介绍

imtoken钱包 官方网站 2023-03-28 06:07:47

比特币

比特币是中本聪提出的一种数字货币。

比特币不依赖任何货币机构。 它是一种去中心化的记账机制。 所有节点共同维护一个账本,用户的比特币信息通过这个账本计算。

战俘

比特币使用 POW(工作量证明)作为共识机制。

POW,即工作量证明,为了给区块链增加一个新的区块,矿工必须不断地改变前一个区块中的nonce值,直到前一个区块的哈希值满足前一个比特位全为0。

最先找到nonce值的矿工将有资格创建一个新的区块,然后比特币系统会奖励矿工一定数量的BTC,即挖出的比特币。

P2P网络

所有比特币用户的点对点、去中心化网络。

以太坊交易量超比特币创史_比特币与以太坊的区别_比特币以太坊eos区别

地址

比特币地址是由公钥的哈希值生成的,人们通常为每笔比特币交易创建不同的地址以确保匿名性。

钱包

使用比特币的客户端称为钱包,可以通过钱包生成密钥对(公钥和私钥)。 公钥用于生成地址,接受比特币,私钥用于创建交易时签名。

区块链

比特币区块链是保存所有比特币交易的公共账本。

每个区块中记录了若干笔交易,整个比特币区块链记录了迄今为止所有地址的所有交易。

因此,对于任何一个地址,每个人都可以计算出自己目前拥有的比特币数量,从而验证该地址是否有能力支付相应的比特币。

比特币与以太坊的区别_比特币以太坊eos区别_以太坊交易量超比特币创史

每个区块的第一笔交易是“系统支付给矿工一些 BTC”。

在传统观念中,区块链的数据应该存储在各个节点上,但由于个人电脑的存储能力有限,区块链上的数据存储在一些有能力和愿意的节点上,每个节点都保存完整的数据。

全节点:保存整个区块链数据的节点,可以参与挖矿,寻找最长链和判断分叉,全节点永远在线。

轻节点:利用Merkle Tree的特性,轻节点只需要保存与自己相关的Block Header和交易明细。 轻节点不会一直在线,它只能检测哪条链是最长的,轻节点无法验证大部分交易的合法性,也无法验证区块链网络中新发布区块的正确性。

贸易

假设爱丽丝付给鲍勃 1BTC

Bob 创建密钥对(公钥 B 和私钥 b) Bob 根据公钥 B 生成地址 B 并发送给 Alice Alice 创建密钥对(公钥 A 和私钥 a) Alice 根据公钥生成地址 AA A Alice 创建一个交易:“从地址 A 发送 1BTC 到地址 B”,并使用私钥 a 对交易进行数字签名 Alice 将交易发送到 P2P 网络 不久之后,交易与其他交易并加入区块 加入链上的区块被P2P网络确认后,交易成立

比特币使用的数字签名算法是ECDSA,椭圆曲线是secp256k1。

状态

比特币系统的“状态”指的是所有已开采的未花费比特币的集合,即未花费交易输出(UTXO)。

每个 UTXO 都有其面值和所有者,UTXO 是不可分割的。

例如,Alice:50 美元是由许多不同面额的 UTXO 组成的。

一个 UTXO 只能用于一次交易。 如果矿工发现UTXO之前已经支付给他人,就会出现双花问题,交易无法通过矿工的验证。

UTXO的最小面值是1聪,\(1聪=1*10^{-8}BTC=0.00000001BTC\)。

UTXO 的面值不固定,交易后会产生新的 UTXO。

例如,Alice 有一个面值为 25BTC 的 UTXO,需要支付给 Bob 11.7BTC。 创建交易后,Alice支付了一个面值为25BTC的UTXO,Bob收到了一个面值为11.7BTC的UTXO,Alice收到了一个面值为13.3BTC的UTXO(找零钱)。

比特币以太坊eos区别_以太坊交易量超比特币创史_比特币与以太坊的区别

侧链

侧链协议允许资产在比特币区块链和其他区块链之间转移。

也就是说,比特币区块链作为主链,其他区块链作为侧链。 两者在两个方向上联动,实现比特币从主链转移到侧链流通。

侧链可以是一个独立的区块链比特币与以太坊的区别,有自己定制的账本、共识机制、交易类型、脚本和合约支持等。当比特币在侧链上流通时,主链上对应的比特币将被锁定,直到比特币从侧链返回。侧链到主链。

为什么以太数量有限

BTC总量为2100万枚。 首先,比特币系统大约每10分钟会维护一个新区块,四年大约会产生21万个区块。 并且每个区块的奖励每四年减半,从2008年每个区块50BTC开始,即50、25、12.5、6.25、3.125……这些数字加起来,你会发现无限接近100 .

然后

21万*50+21万*25+21万*12.5+...

=210,000*(50+25+12.5+6.25...)

=210,000*100

=2100万

比特币系统通过调整 POW 中所需的 0 位数来保持恒定速率。

以太坊

以太坊有一个图灵完备的以太坊虚拟机,任何人都可以创建合约和去中心化应用程序。

智能合约

以计算机程序的形式签订和运行各种合同。

智能合约是运行在以太坊虚拟机中的应用程序,可以接受外部交易请求和事件,触发并运行预先编写的代码逻辑,进一步产生新的交易和事件,进一步调用其他智能合约。

智能合约是合约账户中的代码。 每当合约账户收到消息时,合约内部的代码就会被激活。

帐户

以太坊使用账户来记录系统的状态(比特币使用 UTXO)。 每个账户存储余额信息、智能合约代码和内部数据存储等。以太坊通过在不同账户之间传输数据来实现更复杂的逻辑。

有两种类型的以太坊账户:

合约账户:存放要执行的智能合约代码,只能被外部账户调用激活。 外部账户:以太坊所有者的账户,对应一个公钥。 账户包括nonce、balance、StorageRoot、codeHash等字段,由个人控制。

当合约被调用时,其中存储的智能合约会在矿机处的虚拟机中自动执行,并会消耗一定的燃料。 燃料(天然气)是在外部账户中使用以太坊购买的。

贸易

以太坊的交易是指一个账户到另一个账户的交易数据。 交易数据可以是以太币或合约执行参数。

以太坊使用交易作为合约执行操作的最小单位。

交易字段包括:

to:目标账户地址
value:转移的以太币数量
nonce:交易相关的字串
gasprice:燃料单价(即1Gas是多少以太币)
gaslimit:交易消耗的最大Gas值
signature:签名信息

燃气)

用于控制某笔交易执行顺序的上限,防止各种无用的计算浪费。 每次执行合约指令都会消耗一定的燃料。 (以太坊可以比作一台机器,机器需要燃料才能运转)

以太坊使用 gas 作为交易费用,支付给矿工。 (在比特币中,BTC直接作为转账手续费支付)

当交易尚未执行且燃料耗尽时,合约执行将终止,状态将回滚,但已支付的交易费用无法收回。 如果交易终止时还有剩余的gas,剩余的gas将退还给发送方。

在以太坊中,每条操作指令都有明确规定的Gas消耗量。 交易消耗的Gas是所有操作指令消耗的Gas之和。 当交易完成后,虚拟机会反馈消耗的Gas总量,称为gasused。 要支付的费用是gasused*gasprice。

图片

一般来说,燃料单价越高,越容易被矿工打包成块。 如果燃油单价定得低,可能需要很长时间才能装好。

信息

一个合约有能力向其他合约发送消息。 这里的“消息”是一个虚拟对象,不仅不会被序列化,而且只会存在于以太坊的执行环境中。 消息类似于交易,但消息是由合约生成的。

例如,正在执行代码的合约将在执行 CALL 语句时生成并执行一条消息。 合约通过消息进行交互。

短信内容包括:

以太坊虚拟机

以太坊虚拟机是智能合约的运行环境。

同一个智能合约往往需要在多个以太坊虚拟机(多个节点)中同时运行多个副本,以保证整个区块链数据的一致性和高容错性。

以太坊

以太币是以太坊网络中的货币。 以太坊主要用于购买 Gas 支付给矿工。 以太币可以通过挖矿获得比特币与以太坊的区别,也可以通过他人转让或直接在交易市场购买。

以太币的最小单位是wei,\(1 ether(以太币) = 10^{18} wei\)

矿业

目前以太坊的共识机制与比特币相同,仍然是POW,但以太坊使用的工作量证明算法是Ethash(比特币使用的是SHA256)。

Ethash在执行的时候需要消耗大量的内存,这就意味着很难做出专门针对Ethash的芯片(比特币目前有ASIC作为专业的挖矿芯片)。

以太坊计划将 POW 改为 POS(权益证明),届时将不再需要矿工。

目前以太坊的出块速度在10秒以上,以太坊的总量是无限的,属于通货膨胀模型。