Универсальная идентификация

Логичным продолжением идеи Namecoin была бы система регистрации не просто доменных имен, а любых имен вообще. На самом деле, такой функционал уже есть и в самом Namecoin: в то время, как домены регистрируются с префиксом «d/» (или, говоря по-умному, «в пространстве имен d/»), существует также префикс “id/” для регистрации личного имени и ассоциированной с ним информации. Значит, поместить свои данные в блокчейн – не проблема. Но что делать с ними дальше?

Проекты на основе блокчейна 2015: Часть I

Сервис nameid.org скрещивает вместе блокчейн Namecoin и схему OpenID. А именно: если какой-то сайт предлагает вам залогиниться с помощью OpenID, вы можете выбрать провайдера nameid, который в свою очередь обратится к Namecoin.

Если указанное вами имя существует, то для авторизации вам нужно будет подписать с помощью привязанного ключа случайную строчку (вместо ввода пароля в обычном случае) – это можно сделать через клиент Namecoin. После чего вы окажетесь залогиненным на первом сайте под именем из Namecoin.

Конечно, такую авторизацию с помощью Namecoin (или любого другого блокчейна с возможностью регистрации алиаса) можно встроить напрямую на любой сайт, устранив тем самым посредника nameid и сам протокол openID. Возможно, когда-нибудь это будет сделано в виде стандарта, и входить на сайт можно будет прямо с помощью публичного адреса в своей любимой валюте. И само понятие «логина» будет полностью эквивалентно понятию «траты денег».

Но это будущее. А пока можно лишь поспешить застолбить свои имена.

Математически честное казино

С помощью блокчейна, конечно, можно играть в азартные игры. Мы не будем рассказывать обо всех схемах, а коснемся лишь самой первой и известной – SatoshiDice.

Люди любят азартные игры. Совсем не удивительно, что вторым приложением блокчейна после Namecoin стала именно рулетка (а вернее, игральные кости). Причем SatoshiDice опоздали с анонсом всего на неделю после Namecoin, немного удачи – и могли бы стать первыми.

Удача – это единственное, что поможет вам в этой игре, поскольку результаты каждого розыгрыша можно проверить математически. Каждый день казино загадывает секретное число и публикует его хэш. Игрок отправляет транзакцию на один из адресов казино, каждый из которых соответствует фиксированной ставке: скажем, от «1 к 1000» до «500 к 1000». Казино вычисляет хэш H = hash(tx_id,secret), где tx_id – это хэш присланной транзакции, а secret – загаданное число. Теперь нужно взять остаток от деления на 1000 и сравнить с числом, соответствующем ставке.

Например, если игрок использовал адрес-ставку «128 к 1000», а результат был 60 – то он выиграл, а если 300 – проиграл. В случае выигрыша казино отправляет соответствующий выигрыш (за вычетом комиссии) на тот же самый адрес игрока, с которого пришел платеж.

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

Да-да, я знаю, что вы скажете: при чем тут вообще блокчейн?! Это все можно сделать на базе любой системы отправки платежей. Отвечаем: вы правы. Просто нам нравится элегантная схема SatoshiDice. Настолько, что мы решили рассказать о ней. Может быть, ваше отношение к ней поменяется, когда вы узнаете, что это казино (по сути, один сервер с маленьким скриптом на две формулы) был продано за 11.5 миллионов долларов.

На самом деле, блокчейн предоставляет потенциально очень богатые возможности для по-настоящему честного казино. Например, в этой статье описывается алгоритм распределённой лотереи: все участники делают одинаковые взносы и среди них автоматически выявляется победитель, который может забрать все деньги. Это возможно благодаря тому, что данные в блокчейне могут быть не только статическими, а представлять собой небольшие скрипты - программы, которые, получив на вход какие-то платежи, детерминированно перераспределяют их между участниками.

Неотъемлемое виртуальное имущество

Что представляет собой Биткоин? Протокол для передачи цифровых монет? Нет! Протокол для передачи прав на цифровые монеты! Посудите сами: физически в транзакциях ничего не пересылается. Меняется лишь ключ доступа к определенной сумме монет, а это и есть передача прав.

blockchain 22

А что если мы скажем, что цифровые монеты – это вовсе не монеты, а токены, соответствующие каким-то вполне реальным вещам? Например, одна монета – это одна акция компании Х, или эквивалент одного грамма лекарства, выпускаемого фирмой Y, или одна лицензия на копию ПО, или ваучер на полет на космос? Благодаря тому, что транзакции могут проводиться прозрачно (а могут и анонимно – одно другому не мешает), можно всегда установить путь, по которому конкретная монета сменяла владельца, и выяснить текущего хозяина (вернее, его публичный ключ).

Такая концепция получила название Colored Coins. Впервые она появилась еще в 2012 году в проекте Mastercoin, который был по сути метапротоколом (протоколом над протоколом Биткоин). Клиент умел обрабатывать специально сформированные транзакции. Впрочем, они выглядели как валидные транзакции Биткоин, отслеживать некоторые отдельно взятые монетки и проверять для них специальные правила.

Впоследствии термином «цветные монеты» стали обозначать много вещей, связанных этой общей идеей: «все монеты равны, но некоторые равнее других». Вы можете скачать кошелек Coinprism, «покрасить» несколько биткоинов и поиграться с ними.

Можете даже публично объявить, что теперь эти и только эти цветные монеты вы готовы обменивать на что-то реальное. Получится ли у вас запустить свою частную валюту или управлять так имуществом? Да, может быть, но это зависит не только от технологии блокчейна, но и от вас самих.

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

Автономные агенты - «умные контракты»

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

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

blockchain 23

Впервые они появились задолго до первого блокчейна, еще в 1997 году. Мы не будем здесь очень подробно освещать эту тему ввиду ее обширности.

Чтобы примерно представлять себе механику работы смарт-контракта, давайте рассмотрим простой пример. Допустим, двое друзей основывают свой стартап и вкладывают деньги в общий капитал. Расходы с этого счета по взаимному уговору может совершать любой из них, но не более той суммы, которую вложил сам.

Добавим к этому возможность доначисления, годовые проценты, курсы валют (один вложил доллары, другой – евро, а стартап у них в Китае), опционы и тому подобное – получим множество условий, которые нужно проверять.

Кто будет управлять счетом и следить за выполнением условий? Что-что мы сказали – «друзья»? Забудьте. В мире стартапов эти двое доверяют друг другу не более, чем случайные люди в интернете. Так что управлением может заниматься посредник, которому они оба доверяют, либо... программа, которой доверять вообще не нужно.

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

Стоит сказать, что эта тематика в последнее время привлекает все больше и больше внимания. Например, проект Ethereum, собравший краудфандингом ни много ни мало 18 миллионов долларов (в эквиваленте биткоинов), нацелен в основном на реализацию именно супер-умных контрактов. Он позиционируется как децентрализованная платформа, на базе которой можно создавать и платежный протокол, и протокол DNS, и все что угодно. Да-да, верно, в основе лежит блокчейн.

blockchain 24
  • Chronicled. Сервис, позволяющий вам удостовериться в аутентичности своей обуви. Цифровые уникальные теги, которые внедряются в ботинки, можно просканировать и проверить на валидность. А еще они публикуются в блокчейне, так мы проверим их уникальность.
  • Whatarenotes. Цифровые токены, представляющие ваши права не интеллектуальную (и креативную) собственность. Если в двух словах - DRM через блокчейн./li>

Заключение

Конечно, содержанием этой статьи список использований блокчейна не ограничивается. Причем могли остаться без внимания не только потенциально возможные идеи (например, какой-нибудь протокол честного голосования), но и уже реализованные.

Мораль всего вышенаписанного примерно такая: блокчейн – действительно очень и очень полезный инструмент. Он децентрализован, не опирается на доверие, детерминирован, честен со своими пользователями. На базе блокчейна можно построить много уникальных приложений.

Но не стоит идеализировать блокчейн. Это не панацея, не универсальный инструмент. Одно из отделений IBM сейчас занимается концепцией интернета вещей на базе блокчейна, но даже успех этого проекта (что бы он ни представлял собой в конце) не означает всеприменимости этой технологии. Даже если его помощью можно будет обустроиться на Марсе после зомби-апокалипсиса на Земле.