Литмир - Электронная Библиотека
A
A

Пример кода контракта на Ethereum, написанный на высокоуровневом языке:

if tx.value < 100 * block.basefee:

stop

if contract.memory[1000]:

from = tx.sender

to = tx.data[0]

value = tx.data[1]

if to <= 1000:

stop

if contract.memory[from] < value:

stop

contract.memory[from] = contract.memory[from] – value

contract.memory[to] = contract.memory[to] + value

else: contract.memory[mycreator] = 10000000000000000 contract.memory[1000] = 1

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

ЭСКРОУ С МУЛЬТИПОДПИСЬЮ, по духу напоминающий арбитражный сервис биткойна Bitrated, но с усложненными правилами. Например, подписавшимся не придется вручную обрабатывать частично подписанные транзакции: через блокчейн люди смогут асинхронно санкционировать вывод средств, и когда транзакцию подтвердит достаточное число участников, она совершится автоматически.

░ Еще одна интересная функция – СБЕРЕГАТЕЛЬНЫЕ СЧЕТА. Предположим, Алиса хочет отложить крупную сумму, но не хочет рисковать всем, если ее приватный ключ потеряется или попадет в чужие руки. Она заключает контракт с Бобом, которому не готова довериться до конца, на следующих условиях: во-первых, Алиса может снять до 1 % в день; во-вторых, она может снять любую сумму с одобрения Боба; в-третьих, сам Боб может снять до 0,05 % в день. Алиса не собирается снимать крупные суммы за один раз, а если захочет, то сможет сделать это через Боба, подтвердив ему свою личность. Если кто-то украдет приватный ключ Алисы, она поспешит обратиться к Бобу и переместить средства на другой контракт, пока вор не успел украсть больше 1 %. Если Алиса потеряет свой приватный ключ, Боб сможет восстановить ее средства, пусть это и займет какое-то время. А если сам Боб окажется злоумышленником, Алиса сможет вывести свои средства в 20 раз быстрее, чем он. Короче говоря, система защиты напоминает традиционный банкинг, но отличается от него тем, что основана не на одном лишь доверии к банку.

P2P-ИГРЫ. Любой вид протокола p2p-игр можно внедрить на базе Ethereum. Простейший из таких протоколов – контракт на разницу цен на основе случайных данных вроде хеша блока.

СОЗДАНИЕ СОБСТВЕННОЙ ВАЛЮТЫ. На базе внутренней памяти Ethereum вы можете создать внутри него совершенно новую валюту. Возможности создания валют позволяют сделать так, чтобы они взаимодействовали друг с другом, обеспечивали децентрализованный обмен и поддерживали множество других передовых функций.

В этом и есть главное преимущество кода Ethereum: его скриптовый язык создавался так, чтобы не иметь ограничений кроме системы комиссий, и поэтому на его основе можно закодировать любой вид правил. На блокчейне можно даже управлять сбережениями целых компаний: создать, к примеру, контракт, по которому перемещение средств возможно только с разрешения 60 % акционеров (а 30 %, например, могут распоряжаться суммой максимум в 1 % в день). Возможны и другие структуры, менее традиционные для капиталистической реальности: например, демократические организации, членом которых можно стать только с согласия двух третей ее состава.

НЕ ТОЛЬКО ФИНАНСЫ

Но финансовые приложения – лишь малая доля того, на что способны Ethereum и созданные на нем протоколы. Хотя именно финансовые приложения Ethereum в первую очередь привлекают криптосообщество, не менее интересно предположить, какой результат может дать взаимодействие с нефинансовыми p2p-протоколами. Одна из главных проблем таких протоколов – отсутствие стимулов: они, в отличие от централизованных коммерческих платформ, не предлагают участникам финансовых выгод. Конечно, иногда участие в проекте – само по себе награда. Именно поэтому люди продолжают создавать софт с открытым исходным кодом, писать статьи для «Википедии», вести блоги и оставлять развернутые комментарии на форумах. Но вот в контексте p2p-протоколов увлеченность проходит очень быстро: процесс поглощает безмерное количество ресурсов, демон[10] может без остановки работать в фоновом режиме, из-за чего процессор перегружается и расходует очень много электроэнергии.

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

ПООЩРИТЕЛЬНОЕ ХРАНЕНИЕ ДАННЫХ. Проще говоря, децентрализованный Dropbox. Идея такая: если пользователь захочет хранить в сети файл размером в 1 Гб, он создаст структуру данных, известную как дерево Меркла. Затем он заложит корень дерева вместе с 10 ETH в контракт и загрузит файл в другую сеть, за сообщениями которой будут следить узлы, готовые сдать в аренду место на своих жестких дисках. Каждый день контракт будет автоматически выбирать случайную ветку дерева (например, «left – > right – > left – > left – > left – > right – > left»), заканчивая блоком файла, и выдавать 0,01 ETH первому узлу этой ветки. Узлы будут хранить весь файл целиком, чтобы максимально увеличить шанс получить вознаграждение.

BITMESSAGE И ТОR. Bitmessage – это протокол электронной почты нового поколения, который одновременно и полностью децентрализован, и зашифрован, благодаря чему можно безопасно отправлять сообщения любому другому пользователю Bitmessage и не полагаться на третью сторону (кроме самой сети). Тем не менее у Bitmessage есть один большой недостаток в удобстве использования: вместо отправки сообщений на простой и понятный адрес вроде «[email protected]» придется иметь дело с корявым 34-значным адресом Bitmessage (например, «BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash»). Вот какое решение предлагает Ethereum: люди могут регистрировать свои имена при помощи специального контракта Ethereum, а клиенты Bitmessage – запрашивать блокчейн Ethereum предоставить адрес Bitmessage из 34 символов, секретно привязанный к любому имени. Эта схема может пригодиться и в анонимной сети Tor, пользователи которой тоже столкнулись с этой проблемой.

СИСТЕМЫ ИДЕНТИФИКАЦИИ И РЕПУТАЦИИ. Раз в блокчейне можно зарегистрировать имя, логика подсказывает следующий очевидный шаг: создать на базе блокчейна систему Web of Trust (WOT, сеть доверия). Web of Trust – ключевой элемент эффективной коммуникативной инфраструктуры p2p: ведь вам нужно не просто знать, что конкретный публичный ключ связан с конкретным человеком, но и понимать, можно ли этому человеку вообще доверять. Решением становится использование соцсетей. Если вы доверяете А, А доверяет Б, а Б доверяет В, тогда есть большая вероятность, что вы хотя бы отчасти можете доверять В. Ethereum может стать слоем хранения данных для полностью децентрализованной системы репутаций, а в перспективе – полностью децентрализованной торговой площадкой.

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

вернуться

10

Демон – программа, работающая в фоновом режиме без прямого взаимодействия с пользователем. – Прим. пер.

5
{"b":"824990","o":1}