goland服务器注册地址 http://idea.youbbs.org
Merkle树是为了简化支付验证;轻量级节点不用下载每一笔交易以及每一个区块,可以仅下载链的区块头,每个区块中仅包含下述5项内容,数据块大小为80字节:(区块链)
1.上一区块头的哈希值
2.时间戳
3.挖矿难度值
4.工作量证明随机数(nonce)
5.包含该区块交易的Merkle树的根哈希
以太坊的每一个区块头中包含3棵Merkle树:
1.交易(Transactions)
2.收据(Receipts,基本上,它是展示每一笔交易影响的数据条)
3.状态(State)
以太坊账户:
1.外部账户(EOA),即用户账户,由私钥控制;
2.合约账户(Constract),合约是一种特殊的可编程账户,合约存在以太坊区块链上,它是代码(它的功能)和数据(它的状态)的集合;合约受代码控制,并由外部所有账户激活;
账户就是所有状态的对象;
外部所有账户的状态就是余额,而合约账户的状态可以是余额、代码执行情况以及合约的存储;
区块链的EOA账户由他们的地址来做索引,取公钥的后20位作为地址;
区块链的区块报文头中存放有3个根哈希值:
1.交易的Merkle根哈希值;
2.状态的根哈希值;
3.收据的根哈希值;