Диплом: Применение технологии блокчейн для создания криптографических токенов

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
52
Блокчейновые но технологии могут но быть успешно но совмещены с
но банковскими услугами но удаленного типа, но предоставляемыми через
но СМС-сообщения. Вследствие но своей дешевизны, эта но возможность особенно
но привлекательна для но развивающихся стран, но указывает The но Economist.
Создание но контракта
Есть но целый ряд но внутренних параметров, но используемых при но создании
учетной но записи: отправитель ( s), но настоящий транзактор но (o), доступный газ
но (g), цена но газа (p), но эндаумент (v) но вместе с но массивом байт но произвольной
длины i, код но инициализации EVM и но наконец глубина но стека вызова
но сообщения/создания контракта но (e). Зададим но функцию создания но контракта
как но функцию Λ, но которая ставит в но соответствие указанным но значениям
вместе с но состоянием σ но кортеж, содержащий но новое состояние, но оставшийся
газ и но назначенное транзакции но подсостояние (σ', но g', A):
Формула но 5
Адрес но нового счета но определяется как но крайние правые 160 но битов
SHA-3 но хэша структуры, но содержащей только но отправителя и но nonce.
И, но наконец, счет но инициализируется с но помощью выполнения
но инициализационного EVM но кода i в но соответствии с но моделью исполнения.
но Выполнение кода но может осуществить но несколько событий, но которые не
но являются внутренними для но состояния выполнения: но хранилище текущей
но учетной записи но может быть но изменено, новые но учетные записи но могут быть
но созданы и но новые сообщения но вызова могут но быть заданы. но Таким образом,
но функция исполнения но кода Ξ но возвращает кортеж но результирующего
состояния но σ**, доступный газ но оставшейся g**, но назначенное подсостояние
A и но тело кода но счета o.
Формула но 6
Где но I но содержит параметры но среды выполнения.
53
Программная но реализация
Умные но контракты в но Ethereum представлены в но виде классов, но которые
могут но быть реализованы на но различных языках, но включая визуальное
но программирование и но компилируются в но байт-код для но виртуальной машины
но Эфириума (Ethereum но Virtual Machine, но EVM) перед но отправкой в но блокчейн.
Изменение но состояния виртуальной но машины может но быть записано на
но полном по но Тьюрингу языке но сценариев.
В но отличие от но языка сценариев в но протоколе биткойна, EVM
но поддерживают циклы, но поэтому платформа но использует механизм,
но называемый газом, для но ограничения контрактов, но которые могут но занять
много но времени для но выполнения.
Вывод но по главе
Резюмируя но материалы второй но главы, отметим но следующее:
добавление к но парадигме блокчейна но новой концепции –
но самоисполняющегося программного но кода (смарт-контракт), но привело к
но появлению новой но функциональности платформы. но Благодаря
технологическим но характеристикам смарт-контрактов, а но именно,
способности но безопасно получать, но хранить и но отправлять информацию и
но активы на но основе заранее но определенных правил и но условий. Они но могут
помочь но децентрализовать модель но доверия, сократить но потребность в
но дорогостоящих посредниках, но ускорить время но урегулирования и но повысить
прозрачность но сделок, автоматизировать но многие процессы, но снизить риски и
но стать базой для но многочисленных видов но операций. Итак, но приобретя
необходимые но теоретические познания, в но следующей главе но приступим к
но практической работе с но блокчейном.
54
Глава но 3. Создание но криптографического токена
3.1. но Криптотокен – но определение, виды
Криптотокен но — это но единица учета, но которая используется для
но представления цифрового но баланса в но некотором активе. но Учет токенов
но ведется в но базе данных на но основе технологии но блокчейн, а но доступ к ним
но осуществляется через но специальные приложения с но использованием схем
но электронной подписи.
Этот но термин широко но применяется в но разных сферах, но в но мире
финансов его но используют для но обозначения «заменителя денег». но Система
Bitcoin но и другие но криптовалюты используют но такие электронные но жетоны для
но реализации трех но типов задач: но кредитование, продажа но акций и но монетизация
дополнительного но сервиса для но пользователей сети.
Помимо но использования токенов в но качестве цифрового но баланса,
существуют но токены, которые но выступают в но качестве индикатора но репутации
пользователя в но системе. В но отдельных проектах но токены предоставляются
но держателям в но качестве депозита в но определенной валюте. В но частности,
биткоин-токены – это но внутренняя валюта но системы Bitcoin.
Важно но отметить, что ряд но экспертов не но признают существование
но токенов как но чего-то конкретного и но однозначного, рассматривая их в
но качестве обобщающего но понятия, несущего но особый смысл в но зависимости от
но конкретной платформы, где они но применяются. Упрощенно но можно
классифицировать но токены как но своеобразный аналог но акций или но долговых
обязательств в но цифровом пространстве.
В но сфере IT но токенами изначально но называли устройства или но набор
символов но (своеобразный шифр) для но авторизации их но владельца в
но определенной системе. но Можно также но провести аналогию с но ключом API.
55
но Также токены но могут задействоваться как но инструмент предоставления
но особого доступа.
Токеном но может выступать но криптовалюта с но децентрализованной
эмиссией и но возможностью осуществлять но транзакции.
Токеном но может являться но цифровой актив в но любой децентрализованной
но системе.
Токен но может быть не но подкрепленным ничем но продуктом,
эмитированным но единой системой.
Виды но токенов
В но зависимости от но желаний и но потребностей компании, но которая
выпустила но токены, они но могут носить но различные функции.
Токен но как монета. В но этом случае но токен выступает но платёжным
средством в но определенной системе. К но примеру, BTC но выступает
токеном но системы Bitcoin и но выполняет функции но платёжной монеты.
Токен но как цифровой но актив. Наглядный но пример – но токен, который
но выступает в но качестве права на но владение имуществом, но которое
токенизировано в но рамках определенного но проекта.
Токены но как доли в но уставном капитале но компании. В но этом случае но токен
выступает но цифровым активом, но подразумевающим под но собой реальные
но деньги, что-то но типа акции.
Токены но как способ но поощрения пользователей за их но активность. В но таких
системах но токены и но монеты – но различные категории.
Понятие но «токен» не но ограничивается одной но единственной
интерпретацией и но может подразумевать под но собой целый но спектр функций.
Это но может быть но валюта внутри но системы, отдельные но учётные единицы или
но своеобразный многопрофильный но гибрид.
Токены, но выполняющие функцию но внутрисистемной валюты, по но факту
являются но электронными деньгами, но которыми можно но расплачиваться или
56
но принимать их в но качестве оплаты. но Продажу токенов но можно сравнить с
но продажей облигаций но государственного займа.
Отличие но криптотокена от но криптовалюты
В но отличие от но криптовалют, токены но могут быть но эмитированы как
но централизованно (под но управлением одной но организации), так и
но децентрализованно (под но управлением заранее но определенного алгоритма).
но Обработка и но принятие транзакций но также может но выполняться
централизованно но (все сервера но контролируются одной но организацией).
Формирование но цены на но токены может но зависеть не но только от но баланса
спроса и но предложения, а еще от но дополнительных аспектов но (привязка к
но внешнему активу, но условные правила но эмиссии или но вознаграждения). Кроме
но этого, в но отличие от но криптовалют токен не но имеет собственного но блокчейна.
Итак, но токен – но достаточно обширное но понятие, суть но которого зависит
от но сферы применения. но Если говорить в но контексте криптовалют, то но здесь
токен но может быть как но платёжным средством, так и но финансовым активом,
— всё но зависит от но функциональной составляющей. Как бы то ни но было,
криптографический но токен но универсальное и но широко популяризируемое
но понятие, которое но используется и но разработчиками, и но инвесторами.
3.2. но Стандарт криптотокенов ERC20
Под но конец пятнадцатого но года разработчики но Ethereum Фабиан
но Фогельстеллер и но Виталик Бутерин но представили миру но стандарт ERC20 на
но эфириум-блокчейне, или но «стандартный интерфейс для токенов». В нём
но есть базовые но функции для но перевода токенов, но возможность их но одобрения
для но использования третьими но лицами в но цепи. Цель но стандарта – но позволить
любым но программам и но приложениям, начиная но кошельками и но заканчивая
децентрализованными но биржами, повторно но использовать любые но токены на
но эфириуме.
57
Сложно но отрицать успех но ERC20. Его но поддерживают практически все
но эфирные кошельки, но будь то но клиенты Parity или но Geth, аппаратные но кошельки
вроде но Ledger или но Trezor, лёгкие но клиенты MyEtherWallet или но Metamask. На
но основе стандарта но появились сотни но токенов, некоторые из но которых даже
но дороже большинства но других криптовалют, а но торговать ими но можно на
но большинстве альткоин-бирж. но Несомненно, стандарт но стал одним из но самых
удачных но программных решений для но крипторынка, оставив но биткоин далеко
но позади.
На но виртуальной эфирирум-машине но можно создавать но умные
контракты и но способствовать взаимодействию с но ними кошельков. И но если
токены на но биткоине можно но представить в но виде записок, то но ERC20 – но это,
скорее, но бухгалтер блокчейна. В но стандарте ERC20 но легко определить,
но сколько всего но токенов и но сколько токенов у но каждого отдельно но взятого
адреса.
Это но различие имеет но большое значение. но Здесь токен но становится
нативной но частью базы но блокчейна. Каждый нод в но сети проверяет,
но правильно ли но майнер выполнил но условия контракта. Их но задача – но проверить,
корректно ли но отражается остаток и но верно ли но проведена транзакция. но Любое
движение но токена ERC20 но нативно контролирует но каждый пир но сети.
У но пиров нет но необходимости сверяться с но базами данных но извне; им не
но нужно следовать но протоколам и но надстройкам, чтобы но сопоставить остатки
или но отследить транзакции. но Всё, что но нужно – но проверить статус но операции,
что но характерно вообще для но любой транзакции. но Именно поэтому
но интеграция токенов но ERC20 в но кошельках легка и но незаметна.
Для но пользователей преимущество в но легкости приёма, но хранения и
но перевода токенов. но Многие кошельки, но например Ledger, но Trezor, Jaxx или
но Exodus поддерживают но некоторые популярные но токены. Их но можно
использовать так же, как но используют любые но другие криптовалюты.
но Ethereum-клиент Parity но обращается к но децентрализованному журналу, где
58
но регистрируются токен-контракты. но Система сверяет но каждый адрес
но пользователя с но этими контрактами, и но если там но есть токен, то он
но автоматически появляется в но кошельке с но собственным присвоенным
но значком.
Но но даже в но случае с но незарегистрированным токеном, но Geth, Parity и
но вместе с но ними MyEtherWallet и но MetaMask могут с но легкостью его
но интегрировать. Это но объясняется тем, что все но ERC20 контракты
но подконтрольны одному и но тому же но ABI. ABI — но аббревиатура от но Application
Binary но Interface, в но переводе с но англ. бинарный но интерфейс приложения — это
но интерфейс, через но который происходит но взаимодействие кошельков и
но смарт-контрактов, он но описывает команды, но понятные контракту. но Благодаря
единому но стандарту, клиенты но могут обратиться к но контрактам и но проверить,
реагируют ли они на но ERC20 ABI. но Если контакт но есть, то но токен можно
но использовать.
ERC20 но очень удобен в но использовании, когда но речь заходит о но создании
и но обработке токена на но блокчейне. За но последние пару лет но потенциал этой
но идеи раскрылся в но полной мере: но если до но ERC20 на но токены никто и
но внимания не но обращал, то но после введения но эфириумом стандарта их но роль в
но крипто-экосистеме стала но ключевой и те 2 но миллиарда долларов, но влившиеся
в но стартапы с но волной хайпа на но ICO, — но практически всецело — это но заслуга
стандартизации но токенов, достигнутая но благодаря ERC20.
Если но смарт-контракт отвечает но стандарту ERC20, то его но можно
назвать но токеном (валютой или но монетой). И в но этом случае но кошельки и
но биржи смогут но работать с но этим токеном.
Чтобы но смарт-контракт соответствовал но стандарту ERC20, он но должен
содержать:
1. но Методы
1 но function totalSupply() но constant returns но (uint256 totalSupply)
2 но function balanceOf(address но _owner) constant но returns (uint256 но balance)
59
3 но function transfer(address но _to, uint256 но _value) returns но (bool success)
4 но function transferFrom(address но _from, address но _to, uint256 но _value)
returns но (bool success)
5 но function approve(address но _spender, uint256 но _value) returns но (bool
success)
6 но function allowance(address но _owner, address но _spender) constant но returns
(uint256 но remaining)
2. но События
1 но event Transfer(address но indexed _from, но address indexed но _to, uint256
но _value)
2 но event Approval(address но indexed _owner, но address indexed но _spender,
uint256 но _value)
3. но Поля
1 но string public но constant name = но "Token Name";
2 но string public но constant symbol = но "SYM";
3 но uint8 но public constant но decimals = 18;
Подробнее но эти требования но будут рассмотрены в но разделе 3.5.1.
3.3 но Первичное предложение но токенов (ICO)
ICO, но Initial coin но offering, но англ. — «первичное предложение монет»)
но форма привлечения но инвестиций в но виде продажи но инвесторам
фиксированного но количества новых но единиц криптовалют, но полученных
разовой или но ускоренной эмиссией[65][66]. но Встречается также но форма
«первичного но предложения токенов».
Термин но «ICO» образован по но аналогии с IPO но (англ. Initial но Public
Offering — но первичное публичное но предложение акций)[67].
Основные но отличия ICO от но IPO:
60
при но ICO отсутствует на но сегодняшний день но государственное
регулирование, но характерное для IPO и но любых других но публичных
финансовых и но инвестиционных видов но деятельности;
приобретатели но токенов или но криптовалют не но имеют корпоративных
но прав, аналогичных но тем, что но получают владельцы но акций.
Отличие но в правах но является фундаментальным. но Токены, по но своей
сути, но ближе к но облигациям, займу.
ICO но является одной из но форм краудфандинга, — но коллективного
финансирования. но Самым известным но подобным проектом в но мире является
но сайт Kickstarter, но существуют краудфандинговые но проекты и в но России
(Kroogi, но Boomstarter).
Понятие но ICO неразрывно но связано с но криптовалютами и но технологией
блокчейн, но являющейся реплицированной но распределённой базой но данных.
ICO но реализуется в но виде предварительной но эмиссии компанией но своей
криптовалюты вне но процедур майнинга и но распределении данной но эмиссии
среди но заинтересованных лиц. но Единицы продаваемой но криптовалюты в
но профессиональном сообществе но называются как но монетами, так и но токенами.
Раньше но выпускаемые криптовалюты но обменивались в но основном на
но биткойны. Позже к но биткойну в но качестве средства но оплаты токенов
но добавился эфир но блокчейн-платформы Ethereum. но Биткойны и но эфиры
обладают но высокой ликвидностью, но чего обычно нет у но новой криптовалюты.
но Таким образом, для но получения средств на но свой проект но эмитенту нет
но необходимости добиваться для но новой криптовалюты но популярности,
достаточно но убедить инвесторов в но эффективности своего но проекта и
но гарантировать выкуп у них но новой криптовалюты но через некоторое но время.
61
3.4. но Инструменты разработки
Язык но программирования Solidity
Solidity но объектно-ориентированный, предметно-ориентированный
но язык программирования но самовыполняющихся контрактов для но платформы
Ethereum.
Язык но был предложен в но августе 2014 но года Гэйвином но Вудом (Gavin
но Wood). В но дальнейшем разработка но языка была но выполнена под но руководством
Кристиана но Райтвизнера (Christian но Reitwiessner) командой но Solidity в но рамках
проекта но Ethereum. Это но один из но четырех языков но (среди Serpent, LLL и
но Mutan), спроектированных для но трансляции в но байт код но виртуальной
машины но Ethereum. Получил но широкое распространение с но появлением
технологий но блокчейна, в но частности стека но технологий на но основе Ethereum,
для но создания программного но обеспечения умных но контрактов.
Solidity но статически типизированный но JavaScript-подобный язык
но программирования, созданный для но разработки самовыполняющихся
но контрактов, исполняющихся на но виртуальной машине но Ethereum (EVM).
но Программы на но языке Solidity но транслируются в но байткод EVM. но Solidity
позволяет но разработчикам создавать но самодостаточные приложения,
но содержащие бизнес-логику, но результирующую в но неотменяемые
транзакционные но записи блокчейна.
Контракты но в Solidity - то же, что и но классы в
но объектно-ориентированных языках. Они но могут содержать так но называемые
переменные но состояния, которые но постоянно хранятся в но хранилище вместе с
но контрактом и но функциями, указателями но входа для но работы с но этими
переменными но состояния. Кроме но переменных состояния, но существуют также
но локальные переменные, но объявленные в но функциях, содержание но которых
очищается, как но только поток но управления возвращается из но функции.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран