区块链多线程 BVM虚拟机:抢占区块链商业经济赛道(BVM系列连载二)

入门知识 2周前 (06-21) 11次浏览 0个评论

pstrong style=font-size: 20px;3. BVM 在区块链应用层面做了什么? ///ppspan style=font-size: 18px;/span/pp 在过去的几年里,著名的不可能三角——去中心化 vs 可扩展性 vs 安全——在区块链协议中促成了许多进步。 /pp 在开发 BVM 时,我们明确了目标:不断努力创建区块链“开发者友好”的虚拟机。 /pp 因此,对于BVM来说,不仅要实现安全、稳定、可扩展的虚拟机,还要实现高性能。因此,研究人员将 BVM 的四个维度:安全性、稳定性、可扩展性和高性能作为 BVM 演进的尺度。我在不断的提升自己,到目前为止我已经取得了很大的进步。接下来,我将一一讨论这四个维度。 /pimg src= data-img-size-val=1052,614/h3 label= title span style=font-size: 16px;strong style=color: rgb(61, 70, 77); font – size: 1.25em;BVM design for /strong/ style=font-size: 18px;strong style=color: rgb(61, 70, 77); font-size: 1.@ >25em;/ style=color: rgb(61, 70, 77); font-size: 1.25em;/ style=color: rgb(61, 70, 77); font-size: 1.25em;/strong/span/h3p 智能合约的虚拟机可以看作是一台公共计算机,所有开发者都在这台公共计算机上进行智能合约的执行区块链多线程,所以用户必须受到限制。

/pp 如果虚拟机用户可以不受限制地运行自己的代码,会给公链带来很大的安全问题。例如,EOS 之前曾经历过基于延迟交易的阻塞攻击。这个问题本质上是没有有效和详细地定义资源使用的问题。对应的以太坊也多次遇到类似问题,以太坊早期的几个硬分叉就是为了解决此类问题而设计的。 /pp 安全问题主要包括两个方面: /pul style=list-style-type: disc; class=list–2lip码行为安全/p/lilip码消费有界。 /p/li/ulp 首先,BVM 通过内置的安全机制保证代码类型的完整性和安全性,并通过可选的分配器保证虚拟机用户的沙盒。 /pp 此外,BVM 还增加了由 BTO 质押形成的时空双重限制机制,以确保运行字节码时不会出现“恶意行为”。 /pp 因此,BVM 不会在任何时候触发无限递归或循环,严格限制因某些合约字节码有意或无意导致机器崩溃或无限挂起的情况。 /pp 内置的安全支持将大大提高虚拟机的安全性,也将为公链提供可控的安全保障。 /ph3 label=二级标题BVM是为稳定性而设计的/h3p 前面已经提到,BVM中加入了由BTO质押形成的虚拟机时空双重限制机制,保证运行的字节码不会存在“恶意行为”的安全限制.

/pp 而这个BVM双限定机制实际上是通过内部一种叫做“B-”的机制来实现的。这种机制类似于代码中的“”。限制虚拟机资源的使用。 /pp “B-” 本身就是一个定时器电路,它会在内部不断地进行定时(或计数)操作。我们平时接触的定时器的功能也不同,超时(Timer Out)会导致中断,比如触发系统时钟中断。不同于软件定时器或硬件定时器(Timer),B-wathing不仅有事件发生时的“中断”形式和事件发生时的系统消息形式区块链多线程,还包括事件发生时的特定动作。特征。 /pp 这允许“B-”在系统处于无限循环或阻塞时及时纠正虚拟机。 /ppBVM 的另一个特性是它对确定合约执行时间的内部支持。查看当前的EVM环境,你会发现存在大量的合约执行超时问题,所以对于一个完整的智能合约,如果你不执行一次合约,你将不知道执行的时间。 VM,这显然是不合理的。 . /pp 对于 Bottos 来说,BVM 是一个黑盒,在 BVM 之外很难实现合约检测,所以 BVM 提供了这方面的内置支持,相关需求的实现会很简单,类似的问题也会出现避免。

/ppBVM在执行中对边界施加了很多限制,但是在区块链的应用场景中,这些限制并不是为了功能上的限制,而是为了提高虚拟机在执行中的稳定性。 /pp 这些边界限制乍一看似乎是一些功能限制,但在区块链应用场景中,这些限制不会带来实际的功能限制,/ph3 label=二级标题BVM是为可扩展性而设计的/ h3pBVM采用Go的方式模块导入,这意味着任何编程语言的项目都可以嵌入到 BVM 上,从而提高程序员的工作效率。并且由于其并发机制,用它编写的程序可以非常有效地利用多核和联网的计算机,其新颖的类型系统使程序结构灵活和模块化,以及方便的垃圾收集机制和强大的运行时反射机制。 /ppBVM 专门设计用于使 BVM 适应多线程环境。多线程曾经是一个“大问题”,有很多库可以在并发环境中安全运行。有很多问题需要避免,BVM针对这个问题做了很多准备。 /ppGo 语言也有很多优点。它以其轻量级运行时而闻名。可以预见,未来会有更多的非 Bottos 甚至非区块链项目使用 BVM。除了/pp,BVM还有一套精心设计的底层架构,充分考虑了它的可扩展性。 B编码编译器可以帮助传统代码编译成机器语言,针对智能合约需要的不同应用场景,其字节码格式和功能都需要进行扩展和修改。在响应处设计了BVM,并深度应用了访问者模式,在不改变类架构的情况下,可以很容易的给整个VM添加功能。 .

/ph2 class=ql-long-label=高性能二级标题BVM的设计/h3pspan style=color:#333333;字体大小:16px;字体粗细:正常;在第二个系列中,我们提到了BVM,选择了字节码格式作为实现语言,但是对于区块链在AI场景中的应用需求,很多设计都是多余的。 /span/p/h2p 因此,BVM针对区块链应用场景具有一些区块链场景不需要的专门功能,这意味着BVM在性能上得到了极大的优化。 BVM 的性能主要归功于其内置的类型专业化。 BVM内置了大部分智能合约所需的数据类型,大大加快了编译速度,实现了与WASM集成的BVM,将满足未来复杂业务场景的需求。链式应用的高性能和高吞吐量需求。 /ppBVM 不仅在代码层面保证了运行效率,而且在架构层面尽量兼顾高性能和高吞吐的要求,将大量基础库代码带入字节码层。现在BVM被植入了虚拟机的实现层。对于这些基本类型,性能优化空间也有了很大的提升。 /pp 编者按:接下来序列化,序列化三,我们会写虚拟机(BVM)对Bottos生态系统的影响。 /p

挖矿网Ethos中文站简单易用的挖矿系统,为挖矿产业提供教程软件以及矿机测评交易信息等,挖矿网各种数字货币挖矿收益对比计算,挖矿网介绍挖矿的工具,以及矿场的最新消息等。http://www.ethospool.com/

喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址