The Open Network
Pavlo Ponomarenko
TON Blockchain
General structure
Masterchain
Workchains
(up to 2^32)
Shardchains
(up to 2^60 for each workchain)
Masterchain
General information about:
The protocol and its parameter
The set of validators and their stakes
The set of currently active workchains
Blocks with hashes of the most recent blocks of all workchains
and shardchains
Workchains and blockchains
Shardchain
Workchain Sharding
(a blockchain with
(a virtual blockchain) paradigm transactions)
(workchain_id : uint32) Dynamic splitting and (workchain_id ; shard_prex)
merging shardchains
Block structure
Block’s hash
Previous block’s hash
Merkle Tree of transactions’ hashes
Pointer to another version of this block
[Transaction_1],
[Transaction_2],
…
[Transaction_n]
Invalid blocks editing
Horizontal blockchain
Block 1 Invalid block 2 Block 3
Valid block 2 Vertical blockchain
TON Virtual Machine
Works with
TVM Cells of data
Supports
Hashmaps, arbitrary algebraic data types, 64-bit, 128-bit and 256-bit
arithmetic, unsigned and signed integer conversion, bit strings and
byte strings, 256-bit Elliptic Curve Cryptography, Weil pairings,
sha256, Merkle proofs
Smart contract
Smart Cell1 Cell2 Celln
contract , , …
contains code Persistence storage
for TVM
contains global variables
(new cells are bought with TON
coins)
Account
Consists of:
A balance in the principal currency of
the blockchain
A balance in other currencies of the
blockchain
Smart-contract code (or its hash)
Smart-contract persistent data (or its
Merkle hash)
The last time when payment
for persistent storage was collected
The public key needed to transfer
currency
Message between accounts
Message
Account1 Recipient: Account2
account_id
Sender:
account_id
Value:
list of
(currency_id ;
value)
Proof of Stake
The attitude for creating and
validating blocks in TON
blockchain
Blocks validation
Correct
Shardchain validation
Reward
Validator
Incorrect
validation
Punishment
has sufficient
Party of
capital of TON
validators coins
is rehired every hour
Nominator
Capital (TON coins)
Nominator Validator
Risks and
possible profit
Doesn’t have Has necessary
necessary hardware hardware
Fisherman
punishment check
Incorrect
Validator validation Fisherman
reward
Collator
suggest
Transactions Collator New block
reward
Classification of TON blockchain
Architecture multi-blockchain
Consensus algorithm Proof-of-Stake
Block generation, BFT
validation and consensus
algorithm
Support for “arbitrary” Yes
smart contracts
Type and rules of member a mixed heterogeneous-homogeneous
blockchains: system
Classification of TON blockchain
Native support for dynamic
sharding
Absence or presence of a Yes
masterchain
Interaction between tightly-coupled
member blockchains
TON Networking Protocol
Abstract Datagram Network Layer
Node2
Real network address (IPv4/IPv6)
Abstract Datagram Network Layer
Abstract network address (256-bit integer)
Node1
Overlay Network
ADNL protocol
Network
Overlay Network
(private/public)
On-chain and off-chain applications
On-chain Off-chain
TON TON
Server
App App
(smart
contract)
TON DNS access example
ton://<domain>/<method>?<eld1>=<value1>&<eld2>=. . .
TON Payment Channel
common balance
Account1 Channel Account2
numerous numerous
payments payments
New block
only one transaction
Chain of payment channels
Channel 1 Channel 2
Account1 Account2 Account2 Account3
Account1 may perform payments to Account3
by asking Account2 to transfer data for reward
Thanks for your attention!