diff --git a/presentations/2023-12-13--rouen--manfred/README.md b/presentations/2023-12-13--rouen--manfred/README.md new file mode 100644 index 0000000..927b354 --- /dev/null +++ b/presentations/2023-12-13--rouen--manfred/README.md @@ -0,0 +1,2 @@ +Preview: https://hackmd.io/@gno/SJZgEePIp +Tweet: https://twitter.com/moul/status/1729503288767193322 diff --git a/presentations/2023-12-13--rouen--manfred/slides.md b/presentations/2023-12-13--rouen--manfred/slides.md new file mode 100644 index 0000000..5dd84c6 --- /dev/null +++ b/presentations/2023-12-13--rouen--manfred/slides.md @@ -0,0 +1,160 @@ +# Gno: What, Why, and How + +Presented at Web3 Normandy +Rouen, France +December 13, 2023 + +Speaker: Manfred Touron (@moul) + +--- + +# Sorry, last-minute slides. + +--- + +# What is Gno? + +- A new era in smart contracting, and open-source +- Gno: Comprehensive smart contract suite: Gno.land (chain) + Gnolang (language). +- Created by Cosmos co-founder Jae Kwon. + +---- + +## Gno.land + +- The first L1 using Gnolang, a Go-based language for smart contracts. +- Built on Tendermint2, Cosmos/IBC, secured by Proof of Contribution. +- Prioritizes simplicity, security, and scalability. +- Gnoweb: Integrated dApp server for contract interactions, no extra servers needed. + +---- + +## Gnolang, a multi-user programming language + +- Go-based interpreted language for smart contracting. Powered by GnoVM. +- Multi-user design enhances developer and app interaction. Mixing packages and apps. +- Creates shared virtual environment, akin to developer MMORPG. Custom runtime cycle. +- Contracts start standalone, then grow interconnected for better reusability. + +``` + ┌────────────────────────────┐ + │ │ + │ ▼ + ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ + │ E │──────▶│ C │──────▶│ A │ │ B │ + └───────┘ └───────┘ └───────┘ └───────┘ + │ ▲ + │ │ + └───────────────────────────────┘ +``` + +---- + +## GnoVM + TM2, a virtual computer + +- mixing open-source, open-execution, open-state +- 100% verifiable, auditable, no need to trust a third party +- TM2: Computer +- GnoVM: OS +- Gnolang: API + +---- + +## Gno's Galaxy of Blockchains + +- Cosmos ($ATOM) introduced interchain capabilities through: + - Energy-efficient BFT consensus mechanisms using PoS (Tendermint) + - Interconnected blockchains (IBC) + - SDK for developing appChains (Cosmos-SDK) +- IBCx: Secure, typesafe, dynamic GnoVM chain interactions. +- ICSx: Streamlines interchain licensing, validator models, scalability, and security. + +---- + +## Under the (Gn)ood. + + +``` ++---------+ +----------+-------+----------------+ +| | | | | Gnolang | +| Wallets |-->| | GnoVM +----------------+ +| | | | |Execution State | ++---------+ | +-------+-----+----------+ + | Gno.land | | BFT | ++---------+ | | Tendermint2 +----------+ +| | | | |IBC + ICS |--interchain--> ... +| Gnoweb |-->| +-------------+----------+ +| | | | Proof-of-Contribution | ++---------+ +----------+------------------------+ +``` + +---- + +## Gno: Multi-User programming, deep contract interactions + +```go +package foobar + +import ( + "gno.land/r/foo20" // a grc20 token + "gno.land/r/users" // equivalent of ENS +) + +func TransferToUsername(username string, amount int) { + user := users.Lookup(username) + foo20.Transfer(user.Addr(), amount) +} +``` + + +--- + +# Why Gno? + +Web3/Decentralized: like Solidity. ++ +Transparent: like GitHub but not only for source. ++ +Powerful, Simple, Composable: like Go and Plan9. + +---- + +# Blockchain is not (only) for DeFi + +---- + +## Gno: Why Web3/Decentralized? + +- Trusting code over third parties, +- Building a censorship-free knowledge base, +- Creating flexible, trustworthy governance and democracies, +- Supporting web3-dependent people in challenging environments. + +---- + +## Gno: Why Transparent/Interpreted Contracts? + +- GitHub shows code but lacks execution proof. +- Solidity details execution but lacks accessible source code. +- Gno Contracts merge open-source code with execution. +- Gno Contracts are callable apps and importable libraries. + +---- + +## Gno: Why a New Language? + +- Simple, powerful, secure +- Deterministic +- Interpreted +- Composable +- Auto-Merkelized +- ... + +--- + +# How to Gno More? + +- GoR +- Meet the team +- Contribute +- Learn to code