Больше денег: что такое Ethereum и как блокчейн меняет мир
- Автор: Виталий Бутерин
- Жанр: Околокомпьютерная литература / Деловая литература: прочее
- Дата выхода: 2023
Читать книгу "Больше денег: что такое Ethereum и как блокчейн меняет мир"
СИСТЕМЫ ТОКЕНОВ
Системы токенов внутри блокчейна можно применять самыми разными способами: как подвалюты, представляющие активы вроде доллара США или золота; акции компаний; умную собственность; безопасные неподдельные купоны и даже системы токенов без привязки к какой-либо стоимости в ее привычном понимании, например мотивирующие системы оценки постов. Встроить системы токенов в Ethereum на удивление просто. Тут важно понимать, что и валюта, и система токенов – база данных с одной операцией: отнять х единиц от A и прибавить х единиц к B при условии, что, во-первых, сторона A имеет как минимум х единиц перед началом транзакции и, во-вторых, сторона A подтверждает транзакцию. Все, что нужно для реализации системы токенов, – встроить эту логику в контракт.
Простейший Serpent-код для осуществления системы токенов выглядит так:
def send(to, value):
if self.storage[msg.sender] >= value:
self.storage[msg.sender] = self.storage[msg.sender] – value
self.storage[to] = self.storage[to] + value
Это буквально функция изменения состояния «банковской системы», уже описанной выше. Нужно только добавить в начало несколько строк кода с исходным шагом распределения валюты и учесть еще несколько нюансов – в идеале неплохо бы также добавить функцию, позволяющую сторонним контрактам запрашивать информацию о балансе произвольного адреса. Но в целом это всё. Основанные на Ethereum системы токенов, используемые как подвалюты, теоретически обладают другой важной функцией, недоступной для метавалют на основе биткойна: возможностью платить комиссии непосредственно в этой валюте. Реализовать это можно в контракте, поддерживающем баланс эфира, из которого он будет восполнять эфир, использованный для оплаты комиссий отправителю. Он будет пополнять этот баланс, собирая единицы внутренней валюты, забранные в качестве сборов, и перепродавая их на постоянно действующем аукционе. Таким образом, пользователям было бы необходимо «активировать» свои аккаунты с помощью эфира, но этот эфир можно использовать повторно, поскольку каждый раз контракт будет его возвращать.