Базовые знания разработки смарт-контрактов: механизм минимального доверия, смарт-контракты, EVM.
Базовые знания разработки смарт-контрактов: механизм минимального доверия, смарт-контракты, EVM.

смарт-контракт

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

Упомянутое доверие Вы должны заранее механизм минимального доверия Понятно

механизм минимального доверия

Вот Эфириум против механизма минимального довериеиз официального описания Видео можно посмотреть на YouTube-канале Конечно, если Понятно не может попасть или это слишком хлопотно Вот самый простой способ понять

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

Что это значит Самое простое — привести реальный пример То естьбанк Ах, нет Это инвестиционная компания, которой управляет Лао Ван. Лао Ван — спекулянт. Он заявляет внешнему миру: «Вложите в меня свои деньги». Я позволю тебе лежать и зарабатывать деньги» Но на самом деле Он взял деньги, данные ему клиентом, и поехал отдыхать на Бали. Там осталась лишь кучка упаковочных фабрик, дующих на ветру.

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

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

механизм минимального Ключевым моментом является распространение доверия среди нескольких участников, чтобы уменьшить зависимость от одной организации. Проще говоря, найдите группу людей, которые будут смотреть на Лао Ванга. Не позволяйте ему сбежать с вашими деньгами Это улучшит отношения между вами и Лао Вангом. надежность транзакции А здесь из «многих» как раз и отражается Понятно Распределенные приложения
Ну Понятно, поскольку этот механизм минимального уверенность настолько высокого класса Тоже так ценно На что ему следует опираться, чтобы добиться этого?
очень хороший То естьсмарт-контракт

смарт-контракт

смарт-контракт(Smart Contract) — автоматизированный контракт, основанный на технологии блокчейн. Это часть программного кода, который выполняет, проверяет и обеспечивает соблюдение условий контракта в блокчейне.

Процесс выполнения смарт-контрактиз:

  1. Создание договора. Сначала один человек (создатель) развертывает договор с помощью специальной транзакции (называемой транзакцией создания договора). Эта транзакция содержит байт-код Понятнодоговориз (т. е. скомпилированный код договоризма) и другие необходимые параметры. В этой транзакции создатель отправляет эфир (ETH) на договорный адрес, например контрактиз Первоначальный капитал.
  2. Транзакция создания договора: транзакция создания договора транслируется по всей сети Эфириум и включается в блок майнерами.
  3. Блокчейн Подтверждение: Майнеры создают новые блоки, выполняя байт-код издоговора в транзакциях. Это процесс создания договоров в сети Эфириум.
  4. Запуск договора: после создания договора любой может активировать договор, отправив транзакцию на адрес договора. Эта транзакция состоит из Понятного вызова договоризданных, который должен выполнить функцию издоговора и ее параметры.
  5. Выполнение договоризма: когда транзакция упаковывается и записывается майнером в Блок-договор, каждый узел в сети Эфириум выполняет байт-код договориз, чтобы имитировать процесс выполнения договориз. Это гарантирует, что все узлы достигнут одинакового результата.

Как контракт, это по сути код. Поскольку это код, существует множество языков программирования на выбор.

  • Солидность: в настоящее время DeFi TVL (DeFi Языки, которые фиксируют ценность токенов, составляют наибольшую долю. это язык высокого уровня, похожий на JavaScript。
  • Вайпер: В настоящее время DeFi TVL Второе место среди языков. Это также язык высокого уровня, похожий на Python。
  • Хафф: низкоуровневый язык, похожий на ассемблер.
  • Юл: низкоуровневый язык, похожий на ассемблер.,Встроено в Solidity

Вы можете выбрать то, что вам нравится Но если вы ориентированы на рынок Рекомендуется выбирать надежность (также в центре внимания этой колонки) на основе DefiLlama Данные на данный момент находятся в DeFi Домен, Солидность смарт-контрактполучать Понятно 87% из TVL

Потому что Солидность — объектно-ориентированный язык программирования, используемый для написания смарт-контрактов на Эфириуми и других Блокчейн. Solidity Популярен в Java, C++、Python и JavaScript из ударопрочного и предназначенного для EVM (Подробнее об этом позже).

Согласно вышеизложенным идеям Мы счастливы, познав основательность Вы можете написать договор счастливо но Что нам нужно выполнить?

EVM

EVM — вычислительная машина,Участвует в операциях развертывания смарт-контрактов. Нет ЭВМ,Невозможно выполнять программы по протоколу Эфириум. поэтому,EVM является ключевой частью базовой архитектуры Эфириума.

Короче говоря, здесь исполняется код контракта.

EVM завершена по Тьюрингу,Потому что с его помощью можно выполнять расчеты различной сложности. В этом разница между Эфириумом и Биткойном.,Потому что Биткойн является неполным по Тьюрингу.,Ограничение. Понимание его функциональности.

Основная функция Биткойна — «распределенный реестр».,Он предусматривает понятную передачу значений из правил. За исключением Понятной передачи значения обработки,Эфириум (через EVM) также поддерживает развертывание смарт-контракта. поэтому,Эфириум описывается как «распределенный конечный автомат».

«Состояние» относится к информации о системе в любой момент времени. в Эфириуме,Статус относится к адресу и коду исмарт-контракта баланса, существующему в конкретный момент. Каждая транзакция вызывает изменение состояния Эфириумиз (переход состояний).,Это изменение отражается по всей сети.

Здесь, в Понятно, мы обнаруживаем, что можем выполнить код Понятно при собственном развертывании из Блокчейн. Но эта игра не кажется такой уж интересной Потому что это одиночная игра Мы обнаружили, что если мы пойдём только к Понятно Мы просто меняем язык программирования Ничего практического не сделал

Итак, есть Понятный оракул

Цепной оракул

Зачем блокчейну нужны оракулы?

Блокчейнизсмарт-контракти Децентрализованные приложения (Dapp) требуют интерактивных внешних данных. То есть обработка оракула

Оракул — это односторонний цифровой агент,Может найти и проверить реальный мир и зданные,и передать информацию в смарт-контракт в зашифрованном виде. Оракул подобен мосту между миром и реальным миром.

Принцип работы оракула

  1. Процесс получения данных: Процесс получения данных Oracle обычно включает в себя следующие этапы:
    • смарт-контракт инициирует запрос данных: смарт-контракт отправляет запрос данных оракулу,Укажите необходимость получения изданных типа и параметров.
    • Оракул получает данные: Оракул получает соответствующие изданные из внешнего источника данных на основе запроса смарт-контрактиз.
    • Проверка и обработка данных: машина Oracle выполняет проверку и обработку полученных данных, чтобы обеспечить точность и целостность данных.
    • данные, отправленные в Блокчейн: Оракул обработает отправленное сообщение, совершив транзакцию/транзакцию в пути.,Отправить данные в Блокчейн,длясмарт-контрактиспользовать。

Так что же такое Chainlink?

Chainlink — относительно совершенный децентрализованный проект оракула. ​​В следующей статье мы познакомим вас с подробным введением и представлением оракула.

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.