Криптовалюта - лекция - финансы. 16. Правовой режим криптовалют. 17. Правовые вопросы нерегулируемой глобальной экономики
![]()
|
Крейг Стивен Райт. 9 декабря 2015 года полиция Сиднея проводила обыск у предпринимателя Крейга Стивена Райта. Некоторые журналисты утверждали, что он Сатоши Накамото. 2 мая 2016 года он объявил, что якобы действительно является автором Биткойна. По словам журналистов, Райт якобы предоставил цифровые подписи, созданные с использованием криптографических ключей, относящихся к первой операции с биткойнами. Гэвин Андресен, которого Райт уговорил приехать на личную встречу в Лондон также утверждал, что Райт предоставил ему доказательства и их фальсификация была маловероятной. Однако «доказательство», которое Райт предоставил публично, оказалось фальшивым, поскольку то, что он описал в своём блоге, может повторить любой человек, использовав общедоступные данные из блокчейна биткойна. Какие-либо новые, но убедительные и легко проверяемые доказательства, такие как перемещение ранних цифровых монет, Райт предоставлять отказался наотрез и удалил все записи о биткойнах из своего блога.3. Транза́кция. Транза́кция (англ. transaction, от лат. transactio — соглашение, договор) — минимальная логически осмысленная операция, которая имеет смысл и может быть совершена только полностью. До конца XX века в русском языке обычно фигурировало написание «трансакция», в последнее время превалирует написание «транзакция» Транзакции – это определённые процедуры взаимодействия каких-либо объектов за некий промежуток времени. Такие процедуры были сформированы программистами. Им присущ чёткий процедурный характер. Любая транзакция – это совокупность трёх непременных составляющих: запроса; выполнения; отчёта. Процесс обычного проведения транзакции может быть довольно сложным, но результат этой процедуры имеет лишь два состояния. То есть транзакция может быть выполненной, или она не является таковой. Банковские транзакции – это любые банковские операции, связанные с перемещением денежных средств. Но чаще всего этот термин используется при использовании электронных счётов. Или же он напрямую указывает на операции с банковскими картами. Словосочетание «провести транзакции» означает операции с использованием электронного счёта. Сюда входит оплата коммунальных услуг, покупка товаров в магазине с помощью пластиковой карты, зачисление зарплат и стипендий и много других операций с деньгами. Виды транзакций. В банковском деле различают операции двух видов: Онлайн-транзакции – это манипуляции с безналичными деньгами при помощи соединения с банковским центром в режиме реального времени. Самый наглядный пример – работа с терминалом. Офлайн-транзакции – это совершение банковской операции без непосредственного контакта участников. Например, зачисление зарплаты работникам. Со счёта организации списываются денежные средства, а работник лишь получает уведомление о пополнении баланса своего текущего счёта. Чтобы лучше понять суть банковских транзакций, рассмотрим несколько их вариантов. Самый простой пример подобной операции – перевод между собственными счетами, получение или зачисление денег, внесение наличных через банкомат или терминал. Подобные операции обычно проводятся банком без комиссии. Сложнее обстоят дела с переводами между двумя разными лицами – в пределах одного финансового учреждения комиссия за перевод может достигать 3%. Если речь идёт о различных банках внутри страны – комиссия будет ещё выше. Самый дорогой перевод – в заграничные учреждения, поскольку, кроме комиссии, там часто взимается так называемая оплата за транзакцию. Переводы с одного счёта на другой иногда приводят к досадным ошибкам. Малейшая неточность в написании фамилии получателя может обернуться блокировкой манипуляции электронной системой безопасности. Решит проблему автоматическая транзакция. Это происходит, например, при зачислении средств на баланс получателя по номеру банковской карты. Так значительно понижается вероятность ошибки. В случае обнуления транзакции деньги просто возвращаются на баланс владельца. Правда, происходит это в течение десяти или пятнадцати календарных дней. Если у отправителя отсутствует счёт в банке, можно воспользоваться сервисом денежных переводов. Самые известные международные операторы – MoneyGram, Western Union, Anelik, Contact и другие. Главное преимущество таких операций – высокая скорость транзакции. Основной недостаток – довольно высокая комиссия. 4. Форк. Цепочка транзакций является непрерывной и прямолинейной. Это значит, что обычно она не разветвляется. У слова fork перевод дословно звучит как "вилка". Так называется явление в системе, при котором одна большая цепь разветвляется на две, и после разделения они продолжают работать уже независимо друг от друга. Как работает после этого система? После того, как произошёл форк (разветвление), из одной криптовалюты получается две, так как теперь существует две цепочки транзакций. Это произошло в 2017 году с крупнейшей криптовалютой в мире – биткоином. Цепь была прямолинейной, однако в начале года она получила ответвление. Это не значит, что самого Биткоина теперь не существует. Он продолжает работать независимо от кого-либо, по тем же правилам, что были и до этого. Однако теперь появилась другая независимая криптовалюта, которая получила название "Биткоин Кэш". Таким образом, у слова fork перевод очень хорошо характеризует суть данного явления. Разница между софтфорком и хард форком. Для того чтобы лучше понять данную разницу, вернёмся к примеру Биткоина. То, что произошло в 2017 году, называется хард форком. Это подразумевает, что после разделения цепи появилась новая, абсолютно независимая криптовалюта, которая полностью отделилась от своего "родителя". Биткоин и форк Биткоина имеют абсолютно разные курсы, разные технические характеристики и разные команды разработчиков. Кроме того, эта валюта имеет разных клиентов и кошельки, что принципиально важно в криптоиндустрии. Если же говорить о софтфорке, тут разделение более мягкое, и его целью, как правило, является коррекция работы системы. Технологии криптовалюты развиваются, и разработчики иногда принимают решение модернизировать свою систему. Для этого они специально создают форк, который является более совершенным клоном своей валюты. В этом случае пользователю не нужно устанавливать новый клиент, и система не меняет основных принципов работы. Это просто техническая модернизация Сети. Причины форка. Понять, что такое форк и зачем он нужен, нельзя, если не знать особенностей работы Сети. Главной причиной возникновения и хардфорка, и софтфорка, безусловно, является развитие технологий. Как правило, ответвления являются уже более совершенными с технической точки зрения. Они имеют больший размер блока, большую пропускную способность, более низкую комиссию. 5. Виды криптовалют. Появились форки: Namecoin (децентрализованная DNS для регистрации внутри доменной зоны.bit), Litecoin (использует хеширование scrypt), PPCoin (использует гибридный механизм proof-of-work/proof-of-stake, не имеет верхнего предела объёма эмиссии), Novacoin (аналогична PPCoin, но использует scrypt) и множество других. До июля 2013 года программное обеспечение всех криптовалют, кроме Ripple, базировалось на открытом исходном коде системы «Биткойн». C июля 2013 года стали появляться иные платформы, которые помимо криптовалюты поддерживают различную инфраструктуру — биржевую торговлю, магазины, мессенджеры и прочее. К таким криптоплатформам относятся: BitShares, Mastercoin, Nxt. Анонсируются и другие платформы. Криптовалю́та — разновидность цифровой валюты, создание и контроль за которой базируются на криптографических методах. Как правило, учёт криптовалют децентрализирован. Функционирование данных систем основано на технологии блокчейна. Информация о транзакциях обычно не шифруется и доступна в открытом виде. Для обеспечения неизменности базы цепочки блоков транзакций используются элементы криптографии (цифровая подпись на основе системы с открытым ключом, последовательное хеширование). Термин криптовалюта закрепился после публикации статьи o системе Биткойн «Crypto currency» (Криптографическая валюта), опубликованной в 2011 году в журнале Forbes. Сам же автор биткойна, как и многие другие, использовал термин «электронная наличность» (англ. electronic cash). Криптовалюта может быть разработана с нуля или использовать общедоступный исходный код другой криптовалюты. Если, помимо кода, новая криптовалюта также использует уже имеющуюся цепочку блоков исходной криптовалюты, такую криптовалюту называют форком исходной криптовалюты. Для своей эмиссии разные криптовалюты применяют майнинг, форжинг или ICO. Об экономической сути и юридическом статусе криптовалют ведутся дискуссии. В зависимости от страны криптовалюты рассматриваются как платёжное средство, специфичный товар, могут иметь ограничения в обороте (например, запрет операций с ними для банковских учреждений). Ключевой особенностью криптовалют является отсутствие какого-либо внутреннего или внешнего администратора. Поэтому банки, налоговые, судебные и иные государственные или частные органы не могут воздействовать на транзакции каких-либо участников платёжной системы. Передача криптовалют необратима — никто не может отменить, заблокировать, оспорить или принудительно (без приватного ключа) совершить транзакцию. Однако участники сделки могут добровольно временно взаимно блокировать свои криптовалюты в качестве залога или установить, что для завершения/отмены сделки требуется согласие всех (или произвольных дополнительных) сторон. 6. Блокчейн Блокче́йн (англ. blockchain или block chain) — выстроенная по определённым правилам непрерывная последовательная цепочка блоков (связный список), содержащих информацию. Чаще всего копии цепочек блоков хранятся и независимо друг от друга (чрезвычайно параллельно) обрабатываются на множестве разных компьютеров. Чейн (ch) (англ. chain — цепь) — устаревшая британская и американская единица измерения расстояния, равная 20,1168 метрам. Технология криптовалют исходит из того, что в сети нет доверенного узла — того, чьи действия гарантированно истинны и кто может подтвердить корректность чужих операций. Для принятия решения о достоверности транзакций в условиях неверия любому сообщению в сети (задача византийских генералов) используется технология блокчейн, впервые появившаяся в системе «Биткойн». Для хранения данных транзакции объединяются в блоки, из которых формируется непрерывная цепочка. Непрерывность обеспечивается не столько нумерацией, сколько включением в текущий блок хеш-суммы предыдущего блока — таким образом, нет возможности изменить блок без изменения хешей во всех последующих блоках. Истинной считается только самая длинная цепочка, все хеши в которой отвечают определённым требованиям, выполнить которые сложно либо дорого. В разных криптовалютах для верификации блоков применяются методы Proof-of-work, Proof-of-stake или их комбинация. В различных сферах деятельности человека под верифика́цией (от лат. verus — «истинный» и facere — «делать») могут подразумеваться разные понятия, например: проверка, подтверждение, способ подтверждения с помощью доказательств каких-либо теоретических положений, алгоритмов, программ и процедур путём их сопоставления с опытными (эталонными или эмпирическими) данными, алгоритмами и программами; подтверждение соответствия конечного продукта предопределённым эталонным требованиям; методика распознавания лжи (укрывательства, искажения). Майнеры работают 24/7 не только для того чтобы добывать монеты. Основная их задача — записывать текущие транзакции между кошельками в новые блоки. Именно для этого и служат «Proof of work» и «Proof of stake» — алгоритмы для валидации транзакций. Proof-of-work (PoW) Самый известный алгоритм в крипто сообществе, использующийся для валидации транзакций майнерами. Простыми словами — это огромное количество вычислительных машин, разбросанных по всему миру, решающих криптографическую задачу по нахождению блока. Любой, кто имеет достаточные вычислительные мощности, может подключить их к общей сети и использовать для майнинга. Когда задача решена одним из участников сети, то транзакции, которые стоят в очереди записываются в новый блок, который был найден. Учитывая текущую сложность, очевидно, что подделать транзакции в биткоин сети не представляется возможным. Proof-of-stake (PoS) Работает по другому. Вместо решения криптографической задачи транзакции валидируются путем «заморозки» некоторого количества монет майнеров в качестве обеспечения. Монеты заморожены до тех пор, пока не будет достигнута «договоренность» валидности транзакций. После достижения конценсуса в сети транзакции добавляются в блокчейн, а монеты держатся замороженными еще некоторое время с целью защиты от атаки на сеть и избежания «двойной траты». Когда монеты майнеров разморожены, они получают свои монеты обратно плюс небольшую комиссию за запись транзакций в блокчейн. Такой алгоритм предназначен для того, чтобы отбить охоту у злоумышленников валидировать поддельные транзакции из-за риска потерять «залог». Как правило, в криптовалютах разработчики изначально оговаривают верхний предел общего объёма эмиссии. Однако у некоторых криптовалют, таких как PPCoin , Novacoin, Sifcoin и других, отсутствует фиксированный верхний предел общего объёма эмиссии и возможна как эмиссия, так и демиссия (путём обязательного уничтожения фиксированной суммы в каждой транзакции). Большинство криптовалют обеспечивают псевдонимность — все транзакции между всеми адресами (кошельками) общедоступны, но нет данных о владельцах адресов. Однако личность владельца может быть установлена, если становится известна необходимая дополнительная информация. 7. Блок транзакций. Блок транзакций — специальная структура для записи группы транзакций в системе Биткойн и аналогичных ей. Транзакция считается завершённой и достоверной («подтверждённой»), когда проверены её формат и подписи, и когда сама транзакция объединена в группу с несколькими другими и записана в специальную структуру — блок. Содержимое блоков может быть проверено, так как каждый блок содержит информацию о предыдущем блоке. Все блоки выстроены в одну цепочку, которая содержит информацию обо всех совершённых когда-либо операциях в базе. Самый первый блок в цепочке — первичный блок (англ. genesis block) — рассматривается как отдельный случай, так как у него отсутствует родительский блок. Блок состоит из заголовка и списка транзакций. Заголовок блока включает в себя свой хеш, хеш предыдущего блока, хеши транзакций и дополнительную служебную информацию. ![]() Блок Биткоина — это элемент цепи блокчейн, набор записей о выполненных транзакциях в криптовалютной сети. Блок представляет собой часть или полную информацию об операциях, которые пока не отражены в предыдущих элементах цепи. Каждый новый блок добавляется в конец цепочки без возможности внесения правок, а в его структуре содержатся данные о прошлых блоках, которые были созданы до него. В структуру блока входит запись об операциях и прошлом элементе цепи. Особенность следующего блока — наличие персонального решения, которое отражается в заголовке. Достижение цели занимает много времени, а процесс ложится на плечи майнеров — участников сети, получающих премию за новый блок. Для попадания блока в blockchain требуется найти параметр хеша заголовка, показатель которого ниже заданного предела. Цель майнера — подобрать верные входные данные путём перебора вариантов. Для решения задачи применяется мощное оборудование — видеокарты, ASIC-чипы. Если участник нашел подходящий вариант, он информирует другие узлы о получении блока, который проверяется остальными элементами цепи и включается в цепь blockchain. Количество вариантов для заголовка определяет сложность вычислений. Чем выше этот параметр, тем большие мощности требуются для поиска решения и добычи блока. Изменение сложности происходит с периодичностью в 2016 блоков, то есть раз в две недели. На добычу одного блока уходит в среднем десять минут. С ростом мощности сети повышается сложность добычи и наоборот. Это значит, что показатели сложности и мощности находятся в соотношении, которое остаётся неизменным. Не меняется и временной промежуток, необходимый для создания нового блока. В процессе добычи бывает, что майнеры получили несколько решений для одного блока. Как результат, имеет место разветвление цепи. В дальнейшем подлинной признаётся та ветка, которая имеет большую длину, а другая прекращает существование. Если транзакция оказалась в короткой ветви, она исключается из цепи и возвращается к числу не подтвержденных операций. Через время она включается в следующий блочный элемент. Как отмечалось, блок состоит из заголовка и перечня операций. Свойства заголовка: Hash — хеш (алгоритм SHA-256). Этот hash носит случайный характер, поэтому время его определения легко предсказать. Стоит отметить, что хешированию подлежит только заголовок, а к операциям в криптовалютной цепи это не относится. Количество транзакций не оказывает значительного воздействия на расчёт хеша. Prev_block — свойство хеша прошлого блока в цепи блокчейн. Наличие такой характеристики повышает надёжность сети и усложняет ее подделку. Если внести правки в один блок, придётся переделывать остальные. Version — версия блочной схемы (сегодня она одна — 1). Time — uint32_t — свойство, характеризующее период, за который создаётся очередной блок. По замыслу создателя Bitcoin, последний элемент цепи будет добыт в 2106 году. Mrkl_root — перечень хешей операций. Суть в том, что хеш блока находится в прямой взаимосвязи с операциями в сети. Цель — защита цепи от подделки. Непосредственное вычисление при большом числе операций занимает много времени. Вот почему сначала хешируются операции в цепи, а далее хеши применяются для расчета хешей блока. Необходимость таких действий объясняется следующей разницей — обновление хеша транзакции происходит после добавления к элементу цепи новой операции. Вычисление хеша заголовка происходит чаще — до 3–5 тысяч в секунду. Bits — главный параметр блока, сокращённый вариант значения хеша. Следующий элемент признаётся сетью и добавляется к цепи в том случае, если его хеш не превышает параметр bits. От этого параметра зависит сложность добычи нового блока. Обновление числа осуществляется с периодичность раз в 14 дней. Принцип расчёта прост. Сначала вычисляется объём созданных блоков за 14 дней, после чего полученное число сравнивается с эталонным значением. Как отмечалось, на создание блока уходит 10 минут. С ростом блоков сложность возрастает и наоборот. В результате система подстраивается под количество участников и общую мощность подключенного оборудования. N_tx — число операций в перечне. Nonce — параметр, который подбирается до момента, пока значение хеша не будет ниже bits. Для того, чтобы новый хеш имел отличия от прошлого, должен различаться хоть один из параметров. Версия неизменна, хеш прошлого блока обновляется с появлением нового элемента цепи, список хешей меняется при включении в него новой транзакции, время обновляется каждую пару секунд, а целевой параметр — раз в 14 дней. Чтобы не ожидать обновления любого из перечисленных свойств, существует параметр nonce. Size — величина блока (измеряется в байтах). Структура блока Биткоина — транзакции ![]() Следующий элемент блока — операции, которые осуществляются в криптовалютной сети. Они имеют вид перечня, который формирует блок и становится составляющей цепи. Каждый пункт списка (транзакция) показывает источник и получателя перевода. Информация по адресату указывается с помощью публичного ключа. Для применения зачисленных средств получатель создаёт новую операцию, в которой берутся деньги с прошлой транзакции и направляются иному адресату. Для подтверждения права на перечисляемые средства требуется цифровая подпись, позволяющая проверить подлинность каждой операции в сети. Список транзакций в блоке реализуется с помощью таких свойств: Hash — параметр, указывающий на хеш операции. Это значит, что хеширование транзакции происходит два раза — при расчёте хеша операции, а после при расчёте хеша блока. В цепи блокчейн работает принцип взаимосвязи элементов цепи. Это значит, что хеш нового блока ссылается на хеш идущего перед ним элемента цепи. По аналогичному алгоритму построена и система транзакций. Если заменить проведенную операцию и сохранить при этом хеш, разрушатся остальные хеши, а сама цепь будет отклонена пользователями сети. Vout_sz — число адресов, куда переводятся средства (может колебаться от одного и больше). Vin_sz — число прошлых операций, в которых средства перечисляются новым получателям (от 1 и больше). Ver — версия (пока неизменна — 1). Size — объём операции (единица измерения — Байты). Формат — JSON. Loch_time — свойство, которое пока не применяется и равно нулю. Суть замысла в том, чтобы выполнять операции с отсрочкой по времени. В результате они подключаются не к идущему в данный момент блоку, а к будущему или через один элемент. В свойстве Loch_time показывается число элементов цепи, которые требуется игнорировать перед включением транзакции. Потенциально опция может применяться в ситуации, когда требуется отмена операции и её переподпись. In — свойство, в состав которого входит перечень входов транзакции. Здесь применяются выходы прошлых операций, о которых упоминалось ранее (prev_out). Все выходы имеют индивидуальные свойства, а именно — Hash (хеш прошлой операции), n (порядковый номер операции) и scriptSig. Отправитель обязан доказать, что переводит личные средства. Это происходит путём указания общедоступного ключа прошлой операции, а также включения частного ключа (подписи ECDSA). Этого достаточно, чтобы доказать акт применения собственных денег. Out — перечень выходов. Как и ранее, здесь имеются определенные свойства — Value и ScriptPubKey. Первое включает в себя объём средств, направляемых адресату. Информация берётся из прошлых операций, поэтому общее число не может быть больше итоговой суммы уже выполненных транзакций. Свойство Valuo прописывается с наномонетах (это делается, чтобы исключить появление дробей). Второе свойство представляет собой определенный сценарий. Он состоит из хеша общедоступного ключа и оператора языка. Суть — изучение транзакции и подтверждение её валидности. Общий объём средств на входе операции с криптовалютой идентичен с числом монет на выходе. Раз в 4 года происходит снижение вознаграждения вдвое, что стабилизирует число криптовалюты в обороте. Если вдруг появится мошенник, который подставит блок и присвоит 100 монет, то новый не приживётся в цепи из-за отторжения честными участниками сети. Вот почему чем больше пользователей, тем надёжнее система. С учетом приведённой выше информации можно привести пример блока Биткоина: Hash(хеш): 00000000000008c21dbf4715d5da1a288061faa21e930dd8df6ae25c8b56d868. Previous block (прошлый блок): 000000000000056a7dcf273f627c2a17c55ffe1937a6ef2bc467d9c524312da2. Difficulty (сложность): 1 690 895.803053. Bits — 1a09ec04. Transactions (транзакции): 185. Total BTC (общее число Биткоинов): 4251.63216934. Size (размер): 58.914 kilobytes. Merkle root (список хешей): 98c5d975bf556f0344770eee7ab31688a2c108223c14sea908ff99b0ab8fe947. Nonce: 3723463451. Главные характеристики блока Bitcoin: Добыча блока происходит с периодичностью раз в 10 минут. Каждый блок способен хранить не более одного мегабайта информации. Этот лимит прописан в коде криптовалюты, но пропускная способность остаётся высокой. После оптимизации планируется увеличить объем данных до 2 Мб. Для примера Bitcoin Cash имеет объём, равный 8 Мб. В один блок, имеющий размер 1 мегабайт вмещается до 3–5 тысяч операций, в которых участвуют два кошелька с ограниченным числом выходов и входов. На текущий момент пропускная способность сети — семь операций за 1 секунду. С ростом числа пользователей дефицит этого показателя всё более заметен, что и привело к появлению Bitcoin Cash. Число операций, которые входят в один блок, снижается по нескольким причинам — проведение транзакции с большим числом адресов (актуально для пулов), а также применение компаниями цепи clockchain для отправки информации или содержания реестра. В процессе разработки Bitcoin Сатоши Накамото ограничил эмиссию криптовалюты 21 миллионом BTC. Кроме того, предусмотрено снижение премии за каждый новый блок в 2 раза с периодичностью раз в 4 года (каждые 210 тысяч блоков). Получается, что при создании первого блока и в течение следующих лет (до 2012-го) майнеры получали 50 монет. В период с 2012 по 2016 вознаграждения было в два раза меньше — 25 монет. С 2016 по 2020 год размер премии будет держаться на уровне 12,5 Биткоинов и так далее. Причина ступенчатого уменьшения вознаграждения — желание снизить риск инфляции Bitcoin и не допустить обесценивание криптовалюты при активной добыче новых блоков |