You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Opportunity: What are the needs of our target user groups?
Deterministic code.
EOS-VM and any other VM technology can't 100% guarantee that the kernel of running code (smart contract for Antelope) is purely deterministic. Code generation for interpreters, JITs and others can have bugs or patterns of instructions that elicit non-determinism. These also include EVM, etc.
Target audience: Who is the target audience and why?
All consumers of our technology.
BPs
Exchanges
dApp developers
Token holders
Strategic alignment: How does this problem align with our core strategic pillars?
Being truly deterministic eliminates unexpected behavior that can cause issues and create adverse user experiences.
Context
Competitors: Who are our top competitors (up to 5) and why? How do they solve this problem today?
Product differentiation: what would make our solution different?
Audience definition
Solution
Solution name: How should we refer to this product opportunity?
NatiVM
Purpose: Define the product’s purpose briefly
NatiVM will be a
deterministic VM
minimization of overheads of execution to near zero
high affinity for off-line compilation optimizations
MIT licensed
For Antelope we are utilizing WebAssembly (WASM) as the Intermediate Representation (IR) for the blockchain smart contract layer. NatiVM will instead use a subset of AMD64 I am calling Deterministic AMD64 as its VM architecture.
Instead of CDT or other toolchains producing WASM it will produce a binary that more closely matches the base architecture.
The IR of Deterministic AMD64 will be a proper subset of AMD64. This will allow for CDT/ANTLER to compile and generate either a smart contract binary or a regular shared object file.
The standard for NatiVM will be an open standard.
The licensing will be MIT.
Deterministic AMD64 will be a proper subset of AMD64 and therefore perfectly compatible with preexisting AMD64 machines.
Future (v2 or beyond) will introduce Deterministic ARM64 as these machines become more ubiquitous.
To mitigate 'return oriented programming' from occurring in smart contracts and supply developers with more security a simple stack canary system can be used with block time injected as the canary check value.
To short gap solution for ARM64 based systems will be created as a simple shotgun static binary rewriter. AMD64 to ARM64 tends to have good affinity for optimizations so a loss of performance should be minimal.
Success definition: What are the top metrics for the product (up to 5) to define success?
Problem
Opportunity: What are the needs of our target user groups?
Deterministic code.
EOS-VM and any other VM technology can't 100% guarantee that the kernel of running code (smart contract for Antelope) is purely deterministic. Code generation for interpreters, JITs and others can have bugs or patterns of instructions that elicit non-determinism. These also include EVM, etc.
Target audience: Who is the target audience and why?
All consumers of our technology.
Strategic alignment: How does this problem align with our core strategic pillars?
Being truly deterministic eliminates unexpected behavior that can cause issues and create adverse user experiences.
Context
Competitors: Who are our top competitors (up to 5) and why? How do they solve this problem today?
Product differentiation: what would make our solution different?
Audience definition
Solution
Solution name: How should we refer to this product opportunity?
NatiVM
Purpose: Define the product’s purpose briefly
NatiVM will be a
For Antelope we are utilizing WebAssembly (WASM) as the Intermediate Representation (IR) for the blockchain smart contract layer. NatiVM will instead use a subset of AMD64 I am calling Deterministic AMD64 as its VM architecture.
Instead of CDT or other toolchains producing WASM it will produce a binary that more closely matches the base architecture.
The IR of Deterministic AMD64 will be a proper subset of AMD64. This will allow for CDT/ANTLER to compile and generate either a smart contract binary or a regular shared object file.
To short gap solution for ARM64 based systems will be created as a simple shotgun static binary rewriter. AMD64 to ARM64 tends to have good affinity for optimizations so a loss of performance should be minimal.
Success definition: What are the top metrics for the product (up to 5) to define success?
Assumptions
Risks: What risks should be considered? https://www.svpg.com/four-big-risks/
Business Objectives/Functionality
Features/Epics
User stories
Additional tasks
Timeline
Cost
Open questions
The text was updated successfully, but these errors were encountered: