Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
215 changes: 215 additions & 0 deletions WHITEPAPER.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,215 @@
# **Gno: A Deterministic Multi-Realm Computing Platform for Decentralized Applications**

**TODO: Add authors**

Draft v0.1
December 2025

The current spec is on [github.com/gnolang/gno](https://github.com/gnolang/gno)

---

## **Abstract**

> *At first, there was Bitcoin, out of entropy soup of the greater All.*
> *Then, there was Ethereum, which was created in the likeness of Bitcoin, but made Turing complete.*
> *Among these were Tendermint and Cosmos to engineer robust PoS and IBC.*
> *Then came Gno upon Cosmos and there spring forth Gnoland,*
> *simulated by the Gnomes of the Greater Resistance.*

We stand at an inflection point in the evolution of decentralized systems. The infrastructure that governs our digital lives—social networks, financial systems, public discourse, and collective knowledge—remains captured by centralized authorities that decide what we see, what we say, and what we own. Blockchains promised liberation, yet their programming models remain opaque, their governance plutocratic, and their developer experience hostile.

**Gno.land is the missing piece: a platform for timeless code that stores truth in plain sight.**

Gno—the deterministic, Go-compatible programming environment powering the Gno.land platform—provides a model where smart contracts exist as human-readable source code: permanently on-chain, directly auditable, and inherently forkable. Gno.land then builds on this foundation by introducing governance driven not by token accumulation but by demonstrable contribution. Together, they form the basis of the **Logoverse**: a persistent, composable, censorship-resistant substrate for decentralized knowledge and coordination.

### **Technical Summary**

**Problem.** Current smart contract platforms exhibit: (1) bytecode opacity preventing practical auditability, (2) manual state serialization causing developer friction and storage-related vulnerabilities, (3) stake-weighted governance conflating capital ownership with technical competence, and (4) domain-specific languages fragmenting the developer ecosystem.

**Solution.** We introduce Gno, a deterministic Go-compatible language executed by GnoVM, an AST-based interpreter providing automatic object persistence, capability-based realm isolation, and source-level transparency. Governance authority derives from Proof of Contribution (PoC), a Sybil-resistant reputation mechanism assigning voting power based on verified contributions rather than token holdings.

**Result.** Gno.land achieves: (1) source-level transparency with direct auditability, (2) automatic state persistence eliminating serialization overhead, (3) contribution-weighted governance resistant to plutocratic capture, and (4) immediate developer accessibility for Go's established developer base.

---

# **1. Introduction**

## **1.1 Background**

Bitcoin demonstrated decentralized value transfer without intermediaries [1]. Ethereum extended this to general computation through smart contracts [2]. Tendermint and Cosmos established practical Byzantine fault-tolerant consensus and inter-blockchain communication [3, 4].

Despite these advances, structural limitations persist:

- **Opacity**: Deployed contracts exist as bytecode, requiring specialized tools to interpret
- **Complexity**: Developers must learn domain-specific languages and manage state serialization manually
- **Plutocracy**: Governance power correlates with token holdings rather than expertise
- **Fragmentation**: Each ecosystem demands distinct languages, tooling, and mental models

## **1.2 Contributions**

This whitepaper presents:

1. **Gno Language** (§4): Deterministic Go variant (~99% compatible) with source-level on-chain storage
2. **GnoVM** (§5): AST-based interpreter with automatic persistent object memory
3. **Realm Model** (§6): Capability-based isolation with explicit cross-realm semantics
4. **Proof of Contribution** (§9): Reputation-based consensus mechanism separating voting power from token ownership
5. **Tendermint2** (§10): Minimal consensus engine where implementation serves as specification

---

# **2. System Model**

// TODO:
// - Formal Foundations
// - 4 Core Definitions: Realm tuple, Persistent Object Memory graph, Deterministic Execution, Cross-Realm Call semantics

---

# **3. Comparison with Existing Platforms**

// TODO:
// - Why Gno Wins
// - Bytecode problem + VM Comparison Table (EVM/WASM/MoveVM vs GnoVM) + Solidity vs Gno code examples, e.g., State management
// - Add more

## **3.1 The Bytecode Problem**

Ethereum stores compiled bytecode:

```
Deployed: 0x608060405234801561001057600080fd5b50...
```

Interpreting this requires decompilation or external source verification.

Gno stores source code directly:

```go
func Transfer(to std.Address, amount int64) {
caller := std.PreviousRealm().Address()
balances[caller] -= amount
balances[to] += amount
}
```

Auditing requires only the ability to read Go.

## **3.2 Virtual Machine Comparison**

| Feature | EVM | WASM | MoveVM | **GnoVM** |
|---------|-----|------|--------|-----------|
| On-chain representation | Bytecode | Bytecode | Bytecode | **Source (AST)** |
| Auditability | Decompiler required | Decompiler required | Decompiler required | **Direct** |
| State model | Manual slots | Manual memory | Linear types | **Auto-persistent objects** |
| Safety model | Manual | Sandbox | Resource types | **Realm isolation + Go types** |
| Determinism | Partial | Partial | Strong | **Strong** |
| Language familiarity | New (Solidity) | Complex (Rust) | New (Move) | **Established (Go)** |

---

# **4. Gno Language**

// TODO:
// - Language Specification
// - ~99% Go compatible + Deterministic constraints + std package + Render convention
// - Interrealm specification

# **5. GnoVM Architecture**

// TODO:
// - VM Architecture
// - AST-based interpreter (not bytecode) + Persistent Object Memory (automatic state) + Execution lifecycle

---

# **6. Realm Execution Model**

// TODO:
// - Execution Semantics
// - OS Analogy Table (Process=Realm, Kernel=GnoVM) + Package hierarchy (/p/, /r/, /e/) + Isolation Theorem

---

# **7. State Commitment**

// TODO:
// - Data Integrity
// - Merkle Tree structure + Amino encoding (deterministic serialization)

---

# **8. Economics**

// TODO:
// - Token & Incentive Design
// - GNOT Token + Gas model + Storage Deposit (lock/unlock) + Fee distribution → Validators + Contributors
// - ref: https://gist.github.com/jaekwon/4d1c81ee3b82a0fc29f67d50e7f8664c.

---

# **9. Proof of Contribution**

// TODO:
// - Governance Innovation
// - PoS limitations (capital ≠ competence) → Contributio based + Tier structure + DAOs
// - Maybe we should have another session for GovDAO? ref: https://gist.github.com/jaekwon/918ad325c4c8f7fb5d6e022e33cb7eb3

---

# **10. Tendermint2**

// TODO:
// - Consensus Layer
// - Implementation = Specification + ~15K LOC + BFT rounds (Propose→Prevote→Precommit) + PoC integration
// - Differences from the original Tendermint?

---

# **11. Safety and Liveness**

// TODO:
// - Security Proofs
// - Assumptions: network eventually delivers, <1/3 malicious, crypto works
// - Theorems: all nodes compute same result, contracts can't hack each other, no forks, chain never halts, no censorship

---

# **12. The Logoverse**

// TODO:
// - Long-term Vision
// - Permanence + Composability + Transparency + Core applications (boards, users, govdao, gnodev, etc.)
// - ref: https://gno.land/r/gnoland/blog:p/gnoland-the-first-logoverse

---

# **13. Conclusion**

// TODO:
// - Summary & Recap
// - Go-compatible + AST transparency + auto-persistence + PoC governance + minimal consensus

---

# **Appendix**

// TODO: Add

---

# **References**

// TODO: Add more

[1] S. Nakamoto, "Bitcoin: A peer-to-peer electronic cash system," 2008.

[2] V. Buterin, "Ethereum: A next-generation smart contract and decentralized application platform," 2014.

[3] J. Kwon, "Tendermint: Consensus without mining," 2014.

[4] J. Kwon, E. Buchman, "Cosmos: A network of distributed ledgers," 2016.

---

## **Changelog**