LOADING...
LOADING...
LOADING...
当前位置:主页 > 知识列表 >

OP Stack

1. 零时科技|CNVD-2020-30018比特币存在逻辑缺陷漏洞

...762行,这里就不全部展示,我们来看最后的返回返回值是如何确定的:if?(pvStackRet) ????????*pvStackRet?=?stack; ????return?(stack.empty()???false?:?CastToBool(stack.back()));根据return语句中的三目运算符,如果栈为空则返回false,若栈不为空则进入第21行CastToBool函数:bool?CastToBool(const?valtype&?vch) { ????return?(CBigNum(vch)?!=?bnZero); ...

知识:比特币,公钥,函数,比特币存在

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

...roof (EVM 执行证明)。在一条交易执行过程中,State 包括 Storage,Memory 以及 Stack 的状态。Bus-mapping 是设计的基础思想。一般的 PC 体系结构中,CPU 通过总线访问存储(内存 / 硬盘),也就是计算和存储分开。zkEVM 采用的同样的架构思想,状态的变化和指令的执行分开,并且分别由 State proof 和 EVM proof 进...

知识:以太坊,技术,zk-SNARK,Layer 2,EVM,ZK

3. Sin7Y团队深度解读:Plookup在ZKEvm设计中的应用

...的内存空间,应该需要一些手段来优化这些指令数量,比如用 Register 替换 Stack 操作等,但是这又会增加对编译器的修改。还有一种实现方法,就是利用 Merkel Tree 来证明。如下图所示:图二需要用一个 ZK-Friendly的hash去实现这个过程,以尽量减少这部分电路的规模。(也可以用基于Class group的Accumulator来...

知识:合约,电路,链上,合约地址

4. 从比特币脚本引擎到以太坊虚拟机

...(Script)处理。这里引用bitcoin-core源码interpreter.cpp里的一段注释:/**?*?Script?is?a?stack?machine?(like?Forth)?that?evaluates?a?predicate?*?returning?a?bool?indicating?valid?or?not.??There?are?no?loops.?*/Script是一种类Forth、基于栈式模型、无状态的、非图灵完备的语言。opcodes分为常量、流程控制、栈操作、算术运算、位运算、密码学运算...

知识:合约,以太坊,区块,区块链

5. 《比特币开发者指南 专有名词》 翻译

...对应,就返回TRUE   58. op-dup: Operation which duplicates the entry below it on the stack   op-dup: 复制堆栈下一层数据的操作   59. op-equal: Operation which returns true if the two entries below it on the stack are equivalent   op-equal: 如果堆栈下一层的两个数据相等,就返回TRUE的操作   60. op-equalverify: Operation whic...

知识:比特币开发

6. # Wasm介绍之6:间接函数调用

...返回值类型是i64,下面是call指令的示意图:bytecode: ...][ call ][ func_idx ][... stack: | | | | | | | | | d(f64) |? | | | c(f32) |? ?| r(i64) | # funcs[func_idx](c,d) | b | | b | | a | | a | └───────────┘ ...

知识:指令,WASM

7. Layer2:深入理解Arbitrum

...AVM状态表示。AVM相关实现的代码在arbitrum/packages/arb-avm-cpp中。AVM的状态由PC,Stack,Register等状态组成。AVM的状态是这些状态的hash值拼接后的hash结果。AVM使用c++实现,AVM表示的逻辑实现在MachineStateKeys类的machineHash函数(machinestate.cpp)中。AVM的特别之处就是除了执行外,还能较方便的表达(证明)执行状...

知识:状态,挑战者,实现了,分歧

8. 深入理解以太坊二层方案 Arbitrum 技术架构

...态表示。AVM 相关实现的代码在 arbitrum/packages/arb-avm-cpp 中。AVM 的状态由 PC,Stack,Register 等状态组成。AVM 的状态是这些状态的 hash 值拼接后的 hash 结果。AVM 使用 c++实现,AVM 表示的逻辑实现在 MachineStateKeys 类的 machineHash 函数(machinestate.cpp)中。AVM 的特别之处就是除了执行外,还能较方便的表达(证明...

知识:以太坊,技术,扩容,开发者,Layer 2,EVM,Laye

9. 对比以太坊、比特币和比特现金上智能合约的区别

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是「堆栈」(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前 16 个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,「contract memory」可用于在当前合约执行过程中存储、检索...

知识:智能合约,合约,比特币现金,以太坊

10. 技术分析 :以太坊、比特币和比特币现金上的智能合约

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是「堆栈」(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前 16 个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,「contract memory」可用于在当前合约执行过程中存储、检索...

知识:比特币,以太坊,比特币现金

11. 技术分析|以太坊、比特币和比特币现金上的智能合约

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是“堆栈”(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前16个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,“contract memory”可用于在当前合约执行过程中存储、检索和...

知识:智能合约,合约,以太坊,比特币现金

12. 深入对比以太坊、比特币和比特现金上智能合约的区别 | 火星技术帖

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是「堆栈」(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前 16 个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,「contract memory」可用于在当前合约执行过程中存储、检索...

知识:Solidity,智能合约,以太坊,交易,比特币现金

13. 技术分析|以太坊、比特币和比特币现金上的智能合约

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是“堆栈”(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前16个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,“contract memory”可用于在当前合约执行过程中存储、检索和...

知识:智能合约,合约,以太坊,比特币现金

14. 技术分析:以太坊、比特币和比特币现金上的智能合约有什么差异?

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是“堆栈”(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前16个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,“contract memory”可用于在当前合约执行过程中存储、检索和...

知识:智能合约,合约,以太坊,比特币现金

15. 智能合约大对比:以太坊、比特币和比特现金

...些数据可以存储于不同的位置,即位于不同的数据位置。首先是「堆栈」(stack),其中包含计算中使用的值。只能轻松访问堆栈中的前 16 个项目,因此不适合长期存储。下面显示了使用堆栈进行计算。图:基于堆栈的计算其次,为了补充堆栈,「contract memory」可用于在当前合约执行过程中存储、检索...

知识:智能合约,以太坊,比特币,比特现金