Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
1/ The @optimism fault proof system got a massive upgrade today: We’re shipping MT Cannon πŸ’₯ An upgraded version of Cannon β€” the fault proof VM β€” now with 64-bit support and multithreading! 🧡...
1 reply
2 recasts
4 reactions

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
2/ πŸ€” What’s Cannon anyway? Cannon is the fault proof virtual machine that runs the fault proof program β€” β€œop-program”. And what's op-program? Think of it as a version of Optimism node software that runs in a reproducible way.
1 reply
0 recast
1 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
3/ So to give op-program a reproducible environment we run it in Cannon, which emulates a Linux environment on a MIPS CPU. πŸ˜…
1 reply
0 recast
0 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
4/ πŸ’‘ Why the 64-bit upgrade? The original Cannon emulated a 32-bit CPU. That was a good place to start, but 32-bit CPUs are very memory-constrained.
1 reply
0 recast
0 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
5/ πŸ’Ύ 64-bit = no memory limits 🚫 Modern CPUs are 64-bit and can access vastly more memory. By upgrading Cannon to 64-bit, we completely remove the memory bottleneck. More memory = support for larger blocks = more scalability πŸš€
1 reply
0 recast
0 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
6/ πŸ‘» What happens when we don’t have enough memory? If the op-program runs out of memory, the proof fails. And if proofs fail, bad actors can get away with fraud.
1 reply
0 recast
0 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
7/ 🧡 And why multithreading? The op-program is written in Go. Go’s runtime uses a garbage collector β€” but it runs on a separate thread. With no multithreading? πŸ—‘οΈ GC doesn’t run β†’ memory leaks β†’ crash risk β†’ proof fails.
1 reply
0 recast
0 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
8/ 🧠 With MT Cannon, multithreading is enabled. That means the garbage collector works β†’ memory is reclaimed β†’ system is stable even on long or heavy runs. More efficient, more robust, more scalable πŸ’ͺ
1 reply
0 recast
0 reaction

Paul Dowman πŸ”΄βœ¨ pfp
Paul Dowman πŸ”΄βœ¨
@pauldowman.eth
9/ To sum it up: βœ… 64-bit = more memory βœ… Multithreading = stable GC βœ… MT Cannon = no more memory constraints, even for big blocks And if you like this kind of thing: we're hiring for the proofs team at OP Labs! Get in touch if you think you might be a good fit.
0 reply
0 recast
0 reaction