导航:首页 > 源码编译 > 以太坊evm源码分析

以太坊evm源码分析

发布时间:2024-12-19 00:04:00

⑴ 以太坊虚拟机(EVM)是什么

以太坊是一个可编程的区块链。与比特币不同,以太坊并没有给用户提供一组预定义的操作(比如比特币交易),而是允许用户创建他们自己的操作,这些操作可以任意复杂。这样,以太坊成为了多种不同类型去中心化区块链的平台,包括但是不限于密码学货币。

EVM为以太坊虚拟机。以太坊底层通过EVM模块支持智能合约的执行和调用,调用时根据合约的地址获取到代码,生成具体的执行环境,然后将代码载入到EVM虚拟机中运行。通常目前开发智能合约的高级语言为Solidity,在利用solidity实现智能合约逻辑后,通过编译器编译成元数据(字节码)最后发布到以坊上。

EVM架构概述

EVM本质上是一个堆栈机器,它最直接的的功能是执行智能合约,根据官方给出的设计原理,EVM的主要的设计目标为如下几点:

针对以上几点通过对EVM源代码的阅读来了解其具体的设计思想和工程实用性。

EVM存储系统机器位宽

EVM机器位宽为256位,即32个字节,256位机器字宽不同于我们经常见到主流的64位的机器字宽,这就标明EVM设计上将考虑一套自己的关于操作,数据,逻辑控制的指令编码。目前主流的处理器原生的支持的计算数据类型有:8bits整数,16bits整数,32bits整数,64bits整数。一般情况下宽字节的计算将更加的快一些,因为它可能包含更多的指令被一次性加载到pc寄存器中,同时伴有内存访问次数的减少。目前在X86的架构中8bits的计算并不是完全的支持(除法和乘法),但基本的数学运算大概在几个时钟周期内就能完成,也就是说主流的字节宽度基本上处理器能够原生的支持,那为什么EVM要采用256位的字宽。主要从以下两个方面考虑:

时间上主要体现在执行的效率上,我们以两个整型数相加来对比具体的操作时间消耗。32bits相加的X86


的汇编代码

mov eax, dword [9876ABCD] //将地址9876ABCD中的32位数据放入eax数据寄存器

add eax, dword [1234DCBA] //将1234DCBA地址指向32位数和eax相加,结果保存在eax中

64bits相加的X86汇编代码

mov rax, qword [123456789ABCDEF1] //将地址指向的64位数据放入64位寄存器

add rax, qword [1020304050607080] //计算相加的结果并将结果放入到64位寄存器中

链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

⑵ 详解 EVM 生态多签钱包 Gnosis Safe 产品特性

Gnosis Safe,一款在以太坊生态上广受欢迎的链上多签钱包解决方案,由Gnosis在2018年推出。凭借其自托管解决方案,Safe已成为当今最受信赖的数字资产管理平台,处理超过60万笔交易,保护价值超过400亿美元的数字资产,包括13%的所有Cryptopunks。自成立以来,Safe为超过90%的Dapp、DAO以及机构提供了服务,2022年承载的资产价值高达760亿美元,超越了同期最大的中心化托管商Coinbase。

Safe的多签管理、Spending limit等功能,不仅提供了基本的安全保障,还通过集成Zerion等应用,提升了用户体验的便捷性和可组合性。通过“Add custom ap”按钮,用户可以扩展使用范围,甚至通过Wallet Connect来访问更多应用。尽管Safe已经在多签钱包领域取得了显着成就,但仍有建议指出,Safe团队应更深入地探索智能合约账户的潜力,将其作为账户的内核,以实现账户的可编程化。

智能合约账户,或称Programmable account,是将账户编程为用户所需的形式或赋予特定特征的系统,本质上是基于以太坊底层账户体系上的智能合约。当前以太坊支持两种类型的账户,而智能合约账户则允许用户实现更多Web2级别的账户体验。由于EOA(以太坊普通账户)在支持用户需求方面存在局限性,智能合约账户成为了解决方案之一。

智能合约账户能够实现的特异功能包括但不限于资金管理、自动化执行、数据存储等。这些功能通过智能合约的灵活性和图灵完备性得以实现,为用户提供更高级别的安全性、透明性和个性化体验。此外,通过Web3 OS的演变,智能合约账户被认为是可能演化出Web3操作系统的路径。

Gnosis Safe在Web3 OS的衍化中已经做了大量准备,包括定义智能合约的核心开发框架,并提供与之配套的指引和扩展形式。作为多签账户应用的Safe,已经开始作为一个中间件对外输出能力,通过生态伙伴的影响力和Safe作为多签账户的资产规模,为Web3操作系统的未来铺路。基于Gnosis Safe开源框架搭建的项目,如金融相关业务和访问管理的创新,为用户提供更多选择和便利。

阅读全文

与以太坊evm源码分析相关的资料

热点内容
安卓手机如何快捷打开健康码 浏览:1
b站程序员公开代码 浏览:68
创建卷组使用命令 浏览:612
电脑如何从服务器上安装系统 浏览:527
remix解压曲 浏览:59
程序员做海鲜超市 浏览:895
有云服务器后现场还需要服务器吗 浏览:551
外汇分析pdf 浏览:899
javasqlserver查询 浏览:977
密信id服务器时什么 浏览:588
图书借阅app哪个好用 浏览:858
办进京证app叫什么 浏览:775
外国加密货币与中国数字货币 浏览:651
java数字转化成字符串 浏览:161
不用解压就可以更改内容的软件 浏览:827
android解析pdf下载 浏览:889
linux设置时间片 浏览:104
如何刷新发布服务器 浏览:819
app设计是什么专业 浏览:646
羊小样app通过初审是什么意思 浏览:766