以太坊

osc_y8ifc29r 2022-04-05 11:50:13 阅读数:808

java openssl 区块链 ledger

以太坊基础

图灵完备的基础:以太坊虚拟机EVM,类似于JVM

基本概念:

节点:进行区块链读写
矿工:通过hash运算产生工作量的网络节点
挖矿:发行以太币的途径
账户:可以发送交易
外部账户:公私钥对控制,地址由公钥决定
合约账户:部署合约时确定,存储了代码,在收到合法交易后会执行合约代码
Gas:限制执行交易所需的工作量,为执行交易支付费用
EVM:智能合约的运行环境,是一个沙盒,不能进行网络、文件或者执行其他进程
智能合约:代码和数据的集合,存于以太坊区块链的指定地址
交易:交易是通过状态转移来标记的,状态由被称为账户的对象和两个账户之间的转移价值和信息状态转换构成
外部账户和合约账户在以太坊下用同一数据结构表示,如下图所示。其包含Balance、Nonce、CodeHash 和StorageRoot 四个属性,Balance是账户中的以太币余额;Nonce 是对账户发送过的交易的计数,用于防范重放攻击;当账户被应用于智能合约时,CodeHash 为合约代码的哈希值,StorageRoot 是合约状态数据的Merkle Patricia 树根。









以太坊的交易包含To、Value、Nonce、gasPrice、gasLimit、Data 及Signature交易签名七个属性。To 是接收者的账户地址,Value 是转账的以太币金额,Nonce是发送者对本次交易的计数,gasPrice 是交易时Gas的以太币单价,gasLimit 是执行该交易所允许消耗的最大Gas 数额,Data 是调用智能合约时的消息数据,交易签名是发送者对交易的ECDSA 签名。

以太坊核心原理:

共识机制
EVM
编译合约模块:对底层Solc编译器进行封装,提供RPC接口给外部服务,编译智能合约
ledger模块:对账户系统更新和修改
EVM执行模块:解析和执行合约代码
数据存储:Merkle Patricia tree
加密算法:hash算法SHA256,ECC进行数字签名
以太坊现存问题:






共识效率低下
隐私保护缺乏
大规模存储困难
信息难以监管


版权声明:本文为[osc_y8ifc29r]所创,转载请带上原文链接,感谢。 https://my.oschina.net/u/4313107/blog/4922772