EverKit – Все о TVM блокчейнах
2.25K subscribers
2.93K photos
58 videos
3.4K links
Больше информации об Everscale: everkit.org

Вступайте в наш чат: @everkit_chat_ru

Обратная связь: @everkit_bot

YouTube: www.youtube.com/channel/UCht7VasNMTAXFw5Zd1CmkdQ

Англоязычный канал: @everkit
Download Telegram
Threaded Virtual Machine (TVM) ⚙️

Блокчейн Everscale состоит из мастерчейна, отвечающего за общее состояние сети, воркчейнов — отдельных блокчейнов (их количество можно увеличивать линейно) и шардов — сегментов воркчейна (несколько шардов формируют воркчейн).

TVM — это виртуальная машина, используемая для выполнения кода смарт-контракта в мастерчейне и в базовом воркчейне. Используется в блокчейнах Everscale, Venom, TON, GOSH.

Это простая стековая виртуальная машина, где мы оперируем с данными, которые лежат на стеке (примеры операций: "сложить два верхних числа, лежащих на стеке", или "поменять местами вторую и десятую переменные в стеке").

Особенности TVM

TVM, используемый для запуска смарт-контрактов в мастерчейне и базовом воркчейне, значительно отличается от проектов на EVM (виртуальная машина Ethereum): он работает не только с 256-битными целыми числами, но фактически с (почти) произвольными записями и структурами или суммой-типов продуктов, что делает его более подходящим для выполнения кода, написанного на высокоуровневых языках.

🔗 Оригинальный вайтпейпер Николая Дурова
🔗 Перечень инструкций и исправлений

#education #tvm #post
Газ в Everscale ⛽️

Единицей измерения вычислительной работы внутри блокчейн-платформы Everscale является газ (Gas).

Эта метрика позволяет рассчитать необходимые затраты ресурсов для проведения операций в сети. Подобно топливу, необходимому для любой поездки, газ можно назвать «топливом» сети.

Пользователи, выполняющие различные операции в блокчейне Everscale, должны заплатить определённое количество газа (в EVER).

⬜️ Газ оплачивается за:
• вычисления сети
• загрузку ячеек памяти
• создание исходящих сообщений
• входящее external-сообщение — при условии, что пользователь согласился его оплатить (плата зависит от размера сообщения)
• хранение кода — каждый контракт платит «арендную плату» за хранение своего кода в сети (плата снимается каждый раз, когда пользователю приходит транзакция)

Количество газа для выполнения операции зависит от её сложности и объёма ресурсов.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Синхронные и асинхронные блокчейны ⚙️

Для исполнения смарт-контрактов большинство блокчейнов используют EVM (Ethereum Virtual Machine), либо стараются быть EVM-совместимыми — разработчикам требуется меньше усилий, чтобы адаптировать свой продукт к новой сети.

Пределы масштабирования EVM

Если смарт-контракт A взаимодействует со смарт-контрактом B, а последний взаимодействует со смарт-контрактом C, то все эти три действия в синхронном блокчейне должны быть обработаны за один подход. А что, если взаимодействуют сотни или тысячи смарт-контрактов?

Невозможность распараллелить и распределить вычисления может стать непреодолимой проблемой, когда пользователей и транзакций станет действительно много.

Бесконечное шардирование TVM

Everscale — блокчейн следующего поколения, имеет асинхронную архитектуру (все контракты общаются между собой асинхронно) и решает эту проблему. Он способен обработать практически любое количество транзакций за единицу времени, ведь новые шарды (автономные сегменты блокчейна) добавляются в сеть пропорционально нагрузке на неё.

В Everscale смарт-контракты пишутся на Solidity, адаптированном к TVM и асинхронности. Компилятор имеет отличную документацию и примеры.

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

Цифровая валюта центральных банков (Central bank digital currency, CBDC) — цифровые деньги, эмитентом которых является государство.

Согласно исследованию аналитиков Bank of America, CBDC обладают потенциалом для революционизирования глобальных финансовых систем и, возможно, самого значительного технологического прогресса в истории денег.

В криптосообществе сохраняется скептицизм и опасение, что CBDC это все те же централизованные деньги, только в другой форме, что это инструмент тоталитарного контроля через отслеживание транзакций, что их ввод связан с усилением давления на криптовалюты и криптоотрасль пострадает.

Сергей Шашев в статье на Entrepreneur отмечает, что CBDC, по определению, являются законным цифровым платежным средством, в отличие от, например, стейблкоинов, и если они будут созданы правильно, смогут оптимизировать финансовые системы. Автор выделяет актуальную повестку CBDC на сегодняшний день:

• правовая база
• связь с банками
• как перейти со стейблкоинов на CBDC
• как включить CBDC в "суперприложения"
• как интегрировать технологию в международную торговлю

По сути, CBDC — это цифровые версии фиатных валют, которые привязаны к исходной валюте в соотношении 1 к 1. Например, при выпуске CBDC в США, это будет цифровой доллар, эквивалентный фиатному аналогу.

Everscale участвует в создании технологических решений для запуска CBDC, стейблкоинов и сервисов денежных переводов по всему миру.

#education #cbdc #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Стейблкоины 💲

Стейблкоин — это криптовалюта со стабильной ценой, обеспечивающаяся привязкой к цене другого, более устойчивого актива.

Стейблкоины были созданы, чтобы решить проблему волатильности, связанную с обычными криптовалютами, которые могут значительно колебаться в цене в течение короткого периода времени.

Существует несколько типов стейблкоинов:

🟣Фиатные (USDT, USDC, EURS) связывают свою цену с фиатной валютой, реально существующей в мировой экономике, например с долларом США. Соотношение в таком случае будет равно 1:1.

🟣Крипто-обеспеченные (DAI) — обеспечиваются криптовалютами, такими как Bitcoin или Ethereum. Они работают на основе механизма залога, который позволяет обеспечить стабильность их цены.

🟣Гибридные (USDS) — используют комбинацию фиатных валют и криптовалют для обеспечения стабильности цены. Например, такие стейблкоины могут быть обеспечены 50% долларами США и 50% биткоинами.

🟣Товарные (PAXG, XAUT) — подкреплены золотом, серебром, газом, нефтью и другими традиционными активами. Могут менять свою стоимость, так как цены упомянутых товаров тоже могут изменяться. Компания, выпустившая такие стейблкоины, должна покупать, например, 1 грамм золота на фондовом рынке за каждый выпущенный токен.

🟣Необеспеченные (BST, CUSD, ESD, FRAX) — могут не обеспечиваться фиатом, криптовалютами или товарами. Эмитент такого стейблкоина постоянно контролирует, чтобы его цена держалась, как правило, в районе одного доллара США. Если цена токена превышает этот уровень, то смарт-контракт выпускает дополнительные монеты, а затем бот продаёт их на рынке, что приводит к снижению цены. Если стейблкоин проседает в цене, то эмитент начинает выкупать данную криптовалюту с рынка, выравнивая его стоимость.

Преимущества стейблкоинов включают в себя надёжность, стабильность и предсказуемость, что делает их более привлекательными для тех, кто ищет безопасные способы для хранения своих сбережений. Также стейблкоины могут использоваться для быстрой и дешёвой передачи средств по всему миру, что делает их привлекательными для международных транзакций.

Недостатками стейблкоинов можно назвать высокую степень централизации, повышенное внимание государственных органов к такому роду активов и риск быть подверженными рыночным колебаниям.

✔️ В целом, стейблкоины — это важный инструмент для тех, кто хочет воспользоваться преимуществами криптовалют, но не хочет столкнуться с их волатильностью. Однако важно помнить, что они не являются безрисковым активом, и пользователи всегда должны быть внимательными и осведомлёнными, прежде чем их использовать.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Масштабируемость ↗️

Масштабируемость — это способность системы развиваться в соответствии с растущим спросом. Масштабируемость блокчейна — способность увеличивать число обрабатываемых транзакций в секунду.

Мы можем выделить следующие типы масштабируемости блокчейнов:

🛑Масштабирование Bitcoin: решения для повышения пропускной способности Bitcoin за счёт увеличения размера блока или сокращения интервала блока без изменений в POW-алгоритме консенсуса
🛑Масштабирование PoW: решения, которые достигают более высокой пропускной способности за счёт изменения алгоритма
🛑Масштабирование алгоритмов византийской отказоустойчивости (Byzantine Fault Tolerance, BFT): решения, основанные на BFT-алгоритмах
🛑Решения масштабируемых блокчейнов

BFT — это семейство алгоритмов консенсуса, которые могут допускать произвольное поведение ненадежных узлов, что позволяет честным узлам достигать консенсуса в ненадёжных сетях.

Современные блокчейн-платформы сосредоточены на решении так называемой трилеммы блокчейна — поиске способов повысить масштабируемость, при сохранении высокого уровня децентрализации и безопасности сети. Это достигается разными путями.

К примеру, SMFT — инновация Everscale, которая повышает планку отказоустойчивости до 50% (по сравнению с 33% консенсуса BFT), что является максимальным уровнем безопасности в децентрализованных системах. Динамический шардинг, применяемый в Everscale позволяет, не теряя скорости, решать проблемы масштабируемости, регулируя при этом нагрузку на децентрализованную сеть.

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

REMP — это протокол, находящийся на стадии разработки, предназначенный для обеспечения более надёжной доставки внешних сообщений.

REMP решает несколько задач:

• Защита от DDOS-атак
• Отслеживание сообщений
• Защита от повторного воспроизведения

Для защиты от DDOS-атак REMP может принимать внешние сообщения только от других валидаторов или авторизованных нод, имеющих небольшой стейк. Обычные клиенты могут посылать сообщения только через такие ноды, которые проверяют валидность сообщения и пересылают его валидатору. Сообщение считается валидным в течение 2 минут, после чего может стать недействительным.

Для отслеживания сообщений в REMP все сообщения проходят через фулноды, которые проверяют их валидность и рассылают нужным валидаторам. Валидаторы составляют общую очередь внешних сообщений и наказывают тех, кто вставляет сообщения не по порядку или слишком мало, что является потенциальной защитой от MEV атак.

Для защиты от повторного воспроизведения в REMP предлагается добавить хранение ID всех внешних сообщений валидаторами в течение 4-8 минут и не разрешать добавлять одно и то же сообщение дважды в течение этого времени — в отличие от архитектуры TON, где контракты принимают произвольные внешние сообщения, и контракт должен сам реализовать защиту от повторного воспроизведения.

В целом, протокол REMP является инновационным решением, которое обеспечивает высокую степень защиты данных и конфиденциальности, используя различные уровни шифрования и аутентификации.

#education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Внешние и внутренние сообщения 🔍

В TVM-сетях общение контрактов между собой происходит с помощью отправки сообщений асинхронно.

В Everscale

Контракт получает внешнее сообщение, и, если контракт соглашается его оплатить, запускается транзакция, в результате которой контракт может создать до 255 исходящих внутренних сообщений (internal message). В исходящем сообщении есть адрес контракта назначения, какую функцию там надо вызвать и с какими аргументами.

Контракт назначения получает входящее внутреннее сообщение, и запускается транзакция, в результате которой опять же могут быть созданы исходящие внутренние сообщения. Если контракт не согласится оплатить транзакцию, то такое внешнее сообщение просто будет отброшено, транзакция не начнется и не попадёт в блок.

Любое внутреннее сообщение должно нести с собой какое-то количество EVER. Даже если контракт согласится оплатить сообщение, в нём должно хватить монет на оплату загрузки контракта и оплату начальных проверок.

Параметры создания внутренних сообщений

Когда вы создаете какое-то внутреннее сообщение вызывая метод другого контракта или просто переводите ему монеты, вы должны указать три параметра:
address.transfer (uint128 value, bool bounce, uint16 flag)

value
— Количество EVER которые вы хотите приложить к этому сообщению.

bounce — Булевый флаг, который определяет, что должно произойти если в ходе обработки сообщения контрактом назначения произойдет ошибка, или контракт не существует. True — надо отправить назад оставшееся value с пометкой, что произошла ошибка, False — просто оставить все EVER на контракте назначения.

flag — Специальный флаг, чтобы более тонко работать с количеством value которое должно быть приложено к исходящему сообщению. Позволяет, например, прикрепить к сообщению ровно столько EVER сколько осталось во входящем сообщении минус весь потраченный газ. Или отправить с сообщением все оставшиеся на балансе контракта EVER минус отправленные в предыдущих сообщениях.

🔗 Об архитектуре Everscale читайте в туториале

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

Желая повысить безопасность сети Everscale, сохранив высокую скорость работы и достаточную децентрализацию, Митя Горошевский описал протокол консенсуса SMFT — своё видение решения сразу нескольких проблем оригинального протокола Николая Дурова.

Проблемы, которые SMFT старается решить:

🔴Безопасность генерации блоков в тредах и финальность: валидаторы могут выпустить некорректный блок, если 2/3+1 из них сговорятся

🔴Исправление испорченного стейта: Николай Дуров предлагал использовать вертикальные блоки для исправления контрактов, но их реализация сложна и требует изменений не только в ПО ноды, но и в других частях сети

🔴Проблемы в DeFi: недостаток финальности может создавать проблемы для многих DeFi-сервисов, таких как мосты, и исправление через вертикальные блоки будет уже не возможно

Как SMFT решает эти проблемы с помощью верификаторов:

🟢Блоки должны собрать 50% + 1 BLS подписей всего воркчейна для включения в мастер, что гарантирует их доступность

🟢Верификаторы проверяют блоки и отправляют ACK или NACK в мастерчейн

🟢В случае NACK блок проверяется всем мастерчейном, и невалидные блоки приводят к слешу валидаторов, которые подписали его, отправили ACK или промолчали

🟢Каждые N блоков валидаторы должны раскрыть свои ключи для определения, какие блоки они должны были проверить

🟢Если блок долго проверяется, верификаторы отправляют таймаут, и при наборе нескольких таймаутов блок проверяется мастерчейном. Это позволяет определить необходимое количество верификаторов для каждого блока и исключить вероятность атаки

🟢SMFT также предлагает упрощение BFT в сессии валидации или отказ от неё в пользу выбора случайного составителя блока, проверяемого верификаторами, для ускорения выпуска блоков

В целом, SMFT — это инновация Everscale, которая повышает планку отказоустойчивости до 50% (по сравнению с 33% консенсуса BFT), что является максимальным уровнем безопасности в децентрализованных системах.

#ever #smft #education #post
Please open Telegram to view this post
VIEW IN TELEGRAM
Воркчейны ↔️

В основе блокчейна Everscale лежит мастерчейн — главная цепочка блоков, которая отвечает за соблюдение правил работы сети. В ней же хранится вся информация о транзакциях. Мастерчейн обеспечивает безопасность для всех подключенных к нему воркчейнов.

Воркчейны — это блокчейны, которые, с одной стороны, могут работать независимо и иметь свою виртуальную машину, структуру транзакций или блоков и собственный токен. С другой стороны, у них есть свойство интероперабельности, позволяющее передавать активы между воркчейнами. Это позволяет обеспечить возможность широкого применения блокчейна в таких сферах как DeFi, NFT, GameFi.

Фактически, воркчейны выполняют в сети роль «рабочих лошадок» — «тянут» нагрузку, проводя транзакции. При этом Каждый воркчейн способен вмещать до 256 шардов (потоков), работающих параллельно при полной синхронизации, что позволяет обрабатывать большое количество транзакций одновременно.

Блокчейн Everscale сейчас состоит из двух сетей: мастерчейна и базовой цепочки. Базовая цепочка — это воркчейн для конечных пользователей, поддерживающий dApps и служащий платформой для исполнения смарт-контрактов.

В Everscale, помимо обычных воркчейнов для обработки данных, существует тип сети, называемый драйвчейном. По своей сути драйвчейн — это воркчейн, оптимизированный для хранения больших объемов данных.

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