Qtum研究院:区块链虚拟机——可编程商业经济技术基石

本文主要是介绍Qtum研究院:区块链虚拟机——可编程商业经济技术基石,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

 

2019年作为比特币发展十周年,随着区块链知识和技术不断普及,区块链技术在不断寻找着超乎金融领域之外的更多商业探索,其中区块链的基础设施作为可编程商业经济的基石,在不断探索中前进。

 

区块链技术领域基础设施——虚拟机,是实现智能合约系统最为关键和核心的技术。智能合约不仅是业务逻辑的载体,同时又扎扎实实地落在了技术实现的层面。由此可见,虚拟机是区块链技术落地的基石,在如今技术快速发展乃至未来,区块链技术都将离不开虚拟机的重要支撑。Qtum 量子链正是认识到区块链虚拟机的重要性和未来的趋势,早在2016年《Qtum 量子链技术白皮书 v0.7》第三章完整阐述了新一代主流语言编程的Qtum-x86虚拟机,作为支持未来区块链商业经济实际落地的基础设施。

 

到底什么是虚拟机?普通的虚拟机和区块链虚拟机的差别是什么?以及为什么智能合约需要区块链虚拟机? Qtum-x86 虚拟机具有哪些独特的优势?

 

什么是虚拟机

 

想彻底理解虚拟机,首先应该理解“虚拟化”这个抽象化的词,也就进一步会理解普通虚拟机和区块链虚拟机之间的区别。维基百科对其定义:“在计算领域,虚拟化是一个宽泛的术语,指的是对计算机资源的抽象。虚拟化对其用户,不管是应用程序还是终端用户,隐去了计算资源的物理特性。这包括使一个单一的物理资源(比如一个服务器,一个操作系统,一个应用,或是一个存储设备)表现为多个虚拟资源运行;也包括多个物理资源(比如存储设备或多台服务器)表现为一个单一的虚拟资源...”

 

再精炼一些来说就是:

  • 由一个物理资源创建多个虚拟化资源

  • 由一个或多个物理资源创建一个虚拟化资源

 

日常中网络、存储、硬件都会频繁用于表达某些特定概念。在这一领域的早期成果有 Christopher Strachey 的论文“大型高速计算机的时分系统”。IBM 对虚拟化的探索始于其 CP-40 and M44/44X 研究系统。作为回报,这又促成了其商业产品 CP-67/CMS 。虚拟机的概念使用户隔离开,并为每个用户单独模拟出一套的完整的系统。IBM 模型的一个主要特征就是通过分割计算机资源和完全隔离程序来使程序共享同样的硬件。 大型计算机在当时的资源非常稀缺因此多为共用,因此把虚拟机计算时间切割成许多共享用户的私人计算时间。

 

服务端虚拟化

 

服务端虚拟化顾名思义为服务器“虚拟化”,以 VMware,Microsoft,以及 Citrix 等公司为代表。运用服务器虚拟技术,一个物理的机器可以被分成多个虚拟的机器。在这种虚拟化技术的背后,其核心是 hypervisor(虚拟机监视器)的概念。Hypervisor  虽是很小的一层,它可以拦截操作系统对硬件的调用。

 

并且凭借着这一层的 hypervisor 可以做到:

  1. 提升硬件利用率:节省硬件,节约成本

  2. 安全:干净的镜像可用来重建受损的系统,可以提供沙盒和隔离来限制可能的攻击。

  3. 开发:调试和性能监控的用例能够以可重复的方式方便的搭建起来

  4. 统一:实现各环境与操作数据的统一性

 

为什么区块链需要虚拟机

 

理解了“虚拟化”的不同场景的含义后,那区块链为什么还需要虚拟机,它需要哪些虚拟化特性的部分?

 

这与区块链的独特性相关,区块链系统需要共识机制,保证每一个人输出的计算结果是一致的。以比特币举例A将BTC发送至B,为了实现智能合约,将自动交易转化成代码。区块链虚拟机所承担的主要任务是运行智能合约。本质上,区块链虚拟机就是一个代码的运行环境。从而保证区块链网络中分布式节点的一致性。

 

从安全性考虑,越是功能强大的智能合约,就越是逻辑复杂,也越容易出现逻辑上的漏洞。在区块链中,虚拟机如果是从安全性方面考虑的话一方面是为了防止因为不法分子或者程序员的编写代码错误而影响到了整个主链,更重要的是防止运行智能合约的设备遭受攻击,如果直接运行在设备系统上,可能会有安全隐患。因为每个节点都要运行智能合约进行验证,但如果不用虚拟机,而是在机器上直接运行,当智能合约开发者疏忽或测试不充分,而造成智能合约的代码有漏洞的话,就非常容易被黑客利用并攻击,这与上文中服务器虚拟机安全性有着共通性。

 

2018年4月, BEC 因整数溢出编写漏洞,被黑客批量转走了近50% token,然而这个错误本应是语言层面的基本常识。以太坊的智能合约多次出现漏洞,业界普遍认为与底层系统有关,在此 Qtum量子链出的虚拟机技术连载(一)中分析过由于它的设计比较非主流,很难有主流的编程语言能够移植到 EVM 上。这种设计可以说对于近50年来的大多数编程范例来说都不易兼容,因此不够友好。

 

为了将区块链的开发推向更加主流的阶段,Qtum 量子链选用x86指令集。x86指令集发展已超过40年,时至今日,x86 架构的兼容性也越发强大,生态体系越发完善,成就占有率超过90%的市场。今天的 x86 CPU 中已融入了解码的功能,其将长度不定的 x86 指令转换为长度固定的类似于 RISC 指令,然后将其交给 RISC 内核进行处理。解码包括了硬件解码和微解码两种,简单的 x86 指令采用硬件解码速度较快,而复杂的指令则需要微解码,将其分成若干条简单指令后才进行执行。目前,x86 架构的优势在于单条指令功能强大,指令数少速度较快;而由于指令数少,高频率运行时也不需要很大的宽带占用往 CPU 传输指令。

 

比特币:比特币的区块链技术主要是为数字货币交易提供简单的技术支持。

以太坊:以太坊开发智能合约以及图灵完备的EVM为标志。

Qtum量子链:以 Qtum-x86 为代表的区块链基础设施建设逐步落地,推动区块链商业经济快速发展。

 

在 QTUM 技术实验室发布的 为何 Qtum 量子链要设计X86虚拟机?Qtum-x86 设计时计划实现多种语言编写智能合约。因为EVM 开发需要学习solidity,增加学习成本的同时稳定性不强,如果区块链虚拟机支持多种编程语言可以变得更加安全。以 Rust 为例,Rust 相对于其他新型编写语言中非常高效、轻量级的编程语言,最重要的是,它的安全性较高,能够降低因程序员在编程中出现的错误而导致被攻击的风险。 

 

目前以太坊的开发费用还是非常高昂,并由于没有标准库,也使得占用了大量的内存Qtum-x86 为这些标准程序库函数提供特殊的内部代码,类似于以太坊的预编译合约。这种功能可以不需要为新的预编译合约添加特殊支持,即可使用,使得在不影响其他共识等变量之下,更加的高效、便捷和节省内存。

 

Qtum 量子链开发团队设计的初衷是能够支持多种虚拟机,以太坊虚拟机作为第一个支持的虚拟机,但目前AAL的功能受到EVM的极大限制,而 Qtum-x86 虚拟机就将不再受到这些限制。  

 

Qtum-x86 虚拟机的大内存空间,以及它高效的操作代码集,可以实现完整的区块链数据进行智能合约分析,这在以太坊虚拟机上是无法实现的。在未来有可能支持基于ai的智能合约自动监控区块链,成为潜在的 oracle,允许智能合约对自身进行动态调整,以便在当前的网络条件下尽可能高效地运行。这些区块链数据可以包括完整交易数据以及节点的统计数据(共识相关)。由于这些数据都是常量,且只需要占用极少的内存空间,所以公开这些数据没有什么弊端。

 

目前,以太坊虚拟机强制每个用户都使用指向32-bytekey指向32-byte数据。开发人员管理起来可能会相当复杂,尤其是考虑到存储空间碎片化和维护的问题。因此,在Qtum-x86虚拟机上,会给智能合约添加一个通用的key-value存储。这样以来,用户就可以使用任何从1字节到更长字节的key,并将其指向相同长度的变量值。目前,Qtum 开发团队提出的gas模型首先对读/写该数据库的操作收取固定费用,之后再根据实际操作的字节数进行按字计价收费。当然,这个功能也会被计入stateRootHash中,这样SPV钱包就可以使用这个数据库与智能合约进行交互。

 

Qtum 开发团队另一个设计目标是使智能合约的依赖关系变得明确且不可变。这仅仅是一种opt-in功能,所以仍然可以允许调用未知合约。对于那些确切知道它们依赖关系的智能合约,可以在某些特定情况下并行执行,有助于降低的gas成本,同时还有其他一些好处。这将是基于Qtum-x86虚拟机的智能合约的一个主要的扩展优势。

 

一同回看,Qtum-x86开发工程师Howard现场演示视频。分别在Qtum-x86虚拟机上以C、C++、Rust这三种主流开发语言调用API,展示了未来开发者用这些主流开发语言编写智能合约的范例。

  

 

这篇关于Qtum研究院:区块链虚拟机——可编程商业经济技术基石的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310094

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目