Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
nebula
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
exchain
nebula
Commits
81bec775
Commit
81bec775
authored
Oct 06, 2021
by
George Hotz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update the readme and revert the cannon
parent
3a195ba5
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
14 deletions
+17
-14
README.md
README.md
+17
-13
data
mipigeth/data
+0
-1
No files found.
README.md
View file @
81bec775
<!---->
<!---->
<!--  -->


<!---->
The cannon (cannon cannon cannon) is an on chain interactive fraud prover
The cannon (cannon cannon cannon) is an on chain interactive fraud prover
...
@@ -15,7 +15,7 @@ It's half geth, half of what I think truebit was supposed to be. When it's done,
...
@@ -15,7 +15,7 @@ It's half geth, half of what I think truebit was supposed to be. When it's done,
```
```
minigeth -- A standalone "geth" capable of computing a block transition
minigeth -- A standalone "geth" capable of computing a block transition
mipigeth --
This
geth compiled for MIPS. Outputs a binary that's run and mapped at 0x0
mipigeth --
mini
geth compiled for MIPS. Outputs a binary that's run and mapped at 0x0
mipsevm -- A MIPS runtime in the EVM (see also contracts/)
mipsevm -- A MIPS runtime in the EVM (see also contracts/)
```
```
...
@@ -25,19 +25,13 @@ mipsevm -- A MIPS runtime in the EVM (see also contracts/)
...
@@ -25,19 +25,13 @@ mipsevm -- A MIPS runtime in the EVM (see also contracts/)
2.
Compile embedded minigeth to MIPS (done)
2.
Compile embedded minigeth to MIPS (done)
3.
Get embedded minigeth to verify a block using the oracle (done)
3.
Get embedded minigeth to verify a block using the oracle (done)
4.
Merkleize the state of the embedded machine
4.
Merkleize the state of the embedded machine
5.
Write Solidity code to verify any MIPS/oracle transitions
5.
Write Solidity code to verify any MIPS/oracle transitions (done)
6.
Write binary search engine to play on chain game
6.
Write binary search engine to play on chain game (done)
...and then there's more stuff, but just that for now.
The system is checking an embedded block in CI now
The system is checking an embedded block in CI now
*
TODO: Fix missing trie nodes
[
see issue
](
https://github.com/geohot/cannon/issues/1
)
*
TODO: Stub all syscalls after it's "booted"
## TODO
## TODO
*
Finish and test the MIPS state transition function in contracts/MIPS.sol
*
Get minigeth running in Solidity MIPS emulator with reasonable performance (Go code using EVM with native memory)
*
Get minigeth running in Solidity MIPS emulator with reasonable performance (Go code using EVM with native memory)
*
Add merkleization for MIPS ReadMemory and WriteMemory
*
Add merkleization for MIPS ReadMemory and WriteMemory
...
@@ -49,9 +43,19 @@ The system is checking an embedded block in CI now
...
@@ -49,9 +43,19 @@ The system is checking an embedded block in CI now
## State Oracle API
## State Oracle API
Preimage(hash) -> value # hash(value) == hash
On chain / in MIPS, we have two oracles
*
Input(index) -> value
*
Preimage(hash) -> value # hash(value) == hash
We generate the Preimages in x86 using geth RPC
*
PrefetchAccount
*
PrefetchStorage
*
PrefetchCode
*
PrefetchBlock
PrefetchAccount, PrefetchStorage, PrefetchCode can b
e NOP in the VM
These ar
e NOP in the VM
## License
## License
...
...
mipigeth/data
deleted
120000 → 0
View file @
3a195ba5
../data/
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment