EverKit – All about TVM blockchains
428 subscribers
2.33K photos
53 videos
2.78K links
EverKit team's channel about Everscale network

Our chat: @everkit_chat

Feedback: @everkit_bot
Download Telegram
TPS

Transactions Per Second (TPS) — number of transactions that all blockchain nodes can process every second. In other words, this is the bandwidth of the blockchain.

Approximately TPS can be calculated:

TPS = (number of transactions per block)/(block time in seconds)

To determine the TPS of the blockchain means to carry out a full range of measurements of its performance. Note, that TPS can only give estimates of blockchain performance, since the processing time of a transaction can vary greatly depending on many factors.

The current Bitcoin bandwidth is about 5 TPS. Ethereum's TPS typically ranges from 8 to 20 TPS.

Everscale has the capability to process over 4k TPS with its current set of validators, and it can be further expanded by adding new validators to reach up to approximately 1 million TPS. This is TPS MAX — a theoretically calculated metric.

#education #post
Threaded Virtual Machine (TVM) ⚙️

The Everscale blockchain consists of a masterchain responsible for the overall state of the network, workchains, i.e. individual blockchains (their number can be increased linearly) and shards, i.e. segments of the workchain (several shards form a workchain).

TVM is a virtual machine used to execute the smart contract code in the masterchain and in the Workchain Zero. TVM is used in Everscale, Venom, GOSH and TON blockchains.

This is a stacking virtual machine. We operate data in a stack (operations like "sum up 2 topmost numbers in the stack" or "swap the 2nd and the 10th variables in the stack").

Peculiarities of TVM

The TVM, used to run smart contracts in the masterchain and Workchain Zero, is considerably different from customary designs inspired by the EVM (Ethereum Virtual Machine): it works not just with 256-bit integers, but actually with (almost) arbitrary “records”, “structures”, or “sum-product types”, making it more suitable to execute code written in high-level languages.

🔗 Original Whitepaper by Nikolai Durov
🔗 Everscale Virtual Machine description
🔗 List of instructions and corrections

#education #tvm #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Gas in Everscale ⛽️

The unit of measure for computational work within the Everscale blockchain platform is Gas.

It allows calculating the required resource inputs for operations on the network. Like the fuel needed for any journey, gas can be called the «fuel» of the network.

Users performing various operations on the Everscale blockchain must pay a certain amount of gas (in EVER).

⬜️ Gas is paid for:
• network computing
• memory cells loading
• outgoing message creation
• incoming external-message — if user agrees to pay for it (the fee depends on the size of the message)
• code storage — each contract pays a «rent» for storing its code in the network (it occurs every time a user receives a transaction)

The amount of gas for the transaction depends on its complexity and the amount of resources.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Synchronous and asynchronous blockchains ⚙️

To execute smart contracts, most blockchains use EVM (Ethereum Virtual Machine), or try to be EVM-compatible — developers need less effort to adapt their product to their network.

EVM Scaling Limits

If smart contract A interacts with smart contract B, and that in turn with smart contract C, then all these three actions in the synchronous blockchain must be processed in one approach. What if hundreds or thousands of smart contracts interact simultaneously?

The inability to parallelize and distribute calculations can become an insurmountable problem when there are really a lot of users and transactions.

TVM Infinite Sharding

Everscale as a next-generation blockchain, has an asynchronous architecture (all contracts communicate with each other asynchronously). It is able to process almost any number of transactions per unit of time, because new shards (autonomous segments of the blockchain) are added to the network in proportion to the load on it.

The Everscale developers write smart contracts in Solidity, of course, adapted to TVM and asynchrony. The compiler has an excellent documentation and examples.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
CBDC 🔄

Central bank digital currencies (CBDC) is digital money issued by the government.

According to the research of Bank of America analysts CBDCs have the potential to revolutionize global financial systems and maybe the most significant technological advancement in the history of money.

Skepticism and fear remain in the crypto community that CBDC is the same centralized money, only in a different form, that it is a tool of totalitarian control through transactions, that their entry is associated with the pressure on crypto and that the crypto industry will suffer.

Sergey Shashev in an article on Entrepreneur notes that CBDC, by definition, is a legitimate digital means of payment, unlike, for example, stablecoins, and if they are created correctly, they will be able to optimize financial systems. Actual CBDC Agenda:

• what the legal framework should be
• how the linkage to banks should work
• how to move from stablecoin currencies to CBDCs
• how to integrate the technology into international trade
• how to incorporate CBDCs into "superapps"

In fact, CBDCs are digital versions of fiat currencies that are linked to the original currency in a ratio of 1 to 1. For example, when CBDC is issued in the USA, it will be a digital dollar equivalent to the fiat counterpart.

Everscale is creating technological solutions for launching CBDCs, stablecoins, and remittance services across the world.

#education #cbdc #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Stablecoins 💲

Stablecoin is a cryptocurrency with a stable price, ensured by a link to the price of another, more stable asset.

Stablecoins were created to solve the volatility problem associated with conventional cryptocurrencies, which can fluctuate significantly in price over a short period of time.

There are several types of stablecoins:

🟣Fiat (USDT, USDC, EURS) — link their price to a fiat currency that actually exists in the world economy, such as the US dollar. The ratio in this case will be 1:1.

🟣Crypto-secured (DAI) — secured by cryptocurrencies such as Bitcoin or Ethereum. They operate on the basis of a pledge mechanism, which allows their price to be stable.

🟣Hybrid (USDS) — use a combination of fiat currencies and cryptocurrencies to provide price stability. For example, such stablecoins can be backed 50% by US dollars and 50% by Bitcoins.

🟣Commodities (PAXG, XAUT) — backed by gold, silver, gas, oil and other traditional assets. Can change their value, as the prices of the mentioned commodities can also change. A company that issues such stablecoins must buy, for example, 1 gram of gold on the stock market for each issued token.

🟣Unsecured (BST, CUSD, ESD, FRAX) — may not be backed by fiat, cryptocurrencies or commodities. The issuer of such stablecoin constantly monitors that its price is generally kept around one U.S. dollar. If the token's price exceeds that level, the stablecoin issuer issues additional coins and then the bot sells them on the market, causing the price to drop. If a Stablecoin sags in price, the issuer begins to redeem that cryptocurrency from the market, leveling off its value.

The advantages of stablecoins include reliability, stability and predictability, making them more attractive to those looking for safe ways to store their savings. Stablecoins can also be used to transfer funds quickly and cheaply around the world, making them attractive for international transactions.

The disadvantages of stablecoins are the high degree of centralization, the increased attention of government agencies to this kind of asset, and the risk of being exposed to market fluctuations.

✔️ Overall, stablecoins are an important tool for those who want to take advantage of cryptocurrencies but do not want to face their volatility. However, it is important to remember that they are not a risk-free asset and users should always be careful and aware before using them.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Scalability ↗️

Scalability is the ability of a system to evolve in accordance with growing demand. Blockchain scalability is the ability to increase the number of transactions processed per second.

We can mark the following types of blockchains scalability:

🛑Bitcoin scalability: solutions to increase Bitcoin throughput by increasing the block size or reducing the block interval without changes in the PoW consensus algorithm
🛑PoW scalability: solutions that achieve higher throughput by changing the algorithm
🛑Scalability of Byzantine Fault Tolerance (BFT) algorithms: solutions based on BFT algorithms
🛑Scalable blockchains solutions

BFT is a family of consensus algorithms that can allow arbitrary behavior of untrusted nodes, which allows true nodes to reach consensus in untrusted networks.

Modern blockchain platforms are focused on solving the so-called blockchain trilemma — finding ways to increase scalability with a high level of decentralization and network security. This is achieved in different ways.

For example, SMFT is an original Everscale innovation that raises the bar to 50% fault tolerance (compared to the 33% of BFT consensus), which is the maximum security level by design in decentralized systems. At the same time, dynamic sharding used in Everscale allows to solve scalability problems without losing speed, while adjusting the load on the decentralized network.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
REMP 📄

REMP is a protocol under development, designed to provide more reliable delivery of external messages.

REMP solves several problems:

• Message tracing
• DDOS protection
• Replay protection

For message tracing all messages in REMP go through full nodes, which check their validity and distribute them to the right validators. The validators compile a common queue of external messages and penalize those who insert messages out of order or too few, which is a potential defense against MEV attacks.

For DDOS protection, REMP can only accept external messages from other validators or authorized nodes with a small stake. Ordinary users can send messages only through such nodes, which check the validity of the message and forward it to the validator. The message is considered valid for 2 minutes, after which it may become invalid.

For replay protection, REMP proposes to add ID storage of all external messages by validators for 4-8 minutes and not to allow adding the same message twice during this time — unlike TON architecture, where contracts accept arbitrary external messages, and the contract itself must implement protection against replay.

Overall, the REMP protocol is an innovative solution that provides a high degree of data protection and privacy, using different levels of encryption and authentication.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
External and internal messages 🔍

In the scope of TVM asynchronous architecture, all interaction of contracts with each other is carried out via message sending.

How it works in Everscale

A contract receives an external message from the outside world. If the contract agrees to pay for it, a transaction is launched. As a result of it, the contract may create up to 255 of outcoming internal messages. This outcoming internal message has the address of the destination contract, the function to call in it, and what arguments to pass.

The destination contract receives an incoming internal message and launches a transaction, the result of which is again the creation of outcoming internal messages. if a contract does not agree to supply the gas to pay for the transaction, then the message will simply be discarded, and the transaction will not start.

All internal messages have to carry some amount of coins with them.

Parameters of internal message creation

When you create any internal message by calling the method of other contract or just send him money, you need to set up three parameters:

address.transfer (uint128 value, bool bounce, uint16 flag)

value — the amount of EVER you want to attach to the message.

bounce — Boolean flag that indicates whether we need to try to create a return message should an error occurs during the processing of the message or there is no contract deployed on the destination address. True — send all remaining value back with a note that an error occurred. False — all EVERs will just remain in the destination contract.

flag — special flag for a finer work with the amount of value to add to the outcoming message. It allows to attach to the message exactly the amount of EVERs that remained in the incoming message minus all the spent gas. You can send with the outcoming message all the EVERs left on the contract balance minus those sent in the previous messages.

🔗 Find out more about Everscale architecture in the Everscale Crash Course

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Soft Majority Fault Tolerance (SMFT) 📝

Wishing to improve the security of the Everscale network, while keeping it fast and decentralized enough, Mitya Goroshevsky described the SMFT consensus protocol, his vision of solving several problems of the original Nikolai Durov protocol.

The problems SMFT is trying to solve:

🔴Security of block generation in tracks and finality: validators can release an incorrect block if 2/3+1 of them conspire

🔴Fixing screwed up state: Nikolai Durov suggested using vertical blocks to fix contracts, but their implementation is complicated and requires changes not only in node software, but in other parts of the network as well

🔴Problems in DeFi: lack of finality can cause problems for many DeFi services, such as bridges, and fixing through vertical blocks will no longer be possible

How SMFT solves these problems with verifiers:

🟢Blocks must collect 50% + 1 BLS signatures of the entire workchain to be included in the master, which guarantees their availability

🟢Verifiers verify blocks and send ACK or NACK to the masterchain

🟢In case of NACK, the block is checked by the whole masterchain, and invalid blocks lead to a slash of validators who signed it, sent an ACK, or went silent

🟢Every N blocks, validators must reveal their keys to determine which blocks they should have checked

🟢If a block takes a long time to verify, the verifiers send a timeout, and if several timeouts are set, the block is verified by the masterchain. This allows you to determine the required number of verifiers for each block and eliminate the chance of an attack

🟢SMFT also offers simplification of BFT in a validation session or abandonment of it in favor of selecting a random block maker verified by verifiers to speed up block release

Overall, SMFT is an Everscale innovation that raises the fault tolerance bar to 50% (vs. 33% consensus BFT), which is the maximum level of security in decentralized systems.

#ever #smft #education #post
Please open Telegram to view this post
VIEW IN TELEGRAM