币圈信息网 币圈新闻 技术解读 AppliedZKP 的 zkEVM 方案设计思路

技术解读 AppliedZKP 的 zkEVM 方案设计思路

AppliedZKP 提出的 zkEVM 方案采用数据总线的思路,在正确的存储数据的基础上,Stat

appliedzkp 提出的 zkevm 计划沿用数据总线的思绪,在精确的保存数据的普通上,state proof 表明数据的普遍性,evm proof 表明计划论理的精确性比特币交易平台

原文题目比特币挖矿机:《零常识表明 – zkevm 解读》 撰文:star li

妇孺皆知,zk rollup 是 l2 中安定等第最高的 rollup 计划,然而 zkrollup 暂时没有可编制程序性,更无从谈起可拉拢性关于防范比特币风险的通知。zkevm 是用 zk-snark 本领将 evm 的执前进行表明。zkrollup 扶助了 zkevm,在 l2 就能扶助兼容 evm 的智能合约。暂时有几个共青团和少先队都在接洽 zkevm 的实行。除去 appliedzkp 公然了少许通路安排的思绪和详细外,其余共青团和少先队都没有精细的材料。appliedzkp 相关 zkevm 的安排材料如次:

点击 此处 观赏关系 材料比特币行情走势图

正文精细领会 appliedzkp 设想的 zkevm 安排比特币如何挖矿。正文中提到的 zkevm 专指 appliedzkp 提出的 zkevm 计划。

后台

以太坊的每一个节点为了保证买卖的精确性,须要对准每一个区块中的每一笔买卖实行比特币暴跌。也即是说,每一个节点须要考证以太坊的所有买卖汗青,而且要一笔笔的举行实行考证。zkevm 运用零常识表明本领(zk-snark)表明:

对准智能合约的买卖实行,天生买卖表明比特币暴涨。在 l2 实行 zkrollup 扶助可编制程序性。对准以太坊的每一个区块,天生区块表明。那些表明都由两局部构成:state proof (状况表明)和 evm proof (evm 实行表明)。在一条买卖实行进程中,state 囊括 storage,memory 以及 stack 的状况。

本领解读 appliedzkp 的 zkevm 计划安排思绪

bus-mapping 是安排的普通思维如何挖比特币。普遍的 pc 体制构造中,cpu 经过总线考察保存(外存 / 硬盘),也即是计划和保存划分。zkevm 沿用的同样的框架结构思维,状况的变革和训令的实行划分,而且辨别由 state proof 和 evm proof 举行表明。

本领解读 appliedzkp 的 zkevm 计划安排思绪

state proof 控制 bus mapping 消息的普遍性和精确性比特币官方网站。普遍性指的 bus mapping 和 state 之间的读写普遍。精确性指的是 bus mapping 中的读写状况精确。evm proof 控制 evm 的 op code 的实行精确(即使波及到 state 的 op code,保护保存关系的操纵精确)。

evm execution 和保存之间犹如有一条保存考察的总线一律:evm execution 经过 bus mapping 获得大概保存实行须要的关系状况比特币如何挖矿。沿用 bus mapping 的办法,须要表明 bus mapping 和 state 以及 evm execution 之间的「总线」操纵的精确性。论理上分红如次的几步:读取状况,evm 实行(窜改状况),写回状况。bus mapping 囊括了读取以及写回状况。

本领解读 appliedzkp 的 zkevm 计划安排思绪

bus mapping

bus mapping 囊括了两种状况,一种是读取老的状况,一种是写回天生新的状况比特币行情。不管是老的状况和新的状况,bus mapping 都是「包括」联系。这种「包括」的 mapping 联系不妨经过 plookup 算法表明。

保存状况(storage/memory/stack),沿用 key-value 的方法举行表白比特币钱包。key-value 对的绑定联系不妨实行为一个序列:

def build_mapping(): keys = [1,3,5] values = [2,4,6] randomness = hash(keys, values) mappings = [] for key , value in zip(keys,values): mappings.append(key + randomness*value) return(mappings)

想表明某个 key-value 对在少许 key-value 中比特币被盗,不妨经过三个 plookup 表明实行:

def open_mapping(mappings, keys, values): randomness = hash(keys,values) index = 1 # prover can chose any mapping, key , value mapping = plookup(mappings) key = plookup(keys) value = plookup(values) # but it has to satisfy this check require(mappings[index] == key[index] + randomness*value[index]) # with overwhelming probability will not find an invalid mapping.

keys 和 values 是 state 关系的 key-value 对比特币官方网站。mappings 是一切 key-value 对路途的 mapping 数组。经过三个 plookup 表明:

本领解读 appliedzkp 的 zkevm 计划安排思绪

某个 mapping 的 key 在 keys 中某个 mapping 的 value 在 values 中某个 mapping 在 mappings 中而且 mapping 和 key-value 满意 build_mapping 创造的联系比特币病毒。如上的那些表明,不妨表明某个 key-value 对是 keys 和 values 的 mapping 中的局部。

在如上的普通上比特币怎么挖,不妨设置出 bus_mapping 的数据构造:

bus_mapping[global_counter] = { mem: [op, key, value], stack: [op, index, value], storage: [op, key, value], index: opcode, call_id: call_id, prog_counter: prog_counter }

个中,global_counter 是 slot 的编号比特币减半。slot 是一个表明论理的最小单位。一个买卖的表明由多条训令构成,每个训令大概由多个 slot 构成。op 是操纵典型,论理上由读和写构成。prog_counter 是 pc。一切的 bus_mapping 中的读取操纵不妨经过 plookup 决定是否「属于」暂时的 state。读取状况须要和老的保存状况普遍,写入状况须要和革新后的保存状况普遍。

在 bus mapping 的普通上,沿用 state proof 和 evm proof 表明数据的读写精确以及和 opcode 的语义普遍比特币是什么东西

state proof

state proof 证领会和「保存」关系的读写和 bus mapping 的数据普遍比特币交易网。也即是在「总线」上的读写数据的普遍性。state proof 按照保存典型分红三种表明。

storage

和 storage 关系的 op code 陈设如次关于防范比特币风险的通知

关系的 op code 分为两种,一种是 storage 读,一种是 storage 写比特币勒索。比方 sload 即是从 storage 读取数据到 stack 中。storage 关系的 op code 对应的读写数据在 bus mapping 中。提防,state proof 中的 storage 表明只简单表明 storage 关系的读写操纵能否在 bus mapping 中。至于读写数据的语义消息是经过 evm proof 举行表明的。

memory

本领解读 appliedzkp 的 zkevm 计划安排思绪

从 state proof 表明的观点看,一切的外存操纵依照 index 举行排序比特币汇率。index 是外存地方。举个例子:

地方 0 和地方 1 的关系外存操纵陈设在一道比特币被盗。每个外存地方在步调发端实行时会初始化为 0。也即是 global_counter 为零时,index 0/1 初始为 0。从 bus mapping 的观点看,那些外存操纵如次:

对于每个地方上的读写数据都须要维持普遍性比特币行情走势图。那些普遍性由如次的牵制查看:

蓝色局部控制外存惟有读写操纵,褐色局部控制每个地方外存初始为零,而且读写数据普遍,橘黄色局部控制关系的外存操纵在 bus mapping 中比特币怎么挖

stack

stack 的操纵重要分为二类:push/pop,dup 和 swap今日比特币。用 1024 巨细的数组模仿 stack 实行。stack 的场所消息的查看由 evm proof 实行。stack 的数据和 bus mapping 的联系由 stack proof 实行。基础思绪和 memory 普遍。

evm proof

evm proof 是 evm 实行关系牵制的中心比特币是什么。evm proof 须要表明如次的少许论理:

evm 实行的代码是指定的 transaction 的代码论理和保存关系的语义能否精确,比方 stack 的场所处置,sload 数据和 stack 的数据能否普遍之类和计划关系的语义能否精确,比方算术计划之类跳转论理能否精确,比方 call 训令gas 耗费计划精确步调中断能否精确slot 是通路的基础单位比特币挖矿是什么。多个 slot 不妨拉拢在一道实行一个 op code 的语义。

算术计划

以减法为例,经过 plookup 不妨表明 8bit 平头的计划比特币被盗。经过多个 8bit 的减法以及进位,不妨实行大肆长度的减法。

两个数的比拟的实行道理和减法一致比特币挖矿客户端

跳转论理

本领解读 appliedzkp 的 zkevm 计划安排思绪

call_id 记载一个实行情况如何获得比特币。为了绑定和跳转论理的联系,call_id 沿用如次的计划论理:

call_id -> rlc(calldata_callid, call_data_start_addr, call_data_size, return_data_callid,return_data_start_addr, return_data_size, origin, caller, call_value, call_stack_depth)

rlc 是 random linear combination比特币中国

evm proof 的论理对立来说比拟搀杂特朗普称比特币是一个骗局。暂时颁布的文书档案没有打开刻画安排的详细。zkevm 给出了大概的安排思绪,详细的局部还须要进一步细化。

归纳比特币交易平台排名

appliedzkp 公然了 zkevm 的安排思绪比特币大涨。zkevm 沿用数据总线(bus mapping)的思绪,将保存和计划划分。在 bus mapping 抽取了精确的保存数据的普通上,state proof 表明数据的普遍性,evm proof 表明计划论理的精确性。

本文来自网络,不代表币圈信息网立场,转载请注明出处:https://www.lpbwg.com/11661.html

作者: bqxxw

返回顶部