【问链财经-区块链基础知识系列】 第三十八课 以太坊智能合约账户全解析
以太坊是有账户的,每个用户都可以开设账户,账户余额是我们拥有的以太币或其他基于 ERC20 标准的通证。账户的设计使得以太坊与比特币不同,根据之前的讨论我们知道,比特币只有钱包地址和未使用的交易输出。
以太坊的两种账户:外部账户和合约账户
以太坊有两种账户,如下图所示:
外部账户(externally owned accounts),里面只有当前的以太坊钱数,由我们手中的私钥控制,可以发起转账交易。
合约账户(contract accounts),不仅有以太坊钱数,还有程序代码,代码的执行是由交易触发的,每当收到相应的消息,这些代码就会被执行,这个智能账户就是智能合约的载体,由智能合约的代码控制。
图1:以太坊的两种账户
以太坊的账户包括四个字段:一个随机数、账户的余额、合约代码(如果有的话)、存储(通常为空)。
只有合约账户才有代码,其中存储的是 codeHash(这个账户的以太坊虚拟机代码的哈希值)。这个字段在生成后是不可修改的,这意味着智能合约代码是不可修改的。
外部账户可以触发交易,而合约账户不能主动发起交易,只能在被触发后按预先编写的智能合约代码执行。
合约账户可以设置多重签名(multisign),比如一个简单示例是:现有一个合约账户,它要求一个转账由发起转账的人(Alice)和另一个人(Charles)签名均可。因此,当 Alice 通过这个合约向 Bob 转账 20 个 ETH 时,合约会通知 Charles 签名,在他签名后,Bob 才可以收到这 20 个 ETH(见图2)。
以太坊合约账户的多重签名
图2:以太坊合约账户的多重签名
以太坊的交易和它的区块中存的是什么
和比特币一样,以太坊的区块中存储的也是交易(transaction),它包括的字段主要有:接受者(接受的账户)、发送者的签名、发送者发给接受者的以太币金额等。
与比特币的区块中存储的是交易不同,以太坊的区块中以梅克尔帕特里夏树(Merkle Patricia Tree,MPT)形式存储的是相应的以太坊账户的状态。
以太坊的交易是所谓的状态转换函数,一个交易触发它的执行,它将相应的账户从一个状态转变成新状态,然后新状态被存储在区块链的数据区块中
【问链财经-区块链基础知识系列】 第三十八课 以太坊智能合约账户全解析相关推荐
- 【问链财经-区块链基础知识系列】 第十八课 区块链应用于贷款结算
编者按:在金融业务中,企业或个人向金融机构进行借贷,产生贷款业务,贷款结算是当贷款所有本金.利息和费用都收回后,贷款即告结清.贷款结清是信贷资金的风险已不存在,贷款安全回收,并为银行带来了收益.那结合 ...
- 【问链财经-区块链基础知识系列】 第二十八课 区块链如何助力万亿规模的供应链金融蛋糕
编者按:我国经济已由高速增长阶段转向高质量发展阶段.赊销项下的账期占压给实体经济的发展带了很大的束缚,国家近两年来多次发文鼓励和推动应收账款融资的发展.但传统应收类供应链金融模式,如保理.应收账款质押 ...
- 【问链财经-区块链基础知识系列】 第二十二课 贸易金融区块链平台的技术机理与现实意义
简介:贸易金融区块链平台的技术机理.模式.优势与现实意义都有哪些?对湾区贸易金融区块链平台的未来建设有何展望?本文将进行详述. 小微企业贡献了我国60%以上的GDP.50%以上的税收以及80%的城镇就 ...
- 【问链财经-区块链基础知识系列】 第十九课 区块链应用于电子存证
编者按:在传统的具有法律效益的存证需要第三方权威公证处进行公证,并且需要绑定时间戳和相关信息,步骤繁琐,进度比较慢,后来存证电子化后一定程度上提高了效率.节省了成本,但也会有一些其他的问题,比如第三方 ...
- 【问链财经-区块链基础知识系列】 第三十九课 EOS与ETH体系结构比较全解析
以太坊理解成为一个在其上可以开发运作各种去中心化的应用(Dapps)的去中心化平台,同时它有一个优势在于,它确保了它的用户在运行这些应用程序(Dapps)时不受任何第三方的约束. EOS将是一个区块链 ...
- 【问链财经-区块链基础知识系列】 第二十六课 隐私保护方法:多方安全计算和区块链
编者按:私密计算是解决区块链无法保护隐私的问题.因为区块链上的数据天然是全公开的,任何人都可以查看.假如一个人知道了你的钱包地址,就可以看到你的余额.你所有的转账记录.设想一下买保险的场景,买保险需要 ...
- 【问链财经-区块链基础知识系列】 第二十九课 区块链的世界:中国向左 美国向右
世界有两大互联网生态,一个是美国构筑的,当中的互联网公司有苹果.谷歌.亚马逊.脸书.雅虎等:另一个是中国构筑的,当中互联网公司有阿里.腾讯.百度.京东.今日头条等.这两大生态占据了全球互联网十强. 其 ...
- 【问链财经-区块链基础知识系列】 第二十四课 摩根币来了,Ripple们该怎么办?
编者按:2019 年 2 月 14 日,美国最大的商业银行摩根大通宣布发行加密货币 JPMCoin,主要用来实现跨银行和跨境即时支付,消息一经发布,一时激起千层浪,各种银行业纷纷磨拳擦掌,跃跃欲试,而 ...
- 【问链-区块链基础知识系列】 第十五课 数字货币交易所的前世、今生和未来(二)
编者按:在上一篇文章中,我们介绍了数字货币交易平台的概念,那么今天我们就来重点聊聊数字货币交易平台的技术.如果你有过设计或实现传统金融交易系统的经验,那么你阅读本篇就会更加容易. 由于中心化交易所是主 ...
最新文章
- 输入法按照选字频率排序的C语言程序算法,算法与数据结构之选择排序(C语言)...
- ASP.NET Core 网站在Docker中运行
- 企业如何建设BI商业智能系统
- 第10 章继承映射(InheritanceMappings)
- Sqlmap使用教程--Sqlmap安装
- Xutils-Android中数据存储和网络传输的框架
- 统计fasta序列条数
- 网络API接口的使用
- 《智慧工地单点解析系列(四)—— 安全管理》
- 有备而来! 解密DEVELOP德凡为何进入中国市场?
- blender 长度单位设置
- Project build error: Non-resolvable parent POM
- 推荐几个免费好用的毕业论文(设计)文献查找网站包括外文文献(亲测有用)
- waylandweston
- 房企买房送车位的涉税风险
- C++八股文分享---数据结构其二---哈希表
- allure测试报告怎么清除历史记录的数据,只展示当前运行结果内容
- oracle常用的约束条件类型,oracle数据库的5种约束类型
- flume 多chanel配置
- 谁在抢占「低代码」高地?