26 января 2022 года сооснователь блокчейна Ethereum Виталик Бутерин в своем блоге предложил концепцию NFT - Soulbound. В этой статье мы: разберем что это такое поговорим про Use Cases обозначим технические проблемы реализации такого токена рассмотрим как хотят реализовывать Soulbound NFT в сети TON ну и конечно же, выясним при чем тут варкрафт Чего в этой статье не будет, так это рекламы NFT или каких-то маркетплейсов NFT)Отмечу также, что Виталик недавно опубликовал расширенное описание Soulbound NFT - почитать можно здесь . Итак, в своем блоге Виталик Бутерин обращает внимание, что в игре World of Warcraft есть отличная механика - игровые Soulbound предметы. Однажды "полученные/поднятые" нельзя продать или передать. Обычно подобные предметы, можно получить выполняя сложные и командные квесты. Как отмечает Виталик Бутерин, Soulbound предметы, как игровая механика, побуждают игроков проходить сложные квесты, а также выделяют тех или иных игроков обладающих подобными предметами среди остальных. Блог Виталика всегда привлекает много внимания, там часто описываются блокчейн концепции, которые, говоря простым языком, выстреливают. Например, идею крупнейшей децентрализованной биржи Uniswap, основатели взяли именно из блога Виталика - ссылка на историю здесь. Возникает вопрос, при чем тут NFT(Non-Fungible Tokens). Виталик отмечает, схожесть NFT и игровых предметов. Но в играх предметы могут сигнализировать о чем либо(пройденные квесты, посещенные места, принадлежность к комьюнити), а NFT в своем текущем виде, отражают, что вы умеете покупать NFT за криптовалюты, а также ваше богатство. NFT - это невзаимозаменяемый токен, каждый экземпляр которого уникален (специфичен) и не может быть замещён другим аналогичным активом. Токен - это единица учета некоторого цифрового актива в некоторой сети. Именно поэтому Soulbound NFT, могут иметь положительное влияние на крипто индустрию, так как это, что-то за рамками просто накопления и перепродаж, трейдинга и прочих вещей, связанных с богатством. Как и обычные NFT, Soulbound NFT будут представлять собой некоторый смарт-контракт, соответствующий стандарту. Для того, чтобы токены можно было использовать в других приложениях (от кошельков до децентрализованных бирж) вводятся стандарты интерфейсов смарт-контрактов для токенов. В данном случае интерфейс — это сигнатура (синтаксическая конструкция объявления функции) функций без реализации самой функции. На данный момент принятого стандарта или решения как должен выглядеть смарт-контракт Soulbound NFT, но в своей работе Виталик описывает следующее: Непередаваемость - Soulbound токены нельзя передать или продать Публичная видимость, но с некоторым механизмом приватности - т.е. возможность скрыть видимость владельцу Механизм восстановления - вы можете потерять ключи от своего кошелька, а с ними и все Soulbound NFT, ведь их нельзя передать Механизм сжигания или защиты от спама - злоумышленники могут заспамить вас Soulbound NFT Если говорить грубо, то основное отличие обычных NFT, от Soulbound NFT, это то, что они привязаны к крипто кошельку и их нельзя передать. А также как следствие этого необходимость механик восстановления и защиты от спама. Ниже, оттолкнувшись от проблем, мы разберем возможную реализацию. Образовательные учреждения могли бы выпускать Soulbound NFT для своих студентов по завершению обучения. Так как Soulbound NFT нельзя перепродать или передать, подобный диплом будет отражать квалификацию человека, без необходимости подтверждать его по централизованной базе в учреждении. Организаторы мероприятий могли бы выпускать Soulbound NFT для тех, кто посетил их мероприятия. Доказательство присутствия будет неизменным после того, как посещаемость будет записана в блокчейне. Развивая две предыдущие идеи, коллекция из Soulbound NFT могла бы быть вашим цифровым резюме - NFT о предыдущих местах работы, NFT дипломы из университетов, а также NFT с разных мероприятий, конкурсов и хакатонов. Из-за возможности передавать токены и NFT современные DAO уязвимы к Sybil атакам и атаке 51%. Некая привязка к непередаваемым сущностям могла бы решить подобную проблемы, но здесь конечно очень большое пространство для проработки. Выплаченные обеспеченные кредиты, могли бы отмечаться в виде Soulbound NFT, таким образом подтверждая вашу кредитоспособность, формируя некую кредитную историю, опираясь на которую кредитор мог бы выдать кредит без залога. Токены Soulbound могут помочь создателям NFT создать репутацию вокруг своих проектов и сообщества. Cвязывая Soulbound NFT с коллекциями NFT, они позволят коллекционерам узнать, какие токены им принадлежат. Это поможет предотвратить фальсификацию и обман личности создателя злоумышленниками. Из-за того, что Soulbound NFT нельзя передавать, возникает необходимость механизма восстановления в случае потери ключей от кошелька. Возможным решением данной проблемы будет некоторое децентрализованное сообщество вокруг коллекции Soulbound NFT, которое могло бы восстанавливать Soulbound NFT, но проблема данного решения в его централизации. На данный момент "правильный" механизм восстановления — это дискуссионная тема. В первом приближении Soulbound NFT выглядят как полностью публичная технология, но если взять все Use Cases описание выше, то возникает явная необходимость разграничения видимости Soulbound NFT, а также вопрос приватности (Например вы не хотите чтобы работодатель просматривающий ваши Soulbound NFT, представляющие собой резюме, видел ваши Soulbound NFT достижения в играх, хобби и.т.д ). Простым решениям является наличие нескольких кошельков, хранящих разные Soulbound NFT в зависимости от потребностей, но непонятно на сколько это будет удобно. Человеческий фактор, также вносит проблемы в концепцию Soulbound NFT. Можно выпускать поддельные Soulbound NFT, например, сигнализирующие, что вы посетили некоторое мероприятия, но на самом деле вы просто заплатили, чтобы вам его выпустили и ничего не посещали. На данный момент в сети TON идет обсуждение стандарта Soulbound NFT и даже есть пример смарт-контракта. Рассмотрим отличие от обычных NFT, а также какую функциональность, предлагается решать за рамками стандарта. Стандарт NFT в TON, представляет собой два тип смарт-контрактов: смарт-контракт коллекции смарт-контракт отдельной NFT Для каждой NFT в коллекции необходимо выпускать отдельный смарт-контракт. Если вы выпустите коллекцию, содержащую 10 000 элементов, то вы развернете 10 001 смарт-контракт, один контракт коллекции и 10000 контрактов для каждого элемента. Смарт-контракт коллекции реализует деплой элементов коллекции, а также Get-методы, которые возвращают информацию о коллекции. Смарт-контракт отдельной NFT передачу права владения NFT, внутренний (внутренний в том смысле, что другие смарт-контракты в сети смогут обращаться) метод возвращающий данные о NFT и Get-метод возвращающий данные об отдельной NFT. Подробнее про стандарт NFT в блокчейне TON можно почитать здесь. Чтобы NFT нельзя было продавать и передавать между разными аккаунтами, а можно было передавать только между аккаунтами его владельца. Смарт-контракт отдельной NFT будет хранить неизменяемый публичный ключ владельца, и для смены адреса владельца необходимо будет отправить перевод с нового адреса с подписью в полезной нагрузке . Также меняется и обязательный интерфейс, Soulbound NFT вместо механики передачу права владения NFT, добавляется: передача собственности - передача NFT между своими кошельками (т.е владелец остается тот же) доказать право собственности - подтверждение собственности в сети Передача права собственности позволят также "сжечь" NFT отправив её на нулевой адрес. Механика передачи собственности необходима в случае изменения версии кошелька. В TON кошельки представляют собой смарт-контракты Доказательство право собственности позволит создавать интересные механики внтури сети TON, благодаря акторной модели смарт-контрактов в TON. Модель актора — это математическая модель параллельных вычислений, которая лежит в основе смарт-контрактов TON. В нем каждый смарт-контракт может получить одно сообщение, изменить собственное состояние или отправить одно, или несколько сообщений в единицу времени. Например, смарт-контракт Soulbound NFT можно использовать как прокси, которое доказывает ваше владение Soulbound NFT. Вы можете отправить сообщение в Soulbound NFT, и он проксирует сообщение для целевого контракта с его индексом и адресом вашего кошелька в заголовке. Таким образом, целевой контракт может знать, что вы являетесь владельцем Soulbound NFT, который относится к определенной коллекции. Подобная архитектура смарт-контрактов позволяет нам переводить Soulbound NFT между кошельками владельца и в то же время ограничивает переводы третьим лицам. Чтобы привязать Soulbound NFT к адресу, нам нужно отправить сообщение с этого адреса на Soulbound NFT с подписью, поэтому вы должны быть владельцем приватного ключа и адреса одновременно. Кстати смарт-контракты на TON пишутся с помощью языка FunC, бесплатный уроки есть здесь. На 22 августа 2022 года данный стандарт является черновиком, поэтому если у вас есть идеи по реализации Soulbound NFT в TON вы можете поучаствовать. Таким образом Soulbound NFT это непередаваемая NFT, с некоторым механизмом, позволяющим восстановление владения. Идея Soulbound NFT призвана создать в блокчейне некоторую систему социальных сигналов, помимо текущей системы умножения богатства. Что будет с данной технологией конечно покажет только время). P.S Подобные статьи планирую публиковать здесь, там же пишу про блокчейн TON.