我已经对比特币有初步了解了。对以太坊的pow机制,以太币账户如何通过Modified Merkle Patricia tree进行更新也有所了解。但是对于智能合约究竟如何运行在以太坊上的基本原理还不太了解。比如下面这幅图: 1、是否以太坊上的所有节点都有EVM? 2、一个人编写好的智能合约代码是否要用私钥签名然后发送给所有节点?在取得共识后打包进以太坊区块? 3、当智能合约被调用开始运行后是“仅仅运行在某一个节点的服务器上”? 还是所有节点的服务器都要同步运行? 4、假设智能合约的运行结果如果是一次以太币转账。那么如何完成转账的私钥签名并发送到全网的? 5、智能合约是“代码既合约”。那么图中右下角那个普通用户如何保证他在前端看到的文字版的合约条款与后台运行的智能合约是完全相符的?(你不能要求所有前台用户都会读智能合约的代码吧) 6、如果有大量智能合约占用节点的内存(假设运算次数少但常驻内存,因此不会消耗多少gas)那么节点的内存会不会不够用?
目前我的疑问诸如此类。之所以没有找到答案是因为:目前我找到的书籍或视频资料。要么是泛泛而谈“智能合约运行在以太坊的区块链上”,要么就直接开始讲代码编写。基本没有涉及到智能合约详细“运行原理”的讲解。不知道各位老师 有没有这方面的学习资料推荐?