Сегодня позвольте сосредоточиться на подробном введении в смарт-контракты в контексте NFT. Важно хорошо понимать, как децентрализованное приложение взаимодействует с вашим кошельком. Но прежде чем углубиться в детали, начнём с вдохновляющей истории о продаже NFT в апреле 2021 г.
Эдвард Сноуден и его личная история с NFT
В 2019 г. мне посчастливилось принять участие в Web3 Summit V2 в Берлине, где собрались ведущие мыслители децентрализованного веб-пространства. Цель саммита – способствовать полностью функциональному и удобному в пользовании децентрализованному вебу.
Миссия базирующегося в швейцарском городе Цуг Web3 Foundation:
«…содействовать передовым приложениям для программных протоколов децентрализованного веба.
Мы стремимся создать Веб 3.0 – децентрализованный и справедливый интернет, где пользователи контролируют собственные данные, идентичность и судьбу».
Саммит проходил под довольно интересным лозунгом «меньше доверия, больше правды», если учесть, что современные предприятия фокусируются на «построении доверительных отношений с клиентами».
Саммит состоялся в старинном здании Funkhaus Berlin, где с 1952 г. и до воссоединения Германии располагалась радиовещательная организация Германской демократической республики (ГДР).
Ключевым гостем саммита был Эдвард Сноуден, выступивший с впечатляющей речью (по видеосвязи со своего нынешнего убежища) о конфиденциальности и устойчивости к цензуре.
Какое отношение Эдвард Сноуден имеет к NFT? – спросите вы.
В апреле 2021 г. аукционная продажа одного из его NFT позволила ему обеспечить годовой бюджет организации Freedom of the Press.
Как заявила организация:
«Фонд Freedom of the Press получил выручку с продажи первого оригинального NFT-произведения разоблачителя Эдварда Сноудена, ушедшего сегодня с аукциона за 2224 ETH (примерно $5,5 млн). Данная сумма представляет на данный момент самое ценное произведение искусства, проданное на платформе foundation.app. Сноуден создал аукцион от имени фонда Freedom of the Press, где он с 2016 г. является председателем совета директоров».
Произведение было превращено в NFT на сайте foundation.app и описывается так:
«Эта уникальная подписанная работа сочетает полное эпохальное решение суда, постановившего, что массовая слежка Агентства национальной безопасности США нарушала закон, и канонический портрет разоблачителя, выполненный фотографом Платоном (используется с разрешения). Это единственный известный NFT Сноудена.
Создано с использованием открытого ПО.
Данный аукцион проводится от имени фонда Freedom of the Press».
Вышеописанная история – хороший пример того, как децентрализованный веб позволяет проводить аукционы NFT вне юрисдикций.
Определение смарт-контракта
Но достаточно историй, вернёмся к основам смарт-контрактов.
Работая IT-архитектором в финансовой сервисной компании, я всегда интересуюсь правовыми концепциями контрактов.
Дэвид Адлерштейн, консультант в нью-йоркской юридической фирме Wachtell, Lipton, Rosen & Katz, написал в 2019 г. замечательную статью для CoinDesk о политике и регулировании смарт-контрактов.
Его определение смарт-контракта:
«Рабочее определение смарт-контракта – договорное соглашение между как минимум двумя сторонами об автоматизированном, независимом коммерческом результате от исполнения или неисполнения, объективно определяемого посредством кода, конкретного фактического условия».
Он привёл хороший и простой пример с торговым автоматом, представленный учёным-информатиком Ником Сабо, одним из ранних вдохновителей цифровых криптографических валют.
«В классической концепции Сабо скромная транзакция с торговым автоматом – это прототип смарт-контракта, соответствующий рабочему определению: бросьте доллар и автоматически получите банку газировки. В случае этой транзакции с торговым автоматом присутствует юридически обязывающий контракт.
Когда вы укомплектовываете торговый автомат напитками и приглашаете прохожего бросить доллар, чтобы приобрести банку какого-нибудь из них, – это предложение. Когда кто-то бросает доллар, он принимает это предложение. Следовательно, доллар и газировка составляют встречное удовлетворение. И хоть это и незначительный повод, но если автомат съест мой доллар и не отдаст мне газировку, я смогу обратиться в суд».
Я считаю, что это очень красивый, меткий и понятный пример того, как работают смарт-контракты без ручного вмешательства.
Но, как всегда, реальность сложнее. Часто смарт-контракт может представлять не весь юридически обязывающий договор, а лишь его часть. Но оставим пока это и начнём наше пользовательское путешествие.
Путь пользователя к NFT с помощью Mintbase
Для демонстрации пути пользователя к открытию виртуального магазина NFT я выбрал децентрализованное приложение Mintbase. Созданное в 2018 г. Нейтом Гейером, оно развивалось в последние годы благодаря экспериментам.
«Mintbase – глобальная платформа, позволяющая любому, включая людей с небольшим техническим опытом, создавать собственные цифровые активы, верифицируемые несколькими блокчейнами. Mintbase предоставляет создателям различные креативные механизмы распределения и погашения для их клиентов».
Насколько я могу судить, это скорее мелкий игрок в NFT-пространстве, но очень новаторский и быстроразвивающийся.
Компания, согласно её сайту, базируется в Европе, а именно в Берлине и Лиссабоне.
Ряд аспектов делают её платформу хорошей кандидатурой для нашего ознакомительного путешествия:
Она хорошо задокументирована, поддерживается активным сообществом и может быть протестирована в тестнете Эфириума (а также в тестнете NEAR – блокчейна, куда она будет перенесена в будущем). Идеальная площадка для моего исследования.
Mintbase имеет интересный подход к NFT, позволяя вам создать собственный NFT-контракт. Вы буквально становитесь исключительным владельцем специализированного токена, который затем будет применяться к вашим ценным невзаимозаменяемым активам (будь то цифровое искусство, коллекционные объекты или любые другие ценности).
Mintbase разрабатывает новые подходы, как избежать тупиковых комиссий в виде газа в Эфириуме, и рассматривает кроссчейн-решения. Проект сейчас фактически находится в процессе переноса своей NFT-платформы нового поколения с Эфириума на блокчейн NEAR.
NEAR – это блокчейн-платформа, поддерживающая мультичейн-интеграцию.
«Инновации в пространстве децентрализованных финансов (DeFi) и невзаимозаменяемых токенов (NFT) увеличили спрос на сеть Эфириума и подняли транзакционные комиссии до рекордных уровней. Ethereum ↔ NEAR Rainbow Bridge позволяет пользователям беспрепятственно переносить активы на удобную для разработчиков и дешёвую платформу NEAR, обходя высокие комиссии в виде газа без ущерба для скорости».
NEAR стремится сократить свой углеродный след, за что ему присвоили значок продукта, нейтрального для климата, и это хорошо. Углеродный след блокчейн-платформ – большая проблема. Это касается блокчейнов с доказательством выполнения работы, таких как Биткойн и Эфириум 1.0, которые требуют большого количества энергии для защиты сети. Блокчейны с доказательством доли владения, такие как NEAR, решают проблему с помощью подхода, требующего меньше энергии.
В этой статье для объяснения основных концепций мы сосредоточимся на решении Mintbase для Эфириума.
Прежде чем приступить, вспомним вкратце, что такое NFT.
Нейт Гейер недавно написал красивое определение NFT в Твиттере:
«NFT лучше всего понимать как открытый ключ товара или услуги в публичной базе данных».
Загрузка децентрализованного приложения Mintbase (Веб 2.0)
Давайте рассмотрим, что происходит при создании NFT-контракта. Введите в браузере адрес mintbase.io.
Фактически вы загружаете децентрализованное приложение (dApp) Mintbase – состоящее из множества библиотек JavaScipt и CSS – с традиционного сайта, являющегося частью Веба 2.0.
Веб 2.0 – это интернет каким мы его знаем, до появления блокчейн-приложений. Он состоит из классических сайтов (Веб 1.0), а также сайтов и приложений, позволяющих любому создавать информацию или материалы и делиться ими в сети. Эти компоненты обычно работают централизовано, то есть на сервере компании или облачного сервиса.
Таким образом, пока нет взаимодействия собственно с блокчейном, что называется Веб 3.0.
Веб 3.0 – также известный как семантический веб – задумывался как более автономный, интеллектуальный и открытый интернет, и теперь это понятие также охватывает децентрализованные блокчейны.
«Определение Веба 3.0 можно расширить следующим образом: данные будут взаимосвязаны децентрализованным способом, что будет огромным скачком вперёд для нашего текущего поколения интернета (Веб 2.0), где данные в основном хранятся в централизованных репозиториях. Кроме того, пользователи и машины смогут взаимодействовать с данными. Но чтобы это случилось, программы должны понимать информацию как концептуально, так и контекстуально» (coinmarketcap.com)».
После того как вы загрузили dApp в браузер, можно нажать кнопку Create Store.
Запрос о подписи кошелька
После нажатия кнопки вы увидите запрос о подписи вашего кошелька.
Так выглядит процесс регистрации в dApp, чтобы убедиться, что вы легитимный владелец кошелька. Больше ничего для взаимодействия с dApp не нужно – ни имени, ни электронной почты, ни других персональных данных.
На этом шаге Mintbase попросит вас принять условия пользования и политику конфиденциальности. С юридической точки зрения вы вступаете в «децентрализованные смарт-контрактовые отношения» с mintbase.io.
Кошелёк играет центральную роль во взаимодействии с dApp – можно также сказать, что это ваш входной билет в децентрализованный мир.
Кошелёк позволяет вам контролировать уникальный адрес в блокчейне и выступает важнейшим дополнением, выполняющим заявки и проводящим транзакции от имени вашего dApp.
На рынке существует много кошельков, имеющих более-менее одинаковый набор характеристик. В целях нашей статьи мы используем самый известный кошелёк MetaMask и фокусируемся на его версии, представленной в виде расширения для браузера. Будучи браузерным расширением, он может взаимодействовать с веб-страницей, которую вы сейчас просматриваете.
Короткая остановка: браузер в Вебе 3.0
Давайте сделаем короткую паузу и проясним кое-какие понятия, связанные с вашим браузером, что поможет лучше понять кошельки.
На приведённой ниже диаграмме проиллюстрировано одно из ваших личных устройств, например ноутбук.
Вы установили на него браузер Chrome. Браузер состоит из расширений, которые можно скачать в магазине Chrome и которые локально инсталлируются на вашем компьютере, а также из закладок, где отображаются сайты, которые вы загрузили по соответствующим ссылкам.
В нашем примере мы установили кошелёк MetaMask и загрузили сайт mintbase.io.
Как можно видеть на диаграмме, кошелёк MetaMask использует локальное хранилище браузера для хранения необходимых конфигурационных данных, например публичного ключа вашего кошелька, но также строго конфиденциального приватного ключа и его seed-фразы для кошелька.
Здесь не задействованы никакие локальные или центральные базы данных. Кошелёк, как и загруженные децентрализованные приложения, обитают лишь в вашем локальном браузере.
Если вы откроете другой браузер – например, Firefox или Microsoft Edge, – вы не сможете подключиться к вашему кошельку (потому что он обитает в браузере Chrome). Вам нужно будет установить расширение MetaMask и создать клон кошелька (восстановить функционал), используя seed-фразу.
Таким образом, очень важно записать seed-фразу кошелька и держать её в строгом секрете. Тот, у кого есть seed-фраза, имеет полный доступ к вашему кошельку и может вывести с него все средства (то же касается приватного ключа!).
Также важно отметить, что, в отличие от физического кошелька, в криптовалютном кошельке деньги не хранятся. Он лишь контролирует блокчейн-адрес, где находятся ваши криптовалютные счета. Так что вы не можете потерять криптовалюту из-за поломки жёсткого диска или повреждённых данных кошелька. Деньги обитают только в блокчейне. Вы можете сколько угодно восстанавливать и клонировать ваш кошелёк; он всегда ведёт на один и тот же адрес в блокчейне.
Наконец, установив расширение MetaMask, вы разрешили ему вставлять JavaScript-код в загруженные сайты, такие как mintbase.io.
Это создаёт связь, позволяющую dApp Mintbase взаимодействовать с кошельком. Децентрализованное приложение запрограммировано так, чтобы понимать API MetaMask.
Кстати, при установке MetaMask (или других расширений) вы получите уведомление о том, насколько «назойливо» расширение может взаимодействовать с загружаемыми сайтами. Так что будьте осторожны при установке расширения и убедитесь, что устанавливаете правильную версию, а не подделку, которая может попытаться похитить вашу seed-фразу или приватный ключ.
Итак, теперь вы должны достаточно хорошо понимать, что происходит на вашей локальной машине (пока всё ещё без взаимодействия с блокчейном).
Продолжение
Вернёмся к нашему путешествию. Итак, подтвердив запрос о подписи Mintbase (см. выше), вы теперь должны перейти в ваш кошелёк. Приложение Mintbase в фоновом режиме уже отправило запрос о подтверждении подписи в кошелёк MetaMask, который теперь ждёт вашего одобрения.
В нашем случае MetaMask уведомит вас, что вы должны войти, чтобы подтвердить запрос. В экране входа в MetaMask вам следует войти в мэйннет Эфириума и ввести пароль.
После входа вас попросят подключиться к mintbase.io и выбрать счёт (представляющий уникальный адрес в блокчейне, контролируемый вашим кошельком).
Вы разрешаете dApp Mintbase просмотреть публичный адрес в блокчейне и использовать его счёт для проведения транзакций.
То есть вы разрешаете dApp лишь просмотреть счёт адреса; вы должны будете подтвердить любые последующие транзакции.
Нажав Connect, вы завершите процесс регистрации в dApp и будете наконец готовы создавать NFT.
Итак, теперь вы готовы к первому взаимодействию с блокчейном, но это мы рассмотрим в следующей статье.
Пока что было важно разобраться с самим кошельком, так как он играет очень важную роль, управляя транзакциями вашего счёта в блокчейне через dApp.
Взаимодействие, рассмотренное в этой статье, резюмировано в следующей диаграмме. Если вы установите любое другое dApp, оно будет использовать при первом запуске те же базовые шаги.
Источник: bitnovosti.com