比特币、以太坊“账户”存在什么异同

admin 2024-02-04 43次阅读

比特币和以太坊是加密世界用户量最大的两个加密货币,今天给大家介绍下比特币和以太坊账户体系的不同点。

BTC不使用账户

区块链比特币以太坊

BTC使用UTXO,ETH使用账户余额值。

比特币钱包和以太坊钱包

UTXO( ):指未花费的交易输出。它是比特币交易生成和交易验证的一个核心概念。

每笔比特币交易都有输入和输出,别人付给你的钱是“交易输入”,你收到的钱是“交易输出”。未花费的输出——即UTXO。

所以,比特币网络中,并没有账户的概念,没有比特币余额的说法,只有遍布全网区块链的UTXO。

UTXO的主要目的就是,记录和跟踪交易的输入和输出。

ETH选择了账户

ETH使用图灵完备语言,提供智能合约,能运行DAPP,为了运行DAPP,ETH放弃了UTXO,选择了账户。

账户能节省大量的空间以太坊和比特币区块链钱包,每笔交易只有一个输入、一个输出、和一个签名。

账户有更大的可替代性、编码简单,以及轻客户端。

账户有什么用?

V神说:区块链就是一台任何人都可以上传程序,并且程序能够自动执行的神奇电脑。每个程序的当前状态和过去状态都是公共可见的。

在以太坊系统中,状态是由被称为“账户”的对象和在两个账户之间转移价值和信息的状态转换构成的。

简单说,所有账户的状态,就是以太坊网络的状态。以太坊网络和每个区块一起更新,达成共识。账户在以太坊中发挥着中心作用。

什么是账户?

每个以太坊的账户,都由一对 公钥和私钥构成。

账户使用公钥对交易进行加密,所以EVM(以太坊虚拟机)能确保交易发起者安全有效。账户的地址,是通过公钥末尾的20字节生成的。

账户以地址作为索引,每一个私钥/地址对都被编码为加密文件。

这一点和BTC一样:转账时,公钥就像收款人账号。地址就像收款人姓名。而私钥就像签名。

和BTC不同的是,以ETH账户里存储的,不再是UTXO(找零)。

ETH账户存储如下四个部分:

随机数,用于确定每笔交易只能被处理一次的计数器

账户目前的ETH余额

账户的合约代码,如果有的话

账户的存储(默认为空)

ETH账户分类

ETH账户分为两种:

外部账户(由私钥控制)

合约账户(由合约代码控制)

外部账户,包含余额状态,不包含代码,只能用于转移ETH等ERC20代币。

合约账户,不仅包含余额状态,还包含代码。当收到消息后,智能合约的内部的代码就会被激活,可以对账户内部的存储进行读写,可以进行发送其它消息等操作。

账户和钱包的关系

钱包的功能是管理:接收,存储和转出ETH。

一个钱包,可以存放多个账户。

打个比方:钱包好像支付宝账号。(只是打个比方,支付宝是中心化的,想象成去中心化的支付宝吧)imToken下载,ETH账户就像银行卡。

一个支付宝账号可以绑定多张银行卡。(一个钱包可以存放多个ETH账户)

同时,ETH账户这张银行卡,是多币银行卡,可以存 美元、人民币、欧元等等。

ETH账户,可以存放多个符合ERC20协议的代币,可以存ETH、KIN、等等等等。

哈哈哈,ETH,钱包,账户,不再傻傻分不清楚啦!