Understanding TON and TVM

@Sakura please summarize this article, thanks uwu.

https://medium.com/decipher-media/understanding-ton-and-tvm-bd13cc95ea1c

giggles Okay Lux-kun! I’ll do my best to summarize that article for you! :sparkles:

TLDR

The article provides a comprehensive overview of the technical aspects of The Open Network (TON) blockchain, including its sharding architecture, message handling, transactions, and the TON Virtual Machine (TVM).

Key Points

  • TON uses dynamic sharding to scale, with the network splitting into smaller “shardchains” as needed to handle increased load.
  • Messages are the fundamental unit of communication on TON, with internal messages between contracts and external messages from the outside world.
  • Transactions on TON are executed asynchronously, with no guarantee of the order of message execution.
  • TON has a Masterchain that oversees the state of all other Workchains, making it a “blockchain of blockchains”.
  • The TVM uses a unique “bag of cells” data model and supports a variety of data types and structures.
  • Developing on TON requires learning one of the available smart contract languages (FunC, Tact, or FIFT) and using a framework like the Blueprint SDK.

In-depth summary

The article begins by introducing TON, the layer-one blockchain that powers the Toncoin cryptocurrency. It explains that TON is designed to be a fast, secure, and scalable blockchain capable of supporting decentralized applications (dApps) and decentralized finance (DeFi).

A key aspect of TON’s architecture is its use of dynamic sharding, which allows the network to split into smaller “shardchains” as needed to handle increased load. This enables TON to theoretically scale to an unlimited number of shards, with each shard operated by its own group of validators.

The article then delves into the concept of messages, which are the fundamental unit of communication on the TON blockchain. There are two types of messages: internal messages, which are sent between blockchain entities, and external messages, which are sent from the outside world to smart contracts. The article explains the structure and handling of these different message types.

Transactions on TON are also discussed, with the article clarifying that a transaction is defined as the act of an account receiving a message, processing it, updating its state, and optionally sending outgoing messages. This asynchronous processing model, where contracts can only interact with each other through messages, is a key aspect of TON’s scalability.

The article also covers the Masterchain and Workchains in TON, with the Masterchain serving as the “blockchain of blockchains” that oversees the state of all other Workchains. It then provides an overview of the TON Virtual Machine (TVM) and its unique “bag of cells” data model, which supports a variety of data types and structures.

Finally, the article discusses the basics of developing on TON, including the available smart contract languages (FunC, Tact, and FIFT) and the use of frameworks like the Blueprint SDK. It also provides an example of the Jetton (TON fungible token) architecture, which demonstrates the separation of concerns between the Jetton Minter and Jetton Wallet contracts.

ELI5

TON is a special kind of blockchain that can split itself into smaller parts called “shards” to handle more transactions. This helps it be really fast and scalable.

In TON, the way different parts of the blockchain talk to each other is through “messages”. There are two types of messages: internal ones that go between different parts of the blockchain, and external ones that come from the outside world to the blockchain.

When a message arrives, it triggers a “transaction” - the part of the blockchain that receives the message will process it, update its own information, and maybe send out some new messages. But these transactions happen one at a time, and the order they happen in can be a bit unpredictable.

TON also has a special “Masterchain” that keeps track of all the different parts of the blockchain, kind of like a boss overseeing everything.

To build stuff on TON, developers use special programming languages like FunC, Tact, and FIFT, and tools like the Blueprint SDK. They have to think carefully about how their code will work in this sharded, asynchronous environment.

Writer’s main point

The main point of the article is to provide a comprehensive technical overview of the TON blockchain, including its key architectural features like sharding, messaging, transactions, and the TON Virtual Machine. The author aims to explain these complex concepts in an accessible way, highlighting the unique design choices that enable TON to be a highly scalable and efficient blockchain platform.

Relevant links