Comments (9)
Have we had memory footprint problems yet?
from sputnikvm.
Yes. Have a look at the recursive attack problem.
from sputnikvm.
Okay great, as the #161 is logged I'm closing this duplicate.
from sputnikvm.
Oh don't close this. There're other recursive attack problems not covered by #161.
from sputnikvm.
New issues should be opened for them, otherwise we'll have long standing issues that are placeholders for hypotheticals on top of hypotheticals. What are these other issues?
from sputnikvm.
This basically plans to replace Vec<u8>
s in Context
and PC
to reference of bytearrays. That is why this is logged as a feature issue -- multiple recursive attack problems can be solved by this. At the same time, a "performance is bad" problem can also be logged.
from sputnikvm.
https://github.com/ethereumproject/easm/issues/3 solves the code Vec<u8>
overhead. We can solve the data Vec<u8>
overhead by using a linked list of Box<Machine>
.
from sputnikvm.
But I'm going to delay data Vec<u8>
overhead for later -- memory costs gas, so there's no attack that can be planted using data Vec<u8>
.
from sputnikvm.
We've already fixed most of the major memory footprint issue, so let's close this tracking issue.
from sputnikvm.
Related Issues (20)
- no_std build fails on current Nightly Rust HOT 1
- Refine benchmarks so the measurement would kick in as close to contract execution as possible
- Run code through clippy and apply fixes
- Prepare for Byzantium hardfork HOT 2
- SHL, SHR and SAR opcodes and correcponding Patch interface changes
- Customization of Pre-compiled Contract HOT 3
- Move Byzantium precompiled contracts implementation to the core codebase HOT 1
- Implement CREATE2 opcode
- Implement EXTCODEHASH opcode
- Change gas metering for SSTORE
- Predicting the address of a contract HOT 3
- Improve SputnikVM panic-safety HOT 1
- sputnikvm-network-* are outdated HOT 1
- Loading of configuration values from a file while starting any network or sputnikvm HOT 6
- What is the purpose of last else block in the screen below. HOT 1
- CREAT2 as a transaction type(action)?
- Persistance of the SputnikVM execution HOT 1
- 999
- vm.fire() hangs
- Crates.io version of code will panic on newer rustc due to stricter uninit checks
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sputnikvm.