本篇文章主要给网友们分享区块链虚拟机的知识,其中更加会对区块链与虚拟币进行更多的解释,如果能碰巧解决你现在面临的问题,记得关注本站!
以太坊虚拟机(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位的字宽。主要从以下两个方面考虑:
时间,智能合约是否能执行得更快
空间,这样是否整体字节码的大小会有所减少
gas成本
时间上主要体现在执行的效率上,我们以两个整型数相加来对比具体的操作时间消耗。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-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。
区块链需要知道的10个重要的名词!很有必要看看
1、智能合约
智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易区块链虚拟机,这些交易可追踪且不可逆转。
2、时间戳
时间戳是指字符串或编码信息用于辨识记录下来的时间日期。国际标准为ISO 8601。
3、图灵完备
图灵完成是指机器执行任何其他可编程计算机能够执行计算的能力。一个例子是Ethereum虚拟机(EVM)。
4、51%攻击
当一个单一个体或者一个组超过一半的计算能力时区块链虚拟机,这个个体或组就可以控制整个分布式网络,如果他们有一些恶意的想法,他们就有可能发出一些冲突的交易来损坏整个网络。
5、Dapp——去中心化应用
是一种开源的应用程序,自动运行,将其数据存储在区块L上,以密码令牌的形式激励,并以显示有价值证明的协议进行操作。
6、DAO——去中心化自治组织
可以认为是在没有任何人为干预的情况下运行的公司,并将一切形式的控制交给一套不可破坏的业务规则。
7、DistributedLedger——分布式账本
数据通过分布式节点网络进行存储。分布式账本不是必须具有自己的通证,它可能会被许可和私有。
8、DistributedNetwork——分布式网络
处理能力和数据分布在节点上而不是拥有集中式数据中心的一种网络。
9、预言机
预言机是一种可信任的实体,它通过签名引入关于外部世界状态的信息,从而允许确定的智能合约对不确定的外部世界作出反应。预言机具有不可篡改、服务稳定、可审计等特点,并具有经济激励机制以保证运行的动力。
10、零知识证明
零知识证明由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出的。它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。
以太坊虚拟机是以太坊开发框架吗
以太坊是一种区块链的实现。在以太坊网络中,众多的节点彼此连接,构成了以太坊网络:
以太坊节点软件提供两个核心功能:数据存储、合约代码执行。
在每个以太坊全节点中,都保存有完整的区块链数据。以太坊不仅将交易数据保存在链上,编译后 的合约代码同样也保存在链上。
以太坊全节点中,同时还提供了一个虚拟机来执行合约代码。
以太坊虚拟机
以太坊区块链不仅存储数据和代码,每个节点中还包含一个虚拟机(EVM:Ethereum Virtual Machine)来执行 合约代码 —— 听起来就像计算机操作系统。
事实上,这一点是以太坊区别于比特币(Bitcoin)的最核心的一点:虚拟机的存在使区块链迈入了2.0 时代,也让区块链第一次成为应用开发者友好的平台。
以上内容来自:以太坊DApp开发入门教程
区块链技术包含的几种基础技术是什么?
区块链1.0时代即是数字货币的时代,技术基础为:
1.
以区块为单位的连庄数据块结构
2.
全网共享账本
3.
非对称加密
4.
源代码开源
区块链2.0时代技术基础:
1.
智能合约;是区块链系统中的应用,是以编码的可自动运行的的业务逻辑,通常有自己代币和专用开发语言;
2.
DAPP:包含用户接卖弄的应用,包括但不限于各种加密货币,如以太坊钱包;
3.
虚拟机:用于执行智能合约编译后的代码,虚拟机是图灵完备的。
随着区块链技术的应用和不断深入,区块链3.0时代已经来临,从各行各业的运转背后都可以看到区块链协作运转的模式,因此区块链必将广泛而深刻的改变人类的生活方式,因此整个生活服务将进入区块链时代。在这个互联网发展过程当中,区块链+实体行业、区块链电商、区块链社群运营都可以运用到区块链技术。
当然3.0伴随着现代密码学发展才产生的,现今应用的密码学是20年前的的密码学成果,因此要将区块链技术应用于更多参与场景,特别是应用于互联网经济等方面,现有的加密技术是否满足需求还需要更多的验证,需要更深入的整合密码学前沿技术,不断创新。
常见区块链虚拟机
本文收集整理并罗列区块链虚拟机了常见区块链区块链虚拟机的虚拟机和合约开发语言区块链虚拟机,不断收集更新中。不足之处请大家留言反馈。
写到这里,本文关于区块链虚拟机和区块链与虚拟币的介绍到此为止了,如果能碰巧解决你现在面临的问题,如果你还想更加了解这方面的信息,记得收藏关注本站。
标签: #区块链虚拟机
评论列表