Предисловие
Представьте себе сценарий, в котором блокчейн платформа быстро развивается, а количество пользователей быстро растет, достигая десятков миллионов, что приводит к резкому увеличению сопутствующих расходов в течение короткого времени. Какие стратегии на данном этапе необходимы для поддержания операционной эффективности без ущерба для темпов развития из-за сложных процессов согласования и подтверждения? Как согласятся многие бизнес предприятия, масштабируемость должна быть приоритетом.
В качестве off-chain технологии масштабирования Ontology Layer 2 предлагает более высокую производительность и более низкие показатели. Предприятия могут безопасно хранить большое количество записей транзакций вне цепочки, а затем передавать их в цепочку, когда им нужно взаимодействовать, снижая затраты пользователей на транзакции и резко повышая производительность.
Введение
Как указано в роадмапе Aristotle 2020, в сочетании с крос-цепочками Ontology, Wasm-JIT, Multi-VM и другими передовыми базовыми технологиями, Ontology Layer 2 теперь показывает лучшую производительность в отличие от других решений Уровня 2. Это отражается в его низких затратах на хранение, многоязычной поддержке и полной совместимости версий анализа и исполнения. Обеспечение беспрепятственного взаимодействия контрактов на развертывание, например, запуск нескольких виртуальных операционных систем на одном компьютере, что повышает эффективность выполнения и снижает затраты на обработку.
Рабочий процесс
Уровень 2 Ontology состоит из 3 основных частей: депозит Ontology на Уровне 2, выводы Уровня 2 на Ontology, транзакции Уровня 2 и гарантия безопасности.
В трейдинг центре Уровня 2 пользователи могут совершать транзакции, выполнять контрактные запросы и подписывать контракты. Эта транзакция может совпадать с форматом транзакции основной цепочки Ontology или может отличаться. Сборщики транзакций (называемые «Collectors», далее «коллектор») отвечают за сбор транзакций Уровня 2 пользователя. На протяжении всего процесса может быть несколько коллекторов. Пользователи также могут транслировать свои транзакции Уровня 2 нескольким коллекторам.
Коллектор периодически упаковывает собранные транзакции Уровня 2 и запускает их для создания нового состояния. Коллектор также отвечает за передачу корня нового состояния в главную цепочку Ontology. После выполнения транзакций, упакованных в блоке Уровня 2, корень нового состояния становится состоянием блока Уровня 2. Претендент несет ответственность за проверку состояния блока Уровня 2, представленного Коллектором в главную цепочку Ontology. Это требует от Претендента синхронизировать блок Уровня 2 через Коллектор, чтобы поддерживать полное глобальное состояние.
ПОДТВЕРЖДЕНИЕ СОСТОЯНИЯ УЧЕТНОЙ ЗАПИСИ ВКЛЮЧАЕТ В СЕБЯ ИНФОРМАЦИЮ О СОСТОЯНИИ УЧЕТНОЙ ЗАПИСИ И ЕЕ ПОДТВЕРЖДЕНИЕ, КОТОРОЕ МОЖНО ПОЛУЧИТЬ ИЗ ЗАПРОСОВ COLLECTOR И CHALLENGER. ТОЛЬКО ОНИ ПОДДЕРЖИВАЮТ ПОЛНОЕ ГЛОБАЛЬНОЕ СОСТОЯНИЕ.
Депозит на Уровене 2
- Сначала пользователь выполняет операцию «Deposit» в основной цепочке Ontology. Контракт основной цепочки блокирует депозитные средства пользователя и фиксирует состояние этого фонда на Уровне 2. На данном моменте статус «unreleased».
- Затем Коллектор получает уведомление о том, что в основной цепочке Ontology ожидается операция Депозита. Коллектор изменит свое состояние на уровне 2 в соответствии с операцией депозита. Сборщик затем добавляет Депозит для деблокирования транзакции и упаковывает его вместе с другими пользовательскими транзакциями в блок Уровня 2. Когда состояние блока уровня 2 достигает основной цепочки Ontology, оно уведомляет систему об освобождении депозита.
- Контракт основной цепочки выполняет операцию освобождения депозита и изменяет статус депозитного фонда на «released».
Выводы из Ontology
- Пользователь создает транзакцию уровня 2 «Вывод средств» и передает ее сборщику.
- Collector изменяет свое состояние в соответствии с Withdraw и одновременно упаковывает транзакцию Withdraw и другие пользовательские транзакции вместе в блок Уровня 2. При отправке состояния блока Уровня 2 в основную цепочку Ontology будет отправлен запрос на Вывод.
- Контракт основной цепочки выполняет запрос на снятие средств, регистрирует запись о фонде и устанавливает статус «not released».
- После подтверждения состояния пользователь отправляет запрос на снятие средств со счета.
- Контракт основной цепочки выполняет запрос на снятие средств со счета, переводит средства на целевой счет и устанавливает для записи снятия деньги «released».
Транзакции Уровня 2 и обеспечение безопасности
Транзакции уровня 2
- Пользователь создает транзакцию Уровня 2 «Transfer» и передает ее Коллектору.
- Коллектор упаковывает транзакцию переноса и другие транзакции в блок Уровня 2, выполняет транзакции в блоке и передает состояние этого блока уровня 2 в основную цепочку Ontology.
- Дождитесь подтверждения состояния.
Гарантия безопасности
После того, как Оператор отправит состояние блока Уровня 2 в основную цепочку Ontology, Претендент также может выполнить транзакцию блока Уровня 2 и проверить правильность состояния блока Уровня 2. Если что-то не правильно, Претендент соберет доказательства мошенничества и отправит смарт-контракт Уровня 2, чтобы оспорить Оператора.
Как пользоваться
В настоящее время Уровень 2 Ontology доступен в Ontology TestNet для разработчиков, с которыми можно экспериментировать.
Ссылка на документацию
В следующей статье мы представим подробное сравнение производительности с Уровнем 2 в других цепочках.
Appendix: термины
Транзакции уровня 2
Пользователь сделал запрос на передачу или исполнение договора на Уровне 2 и уже подписал его. Эта транзакция может совпадать с форматом транзакции основной цепочки Ontology или может отличаться.
Коллектор
Collector — это коллектор транзакций Уровня 2. Он отвечает за сбор транзакций Уровня 2 пользователя, проверку и выполнение транзакции. Каждый раз, когда генерируется блок Уровня 2, коллектор отвечает за выполнение транзакций в блоке, обновление статуса и генерацию контрактов Уровня 2, которые можно интерпретировать как подтверждение состояния, используемого для обеспечения безопасности.
Блок уровня 2
Collector периодически упаковывает собранные транзакции Уровня 2, генерирует блок, содержащий все транзакции Уровня 2, и генерирует новый блок Уровня 2.
Состояние уровня 2
Collector выполняет пакетные транзакции в блоке Уровня 2, обновляет состояние, сортирует все обновленные данные о состоянии для создания дерева Merkle и вычисляет корневой хэш дерева Merkle. Корневой хэш — это состояние блока Уровня 2.
Оператор
Оператор является ответственным за безопасность Уровня 2 и отвечает за мониторинг того, происходит ли передача токена на Уровень 2 или транзакция передачи токена с Уровня 2 в основную цепочку Ontology. Оператор также несет ответственность за периодическую отправку подтверждения статуса Уровня 2. В качестве подтверждения вы можете перейти к сети Ontology.
Претендент
Претендент несет ответственность за проверку подтверждения статуса, представленного Оператором в главную цепочку Ontology. Это требует от претендента синхронизировать транзакции Уровня 2 от оператора или цепочки для поддержания полного глобального состояния. После того, как Претендент синхронно выполняет транзакцию и обновляет статус, он может проверить правильность подтверждения статуса, представленного Оператором в сети. Если есть проблемы, Претендент может создать fraud proof challenge, которую может объяснить контракт Уровня 2.
Подтверждение статуса аккаунта
Достигнутые с помощью доказательства Merkle, подтверждение статуса аккаунта может быть получено от Операторов и Претендентов. Они являются единственными сторонами, которые поддерживают полное глобальное состояние.
Доказательство мошенничества
Подтверждение мошенничества включает подтверждение статуса учетной записи до текущего обновления блока 2-го уровня.
Предыдущий сертификат статуса блока 2-го уровня и представленный сертификат статуса учетной записи подтверждают легитимность старого состояния перед обновлением. Доказательство того, что старое состояние является законным, можно получить, запустив текущий блок.
Ориентированный на предприятия блокчейн Ontology готов помочь предприятиям трансформировать и модернизировать свой бизнес. Если у вас возникли проблемы с автономной масштабируемостью, виртуальными машинами или полным набором технических систем, свяжитесь с нами по адресу contact@ont.io.
Узнать больше об Ontology
Свежая, актуальная информацию и приятное общение в нашем Telegram-чате — Telegram Russian
Также, подписывайтесь и изучайте наши: Сайт Ontology — GitHub — Discord — Twitter — Reddit
ссылка на оригинал статьи https://habr.com/ru/post/504452/
Добавить комментарий