EverKit
1.91K subscribers
3K photos
59 videos
3.46K links
Download Telegram
TPS

Transactions Per Second (TPS) — количество транзакций, которые узлы блокчейн сети обрабатывают за секунду. Иными словами, это пропускная способность блокчейна.

Приблизительно TPS можно рассчитать так:

TPS = (количество транзакций в блоке)/(время блока в секундах)

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

Текущая пропускная способность Bitcoin составляет около 5 TPS. TPS Ethereum обычно колеблется от 8 до 20 транзакций в секунду.

Everscale способен обрабатывать более 4000 TPS с помощью своего текущего пула валидаторов, а увеличив их число, скорость может достигнуть 1 миллиона TPS. Это так называемый TPS MAX — теоретически рассчитанный показатель.

#education #post
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