Меня мало интересуют токены, создаваемые ради отражения в Blockchain сетях какого-либо природного ресурса или акций какой-либо компании. Я считаю, что токен в первую очередь интересен, как элемент архитектуры открытого программного обеспечения. Как элемент архитектуры, повышающий жизнеспособность программного кода. Поэтому в данной статье я хотел бы немного порассуждать о природе токена и сделать первые выводы касательно правил, которые должны быть учтены при разработке открытого программного обеспечения, использующего протокольный токен.
О природе blockchain токена
Хоть природа токенов требует еще времени на изучение, но все же мы можем сегодня рассмотреть накопленный опыт применения хранимых в blockchain сетях токенов, таких как Bitcoin и Ether. Я ограничиваюсь именно данными токенами в данной статье, так как и Bitcoin и Ether являются частью программного обеспечения с открытым исходным кодом и являются на сегодняшний день работающими сетями с максимальной рыночной капитализацией среди криптовалют.
Точка опоры — спецификация Bitcoin и Ethereum.
Начальная спецификация Bitcoin (whitepaper) явно указывает, что данный токен разработчики проектировали, как ценность, живущую в пиринговой сети.
Тем самым можно сделать первый вывод, характеризующих природу токена, основываясь на Bitcoin Whitepaper.
Вывод 1: Токен может быть ценностью, которую обслуживает сеть. Быть неким цифровым золотом.
Теперь рассмотрим Ethereum whitepaper. Сеть Ethereum — это децентрализованный компьютер. Токен Ether необходим для поддержания его работы, другими словами, ether обслуживает сеть Ethereum, предлагающую услуги вычисления и хранения с использованием blockchain технологии.
The intent of Ethereum is to create an alternative protocol for building decentralized applications, providing a different set of tradeoffs that we believe will be very useful for a large class of decentralized applications.
Тем самым можно сделать новые выводы о возможной природе токена:
Вывод 2: Токен может быть внутренней единицей, расходуемой на получение услуг от сети. Быть неким цифровым топливом.
Добавляем наблюдение за работой Bitcoin и Ethereum сетей.
Наблюдать за работой blockchain сетей с точки зрения изучения вариантов использования токена лучше всего через анализ проводимых транзакций. При этом для анализа я выбирал точки наибольшего использования сети и старался понять, что вызывало данные пики.
Личный анализ транзакций в сети Bitcoin показывает, что максимальное количество транзакций происходило в ситуациях, напрямую связанных с интересом (повышением, понижением интереса) к Bitcoin, как ценности. Довольно логично и понятно.
В сети Ethereum ситуация интереснее. Сеть Ethereum испытывала максимальные нагрузки весной 2017 года в период проведения множества ICO, использующих сеть Ethereum для задач вычисления и сохранения результатов вокруг распространения собственных токенов.
Мой субъективный вывод. На сегодняшний день (лето 2017 года). Bitcoin — есть ценность, как это и указано в спецификации и доказывается текущим анализом транзакций. Ether является токеном, необходимым для использования Ethereum протокола. Ether — это протокольный токен.
Почему я явно выделяю дату вывода. Внедрение в Bitcoin сеть в 2017 году довольно серьезных изменений и возможное дальнейшее развитие сети Bitcoin может изменить природу внутреннего токена. Bitcoin может стать внутренней расчетной единицей за использование улучшенного протокола сети. И отсюда можно сделать общий вывод о природе токенов:
Вывод 3: токен вряд ли можно гарантировано наделить свойством единицы использования протокола. Единственное, что может сделать человек относительно blockchain хранимых токенов — это стараться направлять своими действиями в определенное русло развитие токена и тем самым повышать частоту использования токена, как необходимого условия использования программного обеспечения.
Протокол и токен
Следуя Выводу 3, мы можем сформулировать некие правила развития программного обеспечения с открытым исходным кодом, использующего свой токен.
Правило 1: Поощряйте использование токена в реализации протокола. Коммуникация между участниками сети, использующими ваше программное обеспечение, должна базироваться на экономической рациональности, выраженной во внутреннем токене проекта. Услуги, которые оказывает ваше программное обеспечение, должны требовать ваш токен.
Правило 2: Используйте токен для защиты участников сети. Защита сети, построенная не на использовании токена, будет уязвима вследствие отсутствия зависимости роста капитализации вокруг токена и экономики тех участников, кто поддерживает работу вашего программного обеспечения. Конечно, в начале из-за низкой цены токена сеть будет, возможно, более уязвима, чем при наличии, например, систем идентификации или других методов защиты. Но, скорее всего, с ростом сети любой способ защиты без применения растущего в цене токена будет сдерживать или создавать угрозу дальнейшему росту.
Правило 3: Учитывайте влияние рынка (изменение цены токена вследствие свободной торговли) на работу протокола. Не применяйте зашитые, явные коэффициенты расчета стоимости услуги использования вашего программного обеспечения. Обратите внимание, как в сети Ethereum реализован механизм внутреннего рынка цены вычислений. Сеть Ethereum требует gas, а каждый участник может сам указать сколько он готов заплатить ether за единицу газа.
Вывод 4: Использование публичных blockchain сетей наилучшим образом способствует проникновению токена на свободный рынок.
P.S.: Это мой первый черновик правил развития протокольного токена, надеюсь, они будут полезны коллегам, а я постараюсь продолжить и развить инструкцию по построению протокольного токена.
Интересные выводы. Насчет Правила 2 есть нюанс: да, идея о том чтобы сделать атаки экономически невыгодными успешно реализована в bitcoin и последователях. Но эта экономическая защита работает против, например, недобросовестных майнеров, то есть субъектов, играющих по определенным правилам; а против обычных софтверных уязвимостей она бессильная (например — взлом сайта обслуживающего ICO, то что случилось в июле 2017 с одной из кампаний). И тут высокая стоимость и ликвидность токена только уменьшает безопасность (так как создает большую мотивацию хакерам) и увеличивает риски.
Так что введение токена в приложение — палка о двух концах