Smarter Contract Upgrades with Orthogonal Persistence
summary
Implements orthogonal persistence for Motoko on the Internet Computer by adding a stable heap, 64-bit Wasm memory, and an incremental GC so program heap (up to ~400 GB per component) survives upgrades. Upgrades run a constant-time type-table compatibility check (~10k instructions) instead of serializing the heap, enabling fast, safe implicit migrations and custom migration hooks. Benchmarks show orders-of-magnitude lower instruction cost and much faster data access than prior serialization and Rust stable-data-structure approaches.
AI-written summary · about
chapters (16)
- 0:00Blockchain programming intro
- 1:26Upgrading blockchain programs
- 4:14Traditional memory models
- 6:21Orthogonal persistence
- 8:30Motoko and Internet Computer
- 9:34Simple Motoko example
- 10:17Upgrading with data migration
- 13:49Implicit vs custom migration
- 15:56Persistence implementation
- 19:27Garbage collection in upgrades
- 21:53Memory compatibility checks
- 22:35Performance comparison
- 24:01Performance benefits
- 26:50Summary of improvements
- 27:59Q&A: Actor concurrency
- 29:50Q&A: Data migration
related talks
21mCOSMWASM Powerups!
22mCosmWasm
20mCollecting Garbage on the Blockchain
21mPractical Verification Of Smart Contracts Using Memory Splitting
20mIBC Roadmap
25mEnabling forkless blockchain upgrades with Substrate
21mDecentralized and Stateful Serverless Computing on the Internet Computer Blockchain
01h 22mUpgradeability with ZeppelinOS: How Fix Bugs on Deployed smart contracts
