+7 982 273 1968
03.08.2022

Архитектура мобильных платежей

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

Одна из первых подобных технологий — SMS+ или DCB (Direct Carrier Billing). Схема «отправьте сообщение с кодом XXX на короткий номер YYY, чтобы получить доступ к услуге» известна уже не один десяток лет. Платеж осуществляется через мобильного оператора или агрегаторов. Чем больше участников в этой цепочке, тем выше комиссия. Деньги списываются с мобильного счета, а не банковской карты.

Производной формой DCB, которая сегодня сменила SMS+, стали платежи через счет мобильного оператора. Иногда их называют «мобильными кошельками»

Самая популярная технология в России — бесконтактные платежи через NFC (Near Field Communication): беспроводная передача данных на малом расстоянии, обычно в пределах 10 см. Сегодня она реализована в первую очередь в смартфонах, а также в умных часах, в планшетах. Небольшой радиус действия делает NFC безопасным, а мгновенное подключение — простым. Работает технология через привязку к банковской карте.

Также встречаются мобильные платежи, основанные на прямом доступе к банковским картам через данные от оператора связи. Они лежат в основе 3D-secure — обеспечение безопасности интернет-транзакций.

Для большинства пользователей «мобильные платежи» — это про смартфон, который можно приложить к терминалу. В этом процессе участвует технология NFC, которая возникла позже других методов e-payments и сейчас активно развивается. Сегодня это наиболее популярный метод электронной оплаты: согласно исследованию «Яндекс.Денег» за 5 месяцев, с января по май 2020, число NFC-платежей через смартфоны и умные часы выросло почти на 25% в сравнении с аналогичным периодом 2019 года. В целом около 36% россиян предпочитают платить не картой, а телефоном.

Преимущество NFC в простоте и высокой степени защиты денег. В среднем безопасность у NFC выше, чем у оплаты при помощи пластиковых карт. Пример на бытовом уровне: карты с бесконтактной технологией PayPass прикладываются к терминалу и при покупках на сумму меньше 1 тыс. рублей не требуют ввод пин-кода. Если карта будет утеряна (или украдена), нашедший сможет без проблем ей воспользоваться. Платеж через смартфон требует подтверждать действие паролем или биометрическими данными


NFC-платежи применимы в двух сценариях: когда покупка производится через терминалы оплаты (POS-терминалы) и когда она осуществляется внутри магазинов AppStore и Google Play, в приложениях (Apps), на сайтах. Связанные с этим ограничения широко обсуждаются, во многом из-за комиссии для разработчиков приложений, обозначенной Apple и Google. Размер комиссий доходит до 30% от суммы платежа. Среди наших клиентов через NFC-платежи проходит всего 5% от общего числа выплат.

В качестве развития метода DCB возникло понятие «мобильного кошелька», это условный «счет», который привязывается к номеру мобильного оператора. При этом подключение происходит не напрямую между мерчантом и мобильным оператором, а через посредников — платежные системы, которые реализуют интеграцию. Чаще всего, интеграция всех способов платежа проходит через единую «точку входа» - API.

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

Способ удобен для ситуаций, когда невозможно воспользоваться Apple или Google Pay — например, если у клиента телефон не поддерживает эту технологию. Также не все россияне не готовы указывать в интернете данные банковской карты для оплаты напрямую. Платеж через DCB решает проблему: открытым становится только номер телефона.

Доступ к банковским картам через оператора - наименее известный и редко встречающийся способ платежа. Этот способ — гибрид банковских выплат и мобильных платежей, при котором для доступа к счету карты используется данные оператора связи. В России этот способ не получил широкого развития напрямую, но является основой обеспечения безопасного доступа в технологии 3D-secure. Через отправку SMS на номер мобильного телефона банки проводят идентификацию плательщика. Полученный код пользователь вводит в окне транзакции, подтверждая легитимность своих действий.

Вторая категория мобильных платежей, известная большинству владельцев телефонов — платежи SMS+ (или DCB). Этот платеж осуществляется напрямую через оператора мобильной связи и использует его инфраструктуру. Оператор выделяет определенный список коротких номеров для сдачи в аренду и берет процент от стоимости платежных SMS. В основном на базе SMS+ развиваются сервисы, предоставляемые самими операторами мобильной связи: дополнительные услуги, изменения тарифов, информационные приложения. У технологии есть ограничения по суммам платежей. 

Несмотря на очевидное преимущество в легкости платежа, для внедрения этого метода необходимо заключать прямое соглашение с поставщиком мобильных услуг. По причине сложности подключения и непрозрачных требований по настройке сервиса сейчас он практически не распространен в России (Мобильные платежи: какие они бывают и какие нужны вашему бизнесуКак работают мобильные кошельки на примере приложения «Mir Pay»).




Развитие блокчейн

В 2009 году анонимный хакер (или группа хакеров), под псевдонимом Сатоши Накамото, создал первую цифровую валюту. В этой системе деньги были лишь инструментом учета, методом абстрагирования стоимости, назначения собственности и предоставления средств для совершения сделок.

Для выполнения этих функций исторически использовались денежные средства. Обладание физическими токенами — монетами, позволяет людям лично заключать сделки между собой. Наличные деньги достаточно трудно скопировать, поэтому нет необходимости в полном учете того, кому принадлежит определенная часть денежной массы.

Тем не менее, если создать таблицу, в которой указано, кому и сколько принадлежит денег, монеты и купюры станут ненужными. Банки и обработчики платежей уже частично сублимировали физическую валюту в цифровые записи, отслеживая и обрабатывая транзакции в своих закрытых системах.


Биткоин завершил преобразование, создав единый универсальный цифровой регистр, называемый блокчейном. Блокчейн — это система распределенного реестра данных, доступная каждому участнику этой сети.блокчейн.jpg

Блоки в сети добавляются с помощью процедуры майнинга. За каждый новый блок майнер получает вознаграждение, которое составляет финансовую основу его деятельности. После того как совершена первая транзакция, она должна быть подтверждена несколькими участниками сети — в этом и состоит суть децентрализации блокчейна без конкретных посредников. Это означает еще одно преимущество блокчейна перед классической финансовой системой — в отличие от банков блокчейн работает круглосуточно и не зависит от центрального банка конкретной страны.

В 2014 году, по свидетельствам, можно было намайнить вплоть до 1-2 биткоинов просто на обычном компьютере дома, но чтобы добыть то же количество биткоинов сейчас, нужно приручить сложную математику и найти сотни видеокарт, расположенные в одном дата-центре, которые еще называют майнинговыми фермами. 

Первый алгоритм работы майнеров, в том числе и биткоина, называли Proof-of-Work (доказательство работы). Он требовал большой вычислительной мощности, которую обеспечивали компьютеры. Поэтому сейчас стали появляться блокчейны с алгоритмом Proof-of-Stake (доказательство ставки), на котором правят бал не машины, а валидаторы — участники сети, отвечающие за ее целостность и подтверждение всех происходящих в блокчейне транзакций.

P-o-W требует много электроэнергии, дорогого и редкого специализированного оборудования. Чтобы стать валидатором P-o-S, надо иметь некоторое количество монет этой сети, заложить их, то есть «создать stake» и поставить специальное программное обеспечение. Подтверждая транзакции, валидаторы получают вознаграждение. Самым ярким примером использования алгоритма P-o-W является сеть биткоина, а альтернативой можно считать сеть Ethereum, которая хоть и начиналась с использования алгоритма P-o-W, но находится в стадии перехода на алгоритм P-o-S.

Блокчейн может быть публичной сетью, к которой может подключиться любой человек, либо частной, которую, как правило, используют организации во избежание потери конфиденциальных данных. 

Частные блокчейны обычно более быстрые и более дешевые, а все корпоративные данные и транзакции находятся у ограниченного числа участников сети. Правда, это приводит к тому, что внутри частной сети намного легче «сговориться и обмануть» систему и намного сложнее взаимодействовать с другой сетью. Так что в вопросах прозрачности и устойчивости каждый выбирает тот блокчейн, который служит его целям.

Блокчейн нужен там, где важны скорость и надежность передачи данных — то есть практически в любой сфере нашей жизни: при заключении смарт-контрактов на поставку товаров, проверке результатов электронного голосования или работе любой криптовалюты.

Несмотря на то что у криптовалюты нет «хозяина» в виде центральных банков, регуляторы стараются контролировать криптоиндустрию в своих юрисдикциях и сделать ее деятельность понятной. Излишняя зарегулированность оправдана тем, что даже в публичных блокчейнах все транзакции проводятся между анонимными пользователями. И если путь криптовалюты можно вычислить, то определить владельца кошелька почти невозможно

Естественно, это не устраивает регуляторов, которые пытаются принять меры по массовому внедрению процессов KYC (know your client) — идентификации личности перед тем, как человек проводит операции, и AML (anti-money laundering) — противодействия отмыванию денег.  Отсюда и проистекает главный недостаток государственных цифровых валют — их централизованность, которая приводят к тому, что Центробанк может отключить кошельки неугодных ему граждан.

Но внедрение блокчейна в реальный сектор экономики, пусть пока в ее цифровую часть, все-таки состоялось. Коммерческие банки уже представляют, как частично будут терять, казалось бы, вечную роль посредника. Государство, например, будет напрямую перечислять пенсии, пособия и любые другие виды денежных переводов, а также давать выгодную процентную ставку, минуя банки.

Стремительно развивается рынок децентрализованных финансов (DeFi), который может составить конкуренцию классическому банковскому предложению. Люди уже инвестируют в новые виды цифровых активов, такие как аналоги ценных бумаг (security tokens) и цифровое искусство в виде NFT 
(https://fincult.info/
https://hyperledger/
https://forklog.com/).



Как работает блокчейн

Блокчейн для биткоина, в отличие от книг бухгалтерского учёта, которые ведут традиционные финансовые учреждения, расположен на компьютерах по всему миру. Эти данные доступны для всех, у кого есть подключение к интернету. Майнеры, — владельцы компьютеров, на которых хранится информация блокчейна, — отвечают за обнаружение запросов транзакций от пользователей, их объединение, проверку и добавление в блокчейн в виде новых блоков.

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


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

Если бы блокчейн управлялся одним банком с набором известных валидаторов, работающих в рамках одной юрисдикции, то выполнение транзакций было бы простым делом. Но для биткоина нет центрального банка, обеспечивающего соблюдение правил. Майнеры работают анонимно во всем мире. Необратимость операции обеспечивает код биткоина. Он использует схему, которая называется доказательством работы.

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

Чтобы это избежать, у всех майнеров в сети должна быть одинаковая копия блокчейна.

Когда майнер, добавляет новый блок, он должен предоставить криптографическое доказательство транзакции. Чтобы получить доказательство, майнер проводит блок через несколько раундов хэш-функции — вычисления, которое берет часть данных произвольного размера и переводит их в бессмысленную буквенно-цифровую строку с фиксированной длиной, которая называется хешем. Чтобы сделать процесс более надёжным, алгоритм блокчейн требует, чтобы полученный хеш начинался с определенного количества нулей. Невозможно заранее предсказать, какой хеш будет выдавать заданный набор данных, поэтому майнеры запускают вычисления снова и снова, каждый раз вставляя случайное число в набор данных. Когда это число изменяется, возникает новый хэш. В итоге майнеры получают правильное количество нулей.


Майнер, который находит правильный хеш, отправляет блок другим майнерам. Они его проверяют и добавляют к полной версии блокчейн, содержащуюся на их компьютерах.

Это можно сравнить с закрыванием двери. Предположим, у человека есть замок, и набор ключей, один из которых может его закрыть. Он должен попробовать все ключи, прежде чем найдёт правильный. И после этого оставить его в замке, чтобы другие могли проверить, что ключ подходит.

Майнеры тратят свои средства на поддержку сети — покупают оборудование и платят за электроэнергию. Чтобы изменить блок в блокчейне и провести одну и ту же транзакцию дважды, им придётся потратить в два раза больше своих денег, поэтому обманывать становится невыгодно.

Кроме того, с каждым новым блоком возрастает стоимость изменения предыдущих. Новые блоки хранят хеш стоящего перед ними блока. Любые изменения в старых блоках приведут к недействительным хэшам для всех последующих блоков. Следовательно, невозможно вставить фиктивные модификации в предыдущий блок без повторения всей работы, которая была выполнена после этого блока. Если провести аналогию с замками, получится, что замок в конце цепи связан со всеми предыдущими. Если изменить замок в середине цепи, придётся искать новые ключи для каждого замка после него.


Получается, что майнеры предоставляют дорогостоящие доказательства, а затем получают деньги за свою работу. Таким образом Сатоши создал первую жизнеспособную одноранговую цифровую валюту. Но он также решил более общую проблему, которая на протяжении десятилетий беспокоила ученых. Биткоин, который за 8 лет ни разу не отключался от сети на длительный период, надежно стимулирует майнеров выполнять работу добросовестно, обеспечивая единую сеть. В итоге получается защищённая, постоянно растущая цепочка данных, которую любой, у кого есть подключение к интернету, может проверять и дополнять.

В 2013 году Виталик Бутерин разработал совершенно новую технологию под названием Ethereum. Благодаря ей блокчейн можно было использовать не только для совершения транзакций (https://ethereum.org/).

В отличие от биткоина, Ethereum использует мини-программы, называемыми смарт-контрактами. Они могут быть написаны с неограниченной степенью сложности. Пользователи могут взаимодействовать с программами, отправляя им транзакции с инструкциями, которые затем обрабатывают майнеры.

Это означает, что любой может встроить программу в транзакцию и быть уверенным в том, что она останется неизменной и доступной для цепочки блоков. Теоретически, с Ethereum можно заменить Facebook, Twitter, Uber или любую другую цифровую службу новыми версиями, которые были бы прозрачны, неуязвимы для цензоров и не требовали вмешательства человека.


Учитывая, что публичные блокчейны содержат всю информацию о транзакциях на многих компьютерах в сети, невозможно ограничить цепочку хранения при их использовании.

Таким образом, появился подход распределённого реестра к технологии блокчейн. В распределённом реестре известна идентификация людей, добавляющих блоки, а данные в системе доступны только для избранных сторон. Поскольку право создавать новые блоки назначается людьми, которые запускают код, а не лотереей, нет необходимости проверки работы майнеров.

Такая система предназначена для ситуаций, когда все участники блочной цепи уже имеют небольшую степень доверия, но хотят выполнить услуги для нейтральной третьей стороны, как это может быть в случае с банками при урегулировании международных банковских переводов.

Независимо от того, какой вариант блокчейна победит, смарт-контракты потребуют целого ряда поддерживающих технологий для решения ряда проблем.блок.jpg

Во-первых, блокчейны не смогут хранить много данных. Это будет проблемой для многих проектов, которые, например, предлагают хранить и передавать потоковое видео. Им просто напросто не хватит места для хранения. Технология блокчейн записывает входы и выходы каждой монеты в сеть, а также содержимое дополнительного поля, которое позволяет провести до 40 байтов метаданных для каждой транзакции

Еще одна проблема блокчейна заключается в том, что технология сама по себе не знает, что происходит в реальном мире. Это важно в случае, если смарт-контракт — это система страхования авиабилетов. Блокчейн должен знать, когда самолет взлетает или приземляется, а для этого нужно запрашивать данные веб-сайтов.

В идеале разработчики будут создавать блокчейны для хранения и доступа к данным с учётом слабых сторон — уязвимости к цензуре и возможности отмены блокировок. Для этого нужно тщательно рассмотреть, каким «доверенным сторонам» можно фактически доверять.

Проблема хранения данных может быть решена с помощью распределенных служб обмена файлами, таких как децентрализованная система облачных хранилищ, протоколов Labs Interplanetary Database или Storj Labs. Это системы, которые позволят людям во всем мире получить дополнительное пространство на своих жестких дисках. Такие схемы будут работать для системы смарт-контрактов на основе блокчейна, поскольку данные будут храниться на нескольких компьютерах по всему миру и всегда будут доступны.

Импортировать данные в режиме реального времени можно будет при помощи «оракулов». Это службы, которые получают оплату за надежный запрос данных в реальном времени и подачу их на смарт-контракты блокчейн
(https://habr.com/https://habr.com/
https://habr.com/https://habr.com/
https://habr.com/https://habr.com/).



Эфириум (ETH)

Блокчейн платформы делятся на несколько поколений, каждой поколение имеет свои особенности и решает определенный круг задач.

Первое поколение. Это Bitcoin, Litecoin, ZCash и другие, эти платформы ориентированы на создание децентрализованных денег. 

Второе поколение. Это Ethereum, Tezos, EOS и другие, которые ориентированы на программируемую логику для создания и управления своими децентрализованными данными и деньгами. Каждая платформа делает это со своими какими-то особенностями. Но с ростом популярности блокчейн платформ второго поколения обострились унаследованные от первого поколения проблемы: производительность, удобство, энергоэффективность, стоимость. Стоит отдельно отметить, что сейчас разрабатывается новая версия Ethereum (которую тоже можно отнести к платформам третьего поколения), а также решения второго уровня (далее по тексту будет обозначаться как Уровень_2), которые направлены на устранение существующих проблем с производительностью платформ второго поколения.

Третье поколение. Это Cosmos, Polkadot и Avalanche, у которых довольно необычные инфраструктуры. Эти платформы нацелены на горизонтальное масштабирование с асинхронной гетерогенной сетевой моделью, где предметноспецифичные блокчейны сосуществуют в рамках общей сетевой модели и при необходимости взаимодействуют друг с другом. У каждой платформы есть свои собственные подходы и компромиссы по достижению межцепочной экономической безопасности. Они нацелены на создание блокчейнового междусетья, которое способно вместить не сотни тысяч (как сегодня), а миллионы активных пользователей в день и полноценно реализовать концептуальное видение Web3, принадлежащего и контролируемого пользователями

В новой версии Ethereum будет использоваться Доказательство-Доли (proof-of-stake), сеть будет разделена на синхронизированные осколки (shards) с целью увеличения общей пропускной способности. Подтверждающие, работающие на одной и той же виртуальной машине Ethereum (EVM), будут назначаться на разные shard (осколки) сети, производить блоки, накапливать различные данные об активности пользователей и синхронизироваться друг с другом с помощью релейной цепочки под названием Beacon. Однако попытка синхронизировать все shards (осколки) означает попытку достичь полной репликации, то есть иметь согласованную копию базы данных на всех узлах. Это проблематично, поскольку смысл расщепления (sharding) в распределенных вычислениях заключается в том, чтобы добиться масштабирования, не реплицируя все данные в общей сети. В синхронной модели или однородной топологии сети, когда один shard - например, популярный shard DeFi - будет использоваться гораздо чаще других, он начнет испытывать те же проблемы со скоростью, стоимостью и масштабированием. Кроме того, возникает новая проблема эффективной синхронизации данных между shards.

Недавно Ethereum принял новую стратегию, названную rollup-центричной дорожной картой, которая позиционирует Ethereum как Уровень_1 для доступности данных и проекты Уровня_2 для вычислений. Другими словами, Ethereum хочет стать базовым уровнем, гарантирующим доступность данных и обеспечивающий безопасность rollup. В результате Ethereum принимает концепцию EVM-блокчейна для вычислений, независимо от того, доминирует ли один rollup или сосуществуют несколько rollup 

По сей день Ethereum остается платформой, где создаются и развиваются инновации в криптоэкономике. Поэтому команды, создающие эти новые сети (Cosmos, Polkadot, Avalanche), изначально создавали версии популярных сервисов, которые существуют в Ethereum (децентрализованные биржи, автоматизированные маркет-мейкеры (AMM), кредитование, стабильные монеты, агрегаторы, страхование, платформы NFT и т.д.), но есть и проекты, открывающие новые сценарии использования, используя преимущества этих новых инфраструктур.

С-цепь Avalanche, совместимая с EVM, изначально привлекла разработчиков, создающих проекты на Ethereum. Проект Pangolin - это быстрый AMM, клонирован из Uniswap. Проект Sherpa Cash позволяет осуществлять тайные транзакции, клонирован из Tornado. TraderJoe начинал как AMM и добавил кредитование стремясь стать центром DeFi. Приложение Benqi для кредитования и заимствования является версией Compound, но также запустил стейкинг ликвидности для AVAX. Platypus - это улучшенная версия стабильного обмена Curve, поскольку в нем есть управление активами и пассивами. Крупнейшие Ethereum-проекты, такие как Aave, Curve, Sushiswap, использующие многоцепочную стратегию, также запустились на C-Chain и привлекли большую ликвидность, которая подпитывается мостом Avalanche-Ethereum Bridge. Экосистема Avalanche также имеет свои новые виды активов, один из которых предназначен для финансирования судебных процессов, и в сочетании с DAO может оказать огромное влияние на объединение существующих правовых систем с криптосетями. 


Сравнение гетерогенных блокчейнов см. по ссылке https://habr.com/.

Подробнее о том, как работает Эфириум см. по ссылкам https://fsr-develop.ru/https://habr.com/.



Смарт-контракты в сети Ethereum

С появлением концепции PoW в блокчейне биткоина, стал возможен безопасный нецентрализованный обмен токенами. Каждая транзакция проходит следующие этапы проверки, выполняемые некоторым скриптом:

  • сумма UTXO неизменна (UTXO — Unspent transaction output другими словами токены)
  • цифровая подпись отправителя валидна.

Для выполнения более сложной логики проверки транзакции нужно менять скрипт, однако платформа биткоина предоставляет неудобный, не тьюринг полный язык для написания таких скриптов.

Цель ethereum'a — объединить и усовершенствовать концепции криптовалют, альткоинов и создать on-blockchain протокол, который позволит разработчикам создавать распределенные приложения на основе инфраструктуры, которая предоставляет масштабируемость, тьюринг полноту, простоту разработки и совместимость

Роль состояний в эфире выполняют аккаунты. Каждый аккаунт имеет 20-ти байтный адрес. Изменение состояний аккаунтов происходит за счет передачи сообщений.photo_5323493092038393325_y.jpg

Сообщения ethereum'a аналог транзакций bitcoin'a с тремя главными отличиями:

  • Сообщение в эфире может быть создано как externally owned акканутом, так и contract аккаунтом, тогда как транзакция в биткоине может быть создана только externally owned аккаунтом (пользователем)

  • Сообщения в эфире поддерживают явным образом передачу данных

  • У получателя сообщения (если это contract account) есть возможность вернуть ответ.

Структура сообщения:
  • Nonce
  • GASPrice

  • GASLimit

  • Recipent

  • Ether value

  • Data

  • подпись отправителя: r,s,v (ECDSA).
Подробнее о нодах (узлах блокчейна) см. по ссылке https://learn.bybit.com/.

Валидация сообщений (этапы проверки сообщений на нодах):

  • Проверить корректность количества и содержания полей сообщения (Nonce транзакции совпадает с Nonce аккаунта, сообщение имеет корректную подпись)

  • StartGAS*GASPrice - комиссия которую платит отправитель. Если у отправителя достаточно ether'a → снять сумму комиссии с его аккаунта и увеличить Nonce аккаунта на 1, иначе вернуть ошибку

  • GAS = StartGAS*GASPrice - счетчик того сколько осталось газа для выполнения транзакции, при каждом выполнении команды или передачи байт данных счетчик уменьшается

  • Передать Ether value получателю, если аккаунта получателя не существует, то создать его. Если получатель — contract account, то исполнить его код до конца или до окончания GAS'a

  • Если передача данных упала из-за недостаточного кол-ва Ether'a на аккаунте или из-за окончания GAS'a, то вернуть состояния получателя и отправителя в исходное состояние и добавить комиссию к кошельку аккаунта майнера (актуально до форка EIP-1559)

  • Вернуть весь оставшийся GAS отправителю, и перечислить комиссию майнеру.

Код смарт контракта исполняется на стековой виртуальной машине. У операторов байткода Ethereum Vrtual Machine (сокращенно EVM) есть доступ к трем типам структур данных

  • stack выполнения

  • memory — динамический массив, который можно расширять бесконечно

  • long-term contract storage — key/value "холодное" хранилище. Холодное потому что доступно даже после выполнения кода контракта

Высокоуровневые языки программирования смарт-контрактов: Solidity и Vyper.

Для адекватной работы алгоритма консенсуса нужно чтобы каждая нода получала одинаковый результат при исполнении сообщения, при обращении внутри смарт-контракта к внешнему API. Ноды априори не будут получать одинаковый результат, если данные меняются во времени.

Как тогда работать с внешними данными? Решение — oracle. Oracle реализует некий middle end между off-chain данными и on-chain смарт-контрактами. Он оформляет доступ к данным в отдельную транзакцию и записывает его на блокчейн. Для этого oracle обычно состоит из смарт-контракта и некоторых off-chain скриптов, которые состоят из двух основных действий:

  • вытащить данные из какого-то API

  • отправить сообщение с данными нодам.

Затем смарт-контракт обращается к данным, которые лежат в сообщении и таким образом являются частью блокчейна. Важно чтобы oracle был тоже децентрализованным, иначе теряется смысл всего блокчейна.

Оплата по смарт-контрактам осуществляется токенами.

Fungible токены. On-blockchain токены имеют много приложений, например они могут имитировать фиатные деньги или другие активы, могут служить "документом" на владение каким-либо объектом. Система токенов — это база данных с одной операцией: вычесть X единиц с аккаунта А и прибавить X единиц аккаунту B, при условии что:

  • Баланс А ≥ X

  • Есть подпись подтверждающая согласие аккаунта А.

Наиболее распространенный стандарт реализации системы fungible токенов — ERC20.

Non-fungible токены. Невзаимозаменяемые токены — вид криптографических токенов, каждый экземпляр которых уникален и не может быть заменен другим токеном. Cтандарт для реализации NFT ERC-721 является аналогом ERC-20 для fungible токенов. 

Подробнее о смарт-контрактах см. по ссылкам  
https://rspp.ru/https://habr.com/https://habr.com/
https://learn.microsoft.com/https://habr.com/
https://habr.com/Исполнение смарт-контрактов).




Китайский опыт создания централизованных блокчейн-платформ

В октябре 2019 года председатель КНР Си Цзиньпин заявил о необходимости для Китая стать лидером в сфере блокчейн-технологий. 

Ключевыми «локомотивами» на пути к этой цели, по всей видимости, являются цифровой юань и Инфраструктурная блокчейн-платформа (Blockchain-based Service Network — BSN).

Основная цель BSN — стать «интернетом блокчейнов», говорится в white paper проекта. Также BSN станет технологической основой инициативы «Один пояс и один путь».

BSN позиционируется как масштабная инфраструктура, ключевая задача которой — снизить расходы и упростить запуск блокчейн-приложений

Важно отметить, что BSN представляет собой только платформу для интеграции различных решений и инструментов для разработчиков и не является блокчейном сама по себе. 

На первой конференции, посвященной BSN, были объявлены семь главных характеристик новой инфраструктуры — открытость, полезность, масштабируемость, открытый исходный код, мультипортал, низкая стоимость и автономность.

Тестировать платформу начали осенью 2019 года. Разгоревшаяся в Китае пандемия коронавируса не помешала планам BSN — официальный запуск, как и ожидалось, состоялся в апреле 2020 года. 

На момент запуска сеть BSN насчитывала 128 так называемых публичных городских нод (PCN). Они являются одним из ключевых элементов инфраструктуры.

PCN базируются на облачных платформах. Пользователи взаимодействуют с нодами через инфраструктуру BSN, администрируемую и обслуживаемую аккредитованными поставщиками услуг.

76 из 128 подобных нод на момент запуска были расположены в Китае, 44 находились в процессе развертывания, а 8 — за пределами Китая в странах на всех континентах. 

Особенность BSN — в масштабности замысла. По идее создателей, возможности платформы должны быть доступны не только китайским компаниям, но разработчикам как корпоративных, так и публичных блокчейнов по всему миру.

С 10 августа в BSN интегрируют шесть публичных сетей — Ethereum, EOS, Tezos, NEO, Nervos и IRISnet. Разработчики смогут запускать ноды и приложения, используя хранилище данных, пропускную способность и другие ресурсы, предоставляемые BSN.

Помимо упрощения разработки блокчейн-приложений и взаимодействия с различными блокчейнами основным преимуществом BSN является существенное снижение затрат на работу.

Как подсчитали авторы white paper, в среднем расходы на разработку и дальнейшее поддержание блокчейн-платформ и приложений составляют около 100 тысяч юаней (более $14 тысяч) в год. Аналогичные услуги на базе BSN обойдутся разработчикам в $300-$400 в год.

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

«По мере того, как BSN закрепляется во всех странах мира, она станет единственной глобальной инфраструктурной сетью, внедряемой китайскими организациями», — говорится в white paper.

«Международные партнеры могут не решиться на присоединение к платформе из-за проблем с конфиденциальностью: правительство Китая будет хранить корневой ключ BSN, что позволит отслеживать все транзакции, совершаемые с использованием платформы», — пишет IEEE Spectrum.

Возможно, именно BSN станет поводом для по-настоящему массового принятия технологии в основе биткоина (https://forklog.com/). 

Подробнее о создании блокчейн-проектов и их развитии см. по ссылкам 
https://a16z.com/https://www.youtube.com/
https://www.youtube.com/https://habr.com/.


Содержание статьи:

Возврат к списку