В гонке по созданию открытых блокчейнов, наделенных самоисполняющимся кодом, вырисовываются по крайней мере две различные точки зрения.
Эфириум создал платформу, упрощающую для разработчиков задачу создания практически любого типа умного контракта, в то время как Биткоин добавляет аналогичные функции гораздо более медленными темпами из-за ограничений встроенного языка. Однако разработчики Биткоина, такие как соавтор Lightning Network Тадж Драйя (Tadge Dryja), утверждают, что такой темп добавления функциональности умных контрактов имеет свои причины.
Во время своей работы над технологией ускорения транзакций Lightning Network, которой он занимался недавно в MIT, Тадж нашел способ добавить функционал умных контрактов в Биткоин, который обеспечит масштабируемость и конфиденциальность. Главная цель Discreet Log Contracts (DLC) Драйи – постараться сохранить децентрализацию блокчейна. Он отмечает:
«Эти контракты больше нацелены на конфиденциальность и масштабируемость, а не на функциональность. Они не отвечают за работу ICO, Тьюринг-полные контракты или что-то подобное,в этом смысле их возможности более ограничены, по сравнению с умными контрактами Эфириума».
В то время как многие видят две криптовалюты как конкурирующие активы, Драйя утверждает, что его идея может стать более практичным и технологичным вариантом в долгосрочной перспективе.
«Они имеют совсем небольшое влияние на всех, кто использует систему, так как контракты занимают очень мало места в блокчейне», - говорит он.
Оракулы в Биткоине
Идея умных контрактов Драйи основывается на популярной концепции оракулов. Некоторые из наиболее сложных и интересных умных контрактов, как предполагается, будут нуждаться в помощи внешнего ресурса с данными. Оракул снабжает этими данными умные контракты, которые исполняются на основе информации, которую они получают.
Предположим, что один пользователей поставил 5 ETH на то, что в пятницу температура воздуха достигнет 26 градусов выше нуля. Два пользователя создают умный контракт на базе этих специальных условий и выбирают источник данных, которому они оба доверяют (возможно, оба пользователя выберут theweather.com – один из наиболее достоверных источников данных о погоде).
Затем умный контракт автоматически получит информацию из этого источника в пятницу. Тот, кто угадал температуру, получает пять эфиров. Все достаточно просто, не так ли? Идея того, как осуществить все это в Биткоине, уже существует, однако не используется повсеместно. Драйя считает, что на это есть несколько причин.
Во-первых, эти оракулы должны быть в курсе всех действий пользователей, открывая для них возможность договориться и установить правила игры. Во-вторых, оракулы должны знать, какие пользователи запрашивают у них данные, что подвергает опасности конфиденциальность пользователей.
Конфиденциальность умных контрактов
Именно в этой области наработки Драйи могут быть полезны. Интересно то, что оператор оракула не может узнать, использовал ли кто-то данные, которые он предоставил.
«У оракула грустная жизнь», - говорит он. «Он даже не может узнать, был ли в итоге умный контракт исполнен. Это достаточно забавно».
Как же DLC решают вопрос? На высшем уровне, оракул отсылает данные (например, высылает температурные показатели в определенное время каждый день). Этот ключ объединяется с данными от пользователя перед тем, как быть добавленным в блокчейн. Поскольку ключ оракула смешивается с данными, о которых он не знает, оракул не может знать, был ли ключ использован и добавлен в блокчейн Биткоина.
«Мы собираемся объединить данные оракула с нашими собственными секретными данными, чтобы мы могли распознать его, а оракул - нет», - говорит Драйя.
Он аргументирует рациональность такого уровня безопасности тем, что скорее всего большинство компаний, использующих блокчейн, не захотят раскрывать свои финансовые отчеты или другие данные всему миру. DLC, как и проект на базе Эфириума Town Crier, предлагает один из способов защиты некоторых данных.
Проблемы оракулов
Помимо конфиденциальности, у оракула есть и другие проблемы. По сути оракулы – доверенные централизованные сервисы. Почему это имеет значение? Умный контракт начинает исполняться в зависимости от того, получил ли он верные данные или нет. Поэтому пользователям необходимо «доверять» сервисам и верить в то, что они предоставляют надежные данные.
Разработчики предлагали различные способы борьбы с этой централизацией. Децентрализованный рынок предсказаний Augur, например, планирует использовать несколько оракулов, чтобы сообщать о результатах.
Драйя не считает, что есть способ полностью искоренить эту проблему, однако у него есть несколько идей как ее можно «смягчить». DLC призвана стимулировать оракулы сообщать правильную информацию. Если оракул сообщает неверную информацию двум умным контрактам, то его закрытый ключ будет автоматически раскрыт.
«Математически это работает, но сможет ли это реально предостеречь оракулы от передачи неверной информации?», - отметил он, добавив, что требуется больше исследований для понимания того как эта идея будет работать.
DLC без SegWit?
Идея все еще находится в разработке, однако Драйя говорит, что ждет обратной связи от сообщества после публикации Белой книги по DLC.
Пока он надеется на то, что его идея может вдохновить на рассмотрение умных контрактов с новой стороны, где они больше сфокусированы на конфиденциальности и масштабируемости. Что касается дальнейших шагов по реализации проекта, Драйя говорит, что DLC станет его «следующим веселым проектом», после того как он закончит работу над своей версией Lightning Network для MIT.
Он отметил, что DLC не требует внесения каких-либо изменений в биткоин, но он будет работать лучше, если произойдет активация SegWit. Драйя также сказал, что можно создать версию DLC без SegWit, но это будет «непросто», если впоследствии SegWit будет активирован.Скорее всего, он дождется активации протокола и лишь потом начнет работу над проектом.