Краткая история эволюции proof-of-work в криптовалютах. Часть 1 / Хабр
Предлагаю вашему вниманию перевод статьи «The Proof-of-Work in Cryptocurrencies: Brief History. Part 1» Рэя Паттерсона (Ray Patterson) с сайта Bytecoin.org.До начала времен
Понятие Proof-of-work – «доказательство (проделанной) работы» – впервые появилось в работе
“Pricing via Processing or Combatting Junk Mail”в 1993 г. И хотя в данной статье такого термина еще нет (появится через 6 лет), мы будем называть его именно так (PoW для краткости). Какую же идею предложили Cynthia Dwork и Moni Naor в своей работе?
«Чтобы получить доступ к общему ресурсу, пользователь должен вычислить некоторую функцию: достаточно сложную, но посильную; так можно защитить ресурс от злоупотребления»
Если провести аналогию, Рыбнадзор обязывает Джереми Уэйда немного потрудиться, чтобы получить доступ к местному пруду – например, посадить несколько деревьев и прислать фото саженцев. При этом Джереми должен быть в состоянии с ней справиться за разумное время: до того, как все рыбы будут отравлены выбрасываемыми в окружающую среду веществами. Но, с другой стороны, работа не должна быть элементарной, иначе толпы рыбаков быстро опустошат весь пруд.
В цифровом мире придумать пример подобной работы на самом деле не так тривиально.
Сервер может, например, предложить пользователю умножить два случайных длинных числа и потом проверить результат. Проблема очевидна: проверка не сильно быстрее самой работы, т.е. сервер просто не справится с большим потоком клиентов.
Следующая попытка: сервер придумывает два длинных простых числа, умножает их и сообщает результат пользователю. Последний должен выполнить разложение на множители, это уже посложнее. Здесь есть нюансы, но в целом схема стала лучше: коэффициент «время работы / время проверки» сильно вырос. Это и есть основное требование, сформулированное в статье:
«Вычисление функции на заданном входе должно быть гораздо сложнее, чем проверка результата»
Помимо этого требовалось, чтобы функция не была амортизируемой (читай – не распараллеливалась), т. 2), так и выбираться автономно: выбрать x, найти sqrt(hash(x)). В последнем случае нужен небольшой напильник: не всякий элемент в Z_p является квадратом. Но это уже мелочи.
В течение следующих лет появлялись и другие работы с ключевыми словами proof-of-work. Среди них следует отметить две:
- Проект Hashcash от Адама Бэка, посвященный той же защите от спама. Задача формулировалась так: «Найти такое значение x, что хэш SHA(x) содержал бы N старших нулевых бит». То есть фактически работа сводилась к хэшированию одних и тех же данных (письма) с перебираемой частью. Поскольку используется стойкая необратимая хэш-функция, то ничего лучше перебора нет; и средний объем работы экспоненциально зависит от N. Очень простая схема, да?
- “Moderately hard, memory-bound functions”. Ключевое слово здесь – memory-bound («ограниченные памятью»). К началу нулевых стало заметно, что разница между low-end и high-end процессорами слишком велика для PoW-задач, чтобы стричь всех под одну гребенку.
Одноклеточные
Неверным было бы сказать, что Сатоши был первым, кто придумал использовать PoW для электронных денег. Идея под названием
“reusable proof-of-work”витала в криптоанархических кругах (и даже была частично реализована), но в своем изначальном виде популярности не приобрела.
Концепция RPoW от Хэла Финни предполагала, что сами «токены-доказательства» являлись бы самостоятельной ценностью (монетами), в то время как в Bitcoin механизм PoW был использован как средство достижения распределенного консенсуса (единого мнения о том, какую версию блокчейна считать верной). И в этом была ключевая идея Bitcoin, которая «выстрелила».
В качестве proof-of-work схемы была выбрана идея Hashcash, а вычисляемой функцией стала SHA-256 – самая популярная хэш-функция в тот момент (2008 г). Скорее всего, именно простота Hashcash и «стандартность» SHA-256 оказались решающими факторами. Сатоши добавил к Hashcash механизм изменяющейся сложности (уменьшать-увеличивать N – требуемое число нулей – в зависимости от суммарной мощности участников) и этим, казалось бы, обеспечил всем безоблачное д ецентрализованное будущее. Но потом случилось то, что случилось: GPU, FPGA, ASIC и даже облачный дентрализованный майнинг. Подробную историю (в трех томах) развития майнинга в Bitcoin вы можете найти здесь.
Нет единого мнения о том, «предвидел ли Сатоши» все это безобразие или нет, но факт такой: уже в сентябре 2011 появилась первая криптовалюта с принципиально другой функцией PoW: Tenebrix использовал scrypt вместо SHA-256 .
Мутация
Можно объяснить, конечно, все обычной обидой или желанием «срубить бабла»: до Tenebrix уже были и форки, и премайны, и pump’n’dump. Но аргументы сторонников “ASIC-resistance” функций вполне разумны:
- Популяризация.
Поскольку каждый компьютер (в теории) дает примерно одинаковый хэшрейт, то большее число людей будет участвовать в майнинге, пусть даже и в фоновом режиме. Сотни миллионов офисных машин, слегка нагрузив свой CPU, будут вносить вклад в защиту сети, получать за это монетки, которые потом пойдут в оборот. - Децентрализация.
Здесь даже два аспекта: во-первых, производители железа. Большинство ASIC’ов производится на нескольких заводах в Китае, а компетенцией в производстве тоже обладают единицы. Другое дело – ПК общего назначения. Во-вторых, географическое расположение майнеров. Если не принимать в расчет пулы, то универсальный CPU-friendly алгоритм имеет больший ареал распространения: кто угодно может позволить себе запустить майнер. - Дороговизна атаки 51%.
Конечно, всегда можно спроектировать специальный девайс, решающий определенную задачу эффективнее (по времени или по энергозатратам), чем обычный ПК. Другой вопрос: а сколько будет стоить reseach+development такого устройства, какие масштабы производства должны быть, чтобы весь проект был экономически выгоден и т.д.? Считается, что в любом случае это будет дороже, чем в текущих реалиях Bitcoin. (Имеется в виду не абсолютная оценка стоимости атаки: а относительно, грубо говоря, уровня зрелости всей сети. Так, скажем, сеть даже с самым супер-крутым ASIC-proof алгоритмом можно дешево атаковать, если в ней пока майнит только два десятка машин.)
Конечно, на каждый пункт всегда можно что-то возразить, но я лишь хочу показать, что при выборе PoW-функции есть смысл думать над ее «ASIC-защищенностью». На самом деле, об этом аспекте неявно было сказано в самой первой статье! Именно неамортизируемость функции можно с натяжкой считать ASIC-защищенностью.
Теперь немного технических подробностей о том, как работает алгоритм scrypt, легший в основу Tenebrix, а в дальнейшем и Litecoin (который, как вы, возможно, знаете, стал второй по популярности криптовалютой).
Строго говоря, scrypt – не криптографическая хэш-функция, а функция формирования ключа (key derivation function, KDF). Такие алгоритмы используются для ровно там, где вы и подумали: для получения секретного ключа из каких-то данных (парольной фразы, случайных бит и т.д.). Среди примеров можно также назвать PBKDF2 и bcrypt.
Основная задача KDF – затруднить генерацию конечного ключа: несильно, чтобы можно было использовать в прикладных задачах, но настолько, чтобы предотвратить случаи злоумышленного использования (например, массовый перебор паролей). Формулировка очень напоминает кое-что, не так ли? Неудивительно, что они встретились – как Зита и Гита – PoW и KDF.
- Входные данные пропускаются через PBKDF2
- Hазбиваются на p блоков, каждый обрабатывается функцией SMix,
- Результат снова склеивается и пропускается через PBKDF2.
Заметьте, что здесь каждый из p блоков может обрабатываться отдельно. Т.е. scrypt в теории допускает возможность распараллеливания (но по умолчанию p=1)
Второй слой:
- Входной блок последовательным применением псевдослучайной функции BlockMix расширяется до массива из N блоков.
- Блок X, полученный из последнего элемента, интерпретируется как целое число j, и из массива читается элемент Vj
- X = BlockMix(X xor Vj)
- Шаги 2-3 повторяются N раз
- Результатом является текущее значение блока X
Тут происходит самое интересное. Чем большее значение N мы выбираем, тем больше памяти требует алгоритм. И хотя на каждом шаге 2-3 нам требуется лишь один элемент из всего массива, мы не можем освободить память до шага 5: ведь этот элемент выбирается псевдослучайно, в зависимости от последнего результата! Таким образом, если сама функция BlockMix (см. ниже) выполняется быстро, узким местом становятся задержки (latency).
Третий слой.
- Вход разбивается на 2r блоков
- Каждый блок xor-ится с предыдущим и хэшируется функцией H
- Результат выдается в переставленном порядке
В качестве функции H используется Salsa20/8. Да, это не хэш-функция, а потоковый шифр. Но для целей scrypt не требуется устойчивость к коллизиям, а только быстрый и псевдослучайный результат, поэтому Salsa очень даже подходила. По умолчанию scrypt предлагает r=8, однако в криптовалюте выбрали r=1 (скорее всего, для скорости). О последствиях мы напишем позже.
Подробности касательно выбра тех или иных параметров в алгоритме можно найти тут.
Параметры scrypt для Tenebrix были выбраны так, чтобы общий объем требуемой памяти укладывался в 128 КБ: так можно поместиться в L2 кэш процессора. А по умолчанию использовалось 16 МБ! Эксперимент оказался более чем удачным: позабытые было на обочине прогресса CPU-майнеры быстро включились в игру. Подавляющее большинство новых форков уже отпочковывалось от Litecoin, унаследуя scrypt вместо SHA256.
Как ни странно, пользователей не смутил тот факт, что 128 КБ параметры оказались вполне по зубам и видеокартам. Оптимизированный GPU-майнер появился спустя несколько месяцев и давал в среднем десятикратный прирост эффективности. «Зато не в 100 раз, как в Bitcoin!» — говорили они, — «Зато не в 1000 раз!» Увеличение соотношения GPU/CPU-мощностей (вытесняемых из Bitcoin новыми ASIC’ами) было не таким резким, наверное, потому, что компенсировалось бумов форков: новая scrypt-криптовалюта появлялась едва ли не раз в неделю, отягивая на себя новые мощности.
И все же понимание того, что scrypt далеко не идеальная PoW функция, появилось даже раньше, чем анонс scrypt-ASIC. Головокружение от успехов прошло, культ Сатоши немного пошел на убыль, и идеи для новых PoW-кандидатов стали появляться как после дождя.
«Скрещивайтесь и размножайтесь: алгоритмы X11 и Ко!»
«Атавизмы против рудиментов: SHA3 или scrypt-jane?»
«Парадоксы истории: Momentum и birthday paradox»
«Где вершина эволюции: в теоретической информатике или практической? CuckooCycle и CryptoNight»
Сравнение Proof-of-Work и Proof-of-Stake
Proof-of-Work и Proof-of-Stake – это алгоритмы консенсуса, которые используются для проверки новых блоков сети, а также добавления транзакций в них. Соответственно, принцип работы этих систем непосредственно касается майнеров, которые в режиме 24/7 расшифровывают блоки. В чем же заключается разница между двумя алгоритмами и какой из них является более выгодным с точки зрения майнинга? Рассмотрим их принципы работы, а также составим сравнительную характеристику.
Proof-of-Work: принцип работыПруф-оф-ворк (Proof-of-Work), или PoW, как его называют сокращенно, с английского переводится как «доказательство работы». Собственно в названии самого алгоритма и заложен принцип его работы. Он дает возможность сети проверить, что майнер фактически выполнил всю работу по вычислению функции SHA-256 или Scrypt, заложенные в основу криптовалют.
Суть PoW состоит в следующем:
- Майнер должен решить сложную задачу, которая под силу только достаточно мощным вычислительным машинам.
- Результат, полученный в ходе решения, должен легко проверяться.
Если говорить об алгоритме пруф-оф-ворк, конкретно в контексте криптовалют, то он позволяет нодам (узнать, что такое ноды и как они работают можно в ), проверять работу майнеров, а также достоверность их вычислений.
Такой механизм стимулирует сообщество майнеров постоянно модернизировать свое добывающее оборудование, ведь сложность сети постоянно возрастает, таким образом, общая вычислительная мощность в сети биткоинов уже в 2012 году превысила показатели самого современного суперкомпьютера.
Стоит отметить, что необходимость модернизации с точки зрения майнеров является не столько преимуществом, сколько недостатком. Ведь постоянное обновление оборудования требует больших финансовых затрат, что выбивает некоторых игроков из рынка.
Proof-of-Stake: принцип работыДо 2012 года PoW являлся единственным алгоритмом, задействованным в криптовалютах, но на горизонте появился конкурент. Им стал алгоритм Пруф-оф-стейк (Proof-of-Stake), или PoS, что в переводе с английского означает «проверка доли». По структуре своей работы он принципиально отличается от «доказательства доли». Если в первом алгоритме для повышения приоритета в сети использовались вычислительные мощности, то в случае с PoS – главную роль играет количество монет в кошельке.
То есть для того, чтобы повысить свои шансы первым расшифровать блок, вам необходимо держать в своем кошельке максимально большое количество монет той криптовалюты, которую вы майните. С одной стороны такой подход весьма выгоден для майнеров, ведь больше не потребуется обновлять свое оборудование, тратить большое количество электроэнергии, а атака на сеть становится практически невозможной. Но есть и свои недостатки. Например, если одному из пользователей или объединенной группе удастся сосредоточить в своих руках большую долю всех монет, то он сможет управлять сетью.
Proof-of-Work и Proof-of-Stake: на чьей стороне сообщество?Алгоритмы Proof-of-Work и Proof-of-Stake (или Пруф-оф-ворк и Пруф-оф-стейк) уже давно стали почвой для серьезных споров между майнерами. Одни утверждают, что доказательство работы более справедливо, другие, что доказательство доли. Какого-либо однозначного ответа дать нельзя.
Кроме того, сегодня довольно часто используется гибридный вариант, объединяющий оба алгоритма. Когда осуществляется эмиссия монеты, сеть работает на Proof-of-Work, а когда эмиссия закончена – на Proof-of-Stake. Это вполне логично. Ведь активное участие на этапе проверки работы позволяет накопить достаточное количество монет для того, чтобы «органично» вклиниться в новый этап проверки долей.
Несмотря на новизну и ярые обсуждения системы PoS, большинство крупных криптовалют не готовы отказаться от алгоритма Proof-of-Work. Возможно, в будущем это и произойдет, но сейчас этого не наблюдается. Proof-of-Work и Proof-of-Stake остаются конкурентами.
Это протокол, главная цель которого — защита от кибератак, таких как DDoS-атака, при которой злоумышленники перегружают вычислительные ресурсы системы, посылая многочисленные ложные запросы.
Концепция Proof-of-Work (PoW) существовала задолго до биткоина (Bitcoin), но когда Сатоси Накамото применил (или применила — мы до сих пор ничего не знаем о личности создателя криптовалюты) эту технику к своему изобретению, это положило начало революции в области цифровых транзакций.
Строго говоря, идея PoW была предложена Синтией Дворк и Мони Наор еще в 1993 году, но сам термин появился гораздо позже, в 1999-м, в статье Маркуса Джейкобсона и Ари Джуэлса.
Но вернемся в настоящее. Не будет преувеличением сказать, что Proof-of-Work — главная идея, лежащая в основе биткоина: именно она служит базой для распределенного реестра.
Что такое распределенный реестр?
Это система, с помощью которой вы можете совершать денежные переводы напрямую, не прибегая к услугам посредников.
При традиционных методах проведения финансовых операций вы фактически доверяете свои средства третьей стороне (например, Visa, Mastercard, PayPal или банку), которая и осуществляет транзакцию. Третья сторона ведет собственный закрытый реестр транзакций, включающий записи об истории сделок и данные о балансе каждого аккаунта.
Однако в случае биткоина и некоторых других криптовалют копия такого реестра фактически есть у каждого участника системы — именно такой распределенный реестр и называется блокчейном . Каждая сторона в транзакции может проверить всю информацию самостоятельно, поэтому необходимость в посредниках отпадает.
Proof-of-Work и майнинг
На более глубоком уровне Proof-of-Work представляет собой набор требований к сложным компьютерным вычислениям, которые необходимо провести, чтобы создать новую группу заверенных транзакций ( блок ) и добавить ее к распределенному реестру (блокчейну). Этот процесс называется майнингом. Майнинг преследует две главные цели:
- Верификация сделки, которая позволяет избежать так называемого двойного расходования ;
- Создание новых единиц криптовалюты (фактически, майнеры получают их в награду за выполнение предыдущей задачи).
При транзакции с криптовалютой происходит следующее:
- Транзакции случайным образом группируются в блоки;
- Майнеры подтверждают легитимность транзакций в каждом блоке;
- Для этого им приходится решить сложную математическую задачу, известную как proof-of-work problem;
- Первый майнер, решивший задачу, связанную с конкретным блоком, получает вознаграждение в виде криптовалюты;
- Заверенные транзакции добавляются к блокчейну, который доступен каждому участнику системы.
Ключевая особенность этой математической задачи — асимметрия: она должна быть умеренно сложной для майнера, но достаточно простой для сети в целом. Это достигается с помощью криптографии. Каждый майнер в сети пытается найти решение задачи первым; при этом найти его фактически можно лишь методом прямого перебора, поэтому для успешного решения требуется множество попыток.
Когда кто-то из майнеров находит решение, система оповещает об этом всех участников сети, одновременно начисляя майнеру вознаграждение согласно существующему протоколу.
Сложность майнинга позволяет поддерживать его соревновательную природу: чем выше распределенная вычислительная мощность сети, тем выше становится этот параметр, — иными словами, возрастает число вычислений, которые нужно провести, чтобы создать новый блок.
Метод также повышает стоимость создания блока, побуждая майнеров наращивать эффективность своих систем, чтобы сохранить положительный экономический баланс. Повышение порога должно происходить в среднем каждые 14 дней, а новый блок формируется каждые 10 минут.
Proof-of-Work используется не только в системе биткоина, но и в Ethereum и многих других системах, основанных на блокчейне.
В каждом случае конкретные особенности системы Proof-of-Work могут немного отличаться, поскольку создаются индивидуально для каждого блокчейна.
Разработчики Ethereum хотят изменить систему целиком, перейдя к новой системе под названием Proof-of-Stake.
Что такое Proof-of-Stake?
Proof-of-Stake — другой способ верифицировать транзакции и обеспечивать distributed consensus.
Это алгоритм, который служит ровно тем же целям, что и Proof-of-Work, но способ достижения этих целей совершенно отличается.
Идея Proof-of-Stake была впервые предложена на форуме bitcointalk еще в 2011 году; год спустя появились первые криптовалюты, использующие этот метод, — Peercoin, ShadowCash, Nxt, BlackCoin, NuShares/NuBits, Qora и Nav Coin.
В отличие от Proof-of-Work, где алгоритм вознаграждает майнеров, которые проводят вычисления для валидации транзакций и создания новых блоков, в Proof-of-Stake создатель нового блока выбирается системой заранее на основании его состояния, то есть доли в общем количестве криптовалюты.
Никакого вознаграждения за блок
Кроме того, это означает, что весь объем криптовалюты в системе создан изначально и никогда не меняется. Поэтому в системе PoS вознаграждение за блок отсутствует в принципе. Доход майнеров составляют исключительно комиссии с транзакций. Поэтому для майнинга в системе PoS существует отдельный термин: форджинг.
Сообщество Ethereum и создатель криптовалюты Виталик Бутерин планируют провести хардфорк , чтобы перейти с системы Proof-of-Work на Proof-of-Stake.
Но почему? Распределенный реестр, основанный на Proof-of-Work требует от майнеров больших затрат энергии. Одна транзакция с биткоином требует столько же электроэнергии, сколько полторы семьи потребляют за целый день.
А за электричество майнерам приходится платить обычными, фиатными деньгами, и это постоянно сдерживает рост ценности криптовалюты.
Недавнее исследование показало, что к 2020 году транзакции в сети биткоина будут потреблять столько же электричества, сколько все население Дании.
Это сильно беспокоит разработчиков криптовалют, и сообщество Ethereum хочет использовать Proof-of-Stake как более экологичную и дешевую форму поддержания распределенного реестра.
Кроме того, изменится механизм вознаграждения: в системе Proof-of-Work у майнера может вообще не быть криптовалюты, для которой он проводит вычисления. В случае Proof-of-Stake, форджеры всегда владеют какой-то частью криптовалюты.
Как стать форджером?
Если новый протокол Proof-of-Stake под названием Casper будет применен, в системе появится некий пул валидаторов. Пользователи смогут присоединяться к пулу, чтобы получить возможность войти в число форджеров. Сам Бутерин утверждает:
«У системы не будет каких-то предпочтений по поводу того, кто сможет войти в пул валидаторов. Кто угодно сможет присоединиться на каком угодно этапе, независимо от количества других участников».
Вознаграждение для валидаторов составит «от 2% до 15% от суммы транзакции», говорит Бутерин, — впрочем, по этому пункту у него пока нет уверенности.
Кроме того, Бутерин заявил, что, хотя число валидаторов (форджеров) не будет ограничиваться программно, его можно будет регулировать экономически, сокращая размер комиссии, если желающих станет слишком много, или увеличивая, если их будет не хватать.
Более надежная система?
Любая компьютерная система нуждается защите от хакерских атак, особенно если она как-то связана с деньгами. Поэтому главный вопрос сводится к следующему: будет ли Proof-of-Stake безопаснее, чем Proof-of-Work?
Он беспокоит не только экспертов — скептики находятся и в самом сообществе. В случае Proof-of-Work злоумышленникам трудно получить доступ к системе из-за высокого технологического и экономического порога вхождения.
Атаки в системе PoW обходятся очень дорого — чаще всего для этого вам понадобится больше денег, чем вы в итоге сможете украсть.
Системе PoS, напротив, понадобятся дополнительные средства защиты — без этого атаковать ее будет гораздо проще.
Чтобы разрешить этот вопрос, Бутерин создал протокол Casper, -алгоритм, способный определять обстоятельства, при которых неблагонадежный валидатор может потерять свой депозит. Он поясняет: «Casper требует, чтобы валидаторы вносили вклад для участия. Участник теряет депозит, если протокол определяет, что он нарушил некоторый набор правил».
Вывод
Благодаря PoS валидаторам не нужно использовать свою вычислительную мощность, — единственными факторами, влияющими на успех, является общее количество их собственных монет и текущая сложность системы.
Таким образом, переход от PoW к PoS может обеспечить следующие преимущества:
- Экономия энергии;
- Более безопасная сеть, поскольку атаки станут более дорогими: если хакер захочет купить 51% от общего количества монет, рынок отреагирует быстрым повышением цен.
Узлы сети, (или валидаторы), должны заплатить залог, чтобы стать частью распределенного реестра. Casper определит конкретную сумму вознаграждений, причитающихся валидаторам, исходя из внесенных ими сумм.
Если некий валидатор создаст «недопустимый» блок, его залог будет удален, а сам он лишится возможности участия в системе.
Другими словами, система безопасности Casper основана на чем-то вроде ставок. В системе PoS валидатор как бы делает ставку на транзакцию и получает денежный приз, пропорциональный своему вкладу.
Подготовила Тая Арянова
Честно говоря, не встретил в комментариях чего-то близкого к практическим реализациям.
Сейчас есть две основные валюты, поддерживающие PoS: Novacoin и PeerCoin.
Первый дефляционный, второй инфляционный, но отличия друг от друга на этом не кончаются. К данному вопросу это не относится, поэтому предлагают конкретно в данных валютах поискать в интернете. Я больше знаю Novacoin и могу рассказать подробнее про его реализацию гибридной арзитектуры.
При старте валюты монеты сначала добывались только с помощью PoW, чтобы не было ситуации, когда у разработчика изначально есть деньги и он якобы их раздает, кому хочет. Первые монеты майнились, «по старинке» видеокартами. Когда первые монеты созрели до 30 дней, подключился уже PoS майнинг. Основная эмиссия и проведение транзакций идут через ПоС для энергоэффективности и, на мой взгляд (мнения разработчиков может отличаться), для того, чтобы монеты попадали не столько PoW майнерам, тут же сливающих монеты на биржах, а заинтересованным в развитии валюты PoS майнерам, хранящим свои деньги в Новакоине. на один PoW блок (обычный майнинг мощностями) приходится 3 блока PoS. Гибридный подход используется не только для выпуска первых монет, но и для повышения безопасности. Биткоин и другие PoW системы уязвимы к атаке 51% PoW: получивший контроль над большей частью мощностей может атаковать сеть даблспендом и т.д. Аналогичная ситуация и в чистой PoS системе: хоть это и выглядит несколько маловероятно, но если найдется в чистой системе ПоС лицо, получившее контроль над 51% деньгами всей валюты, то он теоретически так же может атаковать. Гибридная архитектура эти ситуации кардинально меняет: теоретически, чтобы атаковать сеть, надо одновременно и владеть мощностями и деньгами, что в устоявшейся валюте звучит невозможно. Кроме безопасности, огромным преимуществом является энергоэффективность такой валюты: большая часть транзакций проводится с помощью ПоС майнинга, не требующего трат на оборудование для майнинга и электроэнергию: достаточно обычного кошелька с монетами, работающего в фоне.
Саморегуляция Новакоина продумана так, что посмайнинг в устоявшейся валюте перестает быть средством обогащения богатых: сложность задирается, а если она растет, то награда за блок падает. Ограничения на награду сверху (сейчас 10 монет) создают выравнивающий фактор: 100 монет или 1000 на входе не сделают за раз больше 10 монет. В общем, система не так проста и глупа, как в описано в комментарии выше. При этом нет ситуации, как в биткоине, когда майнинг действительно выгоден только богатым производителям оборудования, владельцем пулов и хозяем датацентров майнерских, появляющихся в Китае и Швеции.
Любой, кто достаточно близко знаком с биткоином, наверняка понимает, что это революционное достижение, созданное легендарной, смотревшей далеко в будущее личностью или группой лиц. На первый взгляд, это революционная технология, позволяющая отправлять деньги без участия какого-либо центрального органа власти. Вам не нужен кто-то, кто будет эмитировать ваши деньги, они просто существуют — что-то наподобие золота.
Однако любой, кто имел время, чтобы ознакомиться немного глубже с устройством биткоина, мог заметить, что технология уходит далеко за пределы денег. В сухом остатке, биткоин — это первая децентрализованная база данных в истории, и трансфер ценности — это одно из многих естественных применений для биткоина.
Но ведь в блокчейне может храниться гораздо более широкий спектр данных. Проекты наподобие Counterparty, Tether и Mastercoin используют децентрализованную природу блокчейна биткоина для широкого диапазона финансовых операций, включая трейдинг и краудфандинг.
Криптоплатформы второго поколения, такие как NXT, Ethereum, Bitshares, предлагают функционал, далеко уходящий за пределы финансовых транзакций. Этот функционал интегрирован ядро системы, а не надстроен поверх него. Второе поколение криптоплатформ подчеркивает главное в природе распределенной базы данных блокчейна. Основная идея в основе блокчейна — создать децентрализованную базу данных, работа которой не может быть нарушена каким-либо индивидуальным игроком рынка, и которая используется для хранения произвольных данных.
В этой статье предлагается короткое вводное описание существующих методов создания и обеспечения безопасности таких баз данных, без углубления в технические детали и фокусируясь на основной картине.
Децентрализованная база данных блокчейн
Давайте будем использовать конструктивный подход. Итак, нам нужна децентрализованная база данных, которая может быть доступна и модифицируема всеми участвующими в сети узлами. База данных должна быть согласованной (все узлы видят абсолютно одинаковую версию базы), доступной (узлы могут записывать данные в базу и читать их из нее в любой момент времени), и устойчивые к разделению (если один узел становится неработоспособным, это никак не отражает на базе данных). Однако, согласно теореме CAP, такая база данных не может существовать. Вы можете достичь двух из трех свойств, но не всех сразу. Мы не можем сочетать доступность или устойчивость к разделению, поэтому нам придется смириться с тем фактом, что разные узлы время от времени могут видеть разные версии блокчейна, обычно называемые форками.
Но мы все-таки должны найти некий рецепт для восстановления согласованности всей системы, так, чтобы все системные узлы имели единую версию блокчейна. Именно здесь и начинается вся красота блокчейна. Децентрализованный блокчейн — не просто произвольная база данных, все записи сформированы в блоки и организованы в линейном порядке. Каждый последующий блок, как известно, ссылается на своего предшественника. Узлы должны обладать некоторым влиянием, чтобы иметь возможность добавлять записи в базу данных, в то время как процесс записи самой базы данных должен использовать определенные ресурсы для обеспечения работы узлов. Заставляя узлы «платить» что-либо за возможность записывать в базу данных, мы достигаем сразу двух целей: защита от спам-узлов, которые загрязняют сеть, и – одновременно – решение проблемы выбора «правильной» базы данных, на случай сомнений. Как известно, предпочтение отдается базе данных с набольшим количеством блоков. В теории, на построение такой базы данных было затрачено больше ресурсов, соответственно, она будет считаться корректной.
Кроме всего вышеперечисленного, нам необходимо защитить сеть от централизации, которая может возникнуть, если отдельный узел будет располагать ресурсами, значительно превышающими ресурсы остальной сети. Ведь если такой максимально эффективный узел появится, он фактически может определять, что может храниться в базе данных, а что нет.
Суммируя, процесс построения базы данных выглядит следующим образом:
— узлы отправляют свои данные в децентрализованную сеть для последующей обработки;
— узлы формируют данные для добавления в блоки и пытаются добавить уже сформированные блоки в базу данных;
— база данных с наибольшим количеством блоков считается «правильной», все узлы ссылаются на нее при добавлении новых блоков.
А теперь давайте разберемся, какие именно «ресурсы» могут быть использованы для того, чтобы сделать процесс записи в блокчейн «сложным», настолько, чтобы один узел не имел возможности контролировать сеть, если его ресурсы не превышают совокупные ресурсы остальной сети.
Защита блокчейна
Поскольку мы имеем дело с компьютерными сетями, наш выбор «ресурса» относительно очевиден — компьютерная мощность в чистом виде. Чтобы добавить блок в блокчейн, узел должен решать определенные вычислительные задания, которые значительно усложняют контроль над сетью со стороны одного узла. Это краткое описание концепта Proof-of-Work (доказательство работы) — в основном предполагающего способность узла проверить, что майнер (в роли которого выступает узел, добавляющий новый блок в блокчейн) фактически выполнил расчеты.
В биткоине ноды производят итерации в порядке, называемом «одноразовый». Это включает в себя попытку найти хэш заголовка блока (часть блокчейна, которая содержит ссылку на предыдущий блок, и содержит суммированное значение транзакций, включенных в блок), который будет по своему значению соответствовать текущему уровню сложности.
Эти вычисления могут производиться только в интерактивном режиме, и сложность устанавливается на таком уровне, что она действительно является сложной. В тоже время проверка результатов вычислений остается простой. Узлы всегда могут удостовериться, что майнер нашел корректное значение.
Proof-of-work биткоина породил целую новую индустрию майнинга и стал импульсом к разработке специализированного оборудования. Как известно, ресурсы, расходуемые на хеширование блоков биткоина, огромны и намного превышают мощности крупнейших суперкомпьютеров.
При этом результаты вычислений майнеров не имеют никакой ценности за пределами экосистемы биткоина, что заставляет многих задуматься над тем, что все эти ресурсы можно было бы использовать в более полезном направлении. Это конечно повод для отдельной дискуссии, хотя обеспечение безопасности сети биткоин — уже достаточно благородная цель. В любом случае, некоторые другие возможности должны быть рассмотрены.
Proof-of-stake
Биткоин, в первую очередь, — децентрализованная система финансовых транзакций. Блокчейн биткоина может быть использован для других вещей, но очевидно, что он был разработан, чтобы стать «более хорошими деньгами».
Узлы отправляют друг другу блокчейн-токены (определенное значение, связанное с транзакционными входами и выходами), которое эффективно создает биткоин-баланс узла получателя (в действительности, база данных биткоина не содержит никаких балансов, вместо них содержатся транзакционные входы и выходы). Это дало человеку под ником Sunnyking, создателю криптовалюты Peercoin, идею использовать «стейк» (“stake”) — некоторое значение, заблокированное на транзакционных выходах, в качестве ресурса, который определяет, какой узел получает право на майнинг следующего блока. В подходе proof-of-stake узлы также пытаются хэшировать данные в поисках результата меньше определенного значения, но сложность в данном случае распределяется пропорционально и в соответствии с балансом данного узла. Иными словами — в соответствии с количеством монет (токенов) на вашем счету. Таким образом, узел с большим балансом имеет больше шансов сгенерировать следующий блок. И поскольку маловероятно, что конкретному узлу не так интересно иметь больший баланс, чем у остальной сети, эта схема выглядит достаточно привлекательной, прежде всего из-за небольших требований к вычислительным ресурсам, а также потому, что не возникает ситуации «выброшенных» компьютерных мощностей.
На первый взгляд PoS выглядит более удачным решением, чем PoW, но в действительности не все так просто. PoW, помимо потребления огромного количества энергии, также имеет существенные недостатки. Биткоин-майнеры организовываются в майнинг-пулы, и оператор пула, теоретически может контролировать большую часть вычислительных мощностей сети. С этой точки зрения децентрализация теряется, и один крупный игрок может контролировать всю сеть.
Однако у PoW есть и свои преимущества. PoW-майнеры расходуют много электричества, ресурса, который является внешним с точки зрения сети. PoS-майнеры используют внутренний ресурс – балансы своих аккаунтов. Это помогает им тратить гораздо меньше внешних ресурсов на вычисления.
Это корень знаменитой проблемы Nothing-at-Stake (пустой стэк), которая делает PoS системы по своей природе нестабильными в глазах многих криптовалютных энтузиастов. Атакующий может попытаться сделать форк блокчейна, т. е. создать более длинную альтернативную цепочку посредством расходования «несуществующих» ресурсов. Более того, его могут поддержать другие майнеры, поскольку также не расходуют «подлинные» ресурсы. Посредством форка атакующий может отклонять определенные транзакции и осуществлять атаки «двойного расхода» (платить мерчантам, получать товары, делать форк блокчейна и замещать платеж продавцу платежом на собственный аккаунт в альтернативном блокчейне).
Проблема Nothing-at-Stake проявляет себя во всех векторах атак на PoS системы. Условно, атака может делиться две категории: ближние и дальние. В случае с ближними атаками происходит замена большинства последних блоков, при дальней атаке атакующий идет глубже, пытаясь заменить всю историю сети. Дойти он может вплоть до генезис-блока.
Ближние атаки
Давайте для начала рассмотрим ближние атаки. Атакующий пытается сделать форк большинства последних блоков, начиная с блока, который им предшествует. Цель этих действий — построить цепочку блоков, которая будет длиннее существующей на данный момент. Другие майнинг-узлы, видя активность атакующего, могут иметь стимулы помочь ему, поскольку им это ничего не будет стоить: стоимость вычислений минимальна, а майнинг в двух разных блокчейнах увеличивает их шансы оказаться в правильном блокчейне.
Стоит отметить, что на практике все не так просто, как выглядит в теории, поскольку большая часть сети будет продолжать майнить в основной цепочке и нуждается в хорошей координации и согласованности действий со стороны атакующих. Теоретически, однако, такая атака вполне возможна.
Классическая стратегия предотвращения ближних атак состоит в исключении вредоносных узлов. Преимущество PoS-системы перед PoW-системой – в её большей детерминированности. Как правило, шанс узла сгенерировать следующий блок в PoS-системе зависит от адреса узла, его баланса, текущей сложности и временной метки. Пространство поиска ограничено количеством секунд между смежными блоками (поскольку это единственный параметр, который изменяется). Таким образом, становится возможным предугадать следующий узел майнинга (или, как это принято называть в PoS – форжинга) и наложить на него санкции посредством отклонения его версии блокчейна. Именно так разработана NXT, одна из первых криптовалют второго поколения.
Другой подход заключается в том, чтобы обязать майнеров делать взнос в виде определенного количества сетевых токенов до начала работы. Когда узел видит, что майнер подписал своим общедоступным ключом два соревнующихся блока на двух соревнующихся блокчейнах, он сообщает об этом, и залог у майнера конфискуется. Именно такой подход будет использован в протоколе Ethereum, и пока что он не реализован ни в одной из криптовалют.
В большинстве существующих криптовалют по-прежнему используются централизованные контрольные точки, и разработчикам периодически приходится подтверждать правильную версию блокчейна. Это выглядит не совсем правильно с точки зрения децентрализованной природы криптовалют, но не будем забывать о вопросах, которые возникают у биткоина к централизованным пулам. Gigahash, крупнейший майнинг-пул биткоина, добровольно согласился контролировать не более 50% сети, хотя способен и на большее.
Дальние атаки
Теперь давайте посмотрим на дальние атаки. Именно здесь дело для PoS принимает серьезный оборот, по крайне мере, в теории. Погружаясь в глубину блокчейна, атакующий пытается заменить всю историю транзакций. Поскольку вычислительные усилия для PoS-систем намного скромнее, в теории он может начать со старого блока и расположить транзакции таким образом, что будет в состоянии создать более длинный, чем существующий, блокчейн. Он даже может попытаться купить персональные ключи от старых аккаунтов, на которых какое-то время назад имелся баланс, и использовать их для подделки форка.
Помешать этому можно, ограничив глубину, начиная с которой сетевые узлы могу принимать новый форк. К примеру, в случае с NXT, если форк стартовал более 720 блоков назад, сетевые узлы его не примут. Однако, чтобы отклонить форк, узел должен иметь копию нынешнего блокчейна, чем не располагает новый, только что присоединившийся форк.
Сейчас нет «теоретического» способа помешать атакующему «скормить» свой форк новому узлу. Атакующий может успешно навязать новым узлам свой субъективный взгляд на историю сети. Поэтому определенная централизация на данный момент представляется неизбежной, поскольку доверяемые узлы должны предоставить текущий блокчейн новому участнику. Это называется «слабой субъективностью» и представляется практически неизбежной мерой для существующий теорий PoS.
На что нам хотелось бы обратить внимание, это определенное сходство между система PoS- и PoW-системами в вопросах обеспечения безопасности. Оба подхода полагаются на добрую волю и порядочность разработчиков.
Многие POS-системы были форкнуты разработчиками, чтобы “отмотать” историю назад после успешных атак на блокчейн или даже просто обмен большого количества криптовалюты, происхождение которой вызывало вопросы.
Споры между сторонниками обеих системы длятся уже много лет, но природа этих споров больше теоретическая. Практика показывает, что роль разработчика в вопросах обеспечения безопасности по-прежнему очень высока.
Лично я считаю, что самым безопасным решением для будущих криптовалют будет своего рода смесь PoS- и PoW-систем. Более того, это уже является самым распространенным подходом. У многих криптовалют существует этап PoW, когда валюта выпускается через выплату майнерам новыми монетами, и этап PoS, наступающий после того, как вся валюта была выпущена.
Вероятно, большинство серьезных криптовалют не станут отказываться от PoW – менталитет Nothing-at-Stake крепко сидит в головах экспертов по криптовалютам. Однако PoS-системы всегда будут более легкими для имплементации и такими же надежными с точки зрения безопасности, как и PoW-системы.
Саша Иванов специально для ForkLog
Нашли ошибку в тексте? Выделите ее и нажмите CTRL+ENTER
Подписаться на новости Forklog
Proof of Stake – что это такое простыми словами. В чем сыр бор
Proof-of-Work и Proof-of-Stake – это алгоритмы консенсуса, которые используются для проверки новых блоков сети, а также добавления транзакций в них. Соответственно, принцип работы этих систем непосредственно касается майнеров, которые в режиме 24/7 расшифровывают блоки. В чем же заключается разница между двумя алгоритмами и какой из них является более выгодным с точки зрения майнинга? Рассмотрим их принципы работы, а также составим сравнительную характеристику.
Proof-of-Work: принцип работыПруф-оф-ворк (Proof-of-Work), или PoW, как его называют сокращенно, с английского переводится как «доказательство работы». Собственно в названии самого алгоритма и заложен принцип его работы. Он дает возможность сети проверить, что майнер фактически выполнил всю работу по вычислению функции SHA-256 или Scrypt, заложенные в основу криптовалют.
Суть PoW состоит в следующем:
- Майнер должен решить сложную задачу, которая под силу только достаточно мощным вычислительным машинам.
- Результат, полученный в ходе решения, должен легко проверяться.
Если говорить об алгоритме пруф-оф-ворк, конкретно в контексте криптовалют, то он позволяет нодам (узнать, что такое ноды и как они работают можно в ), проверять работу майнеров, а также достоверность их вычислений.
Такой механизм стимулирует сообщество майнеров постоянно модернизировать свое добывающее оборудование, ведь сложность сети постоянно возрастает, таким образом, общая вычислительная мощность в сети биткоинов уже в 2012 году превысила показатели самого современного суперкомпьютера.
Стоит отметить, что необходимость модернизации с точки зрения майнеров является не столько преимуществом, сколько недостатком. Ведь постоянное обновление оборудования требует больших финансовых затрат, что выбивает некоторых игроков из рынка.
Proof-of-Stake: принцип работыДо 2012 года PoW являлся единственным алгоритмом, задействованным в криптовалютах, но на горизонте появился конкурент. Им стал алгоритм Пруф-оф-стейк (Proof-of-Stake), или PoS, что в переводе с английского означает «проверка доли». По структуре своей работы он принципиально отличается от «доказательства доли». Если в первом алгоритме для повышения приоритета в сети использовались вычислительные мощности, то в случае с PoS – главную роль играет количество монет в кошельке.
То есть для того, чтобы повысить свои шансы первым расшифровать блок, вам необходимо держать в своем кошельке максимально большое количество монет той криптовалюты, которую вы майните. С одной стороны такой подход весьма выгоден для майнеров, ведь больше не потребуется обновлять свое оборудование, тратить большое количество электроэнергии, а атака на сеть становится практически невозможной. Но есть и свои недостатки. Например, если одному из пользователей или объединенной группе удастся сосредоточить в своих руках большую долю всех монет, то он сможет управлять сетью.
Proof-of-Work и Proof-of-Stake: на чьей стороне сообщество?Алгоритмы Proof-of-Work и Proof-of-Stake (или Пруф-оф-ворк и Пруф-оф-стейк) уже давно стали почвой для серьезных споров между майнерами. Одни утверждают, что доказательство работы более справедливо, другие, что доказательство доли. Какого-либо однозначного ответа дать нельзя.
Кроме того, сегодня довольно часто используется гибридный вариант, объединяющий оба алгоритма. Когда осуществляется эмиссия монеты, сеть работает на Proof-of-Work, а когда эмиссия закончена – на Proof-of-Stake. Это вполне логично. Ведь активное участие на этапе проверки работы позволяет накопить достаточное количество монет для того, чтобы «органично» вклиниться в новый этап проверки долей.
Несмотря на новизну и ярые обсуждения системы PoS, большинство крупных криптовалют не готовы отказаться от алгоритма Proof-of-Work. Возможно, в будущем это и произойдет, но сейчас этого не наблюдается. Proof-of-Work и Proof-of-Stake остаются конкурентами.
Узнайте о том, что собой представляет протокол Proof-of-Work, когда он появился, в чем заключаются его плюсы, минусы и как он связан с криптовалютной сферой.
Proof-of-Work — это метод защиты цепочки блоков цифровой валюты от разного рода атак. Дословно термин переводится, как «подтверждение работой». Алгоритм гарантирует проверку выполнения определенной последовательности действий конкретным узлом системы (то есть майнером). Данные, которые устанавливает протокол, являются информацией в найденном блоке, где отображены ссылка на предыдущий узел в цепочке и число сохраненных в блоке операций. Шанс того, что система изберет вас узлом, отвечающим за подтверждение транзакции, тем выше, чем мощнее ваше «железо». Поэтому главным критерием успешного майнинга электронных денег, базирующихся на этом алгоритме, выступает производительность оборудования. Данный фактор поспособствовал объединению пользователей в специальные группы, которые получили название «пулы».
Proof-of-Work представляет собой защитный алгоритм против атак злоумышленников, используемый в распределенных системах. Основная суть заключается в следующем:
- применение в сложных и длительных процессах;
- простота и оперативность проверки результата.
Для решения задач алгоритма PoW используют высокопроизводительную вычислительную технику. Процесс обработки данных, как правило, длится определенное количество времени. Сам процесс вычислений является более требовательным к ресурсам железа в сравнении с проверкой полученных данных.
В середине 90-х годов прошлого столетия вышла статья под названием «Pricing via Processing or Combatting Junk Mail», в которой авторы впервые выдвинули концепцию Proof-of-Work (подтверждение работой). Смысл идеи состоял в том, что каждый человек, желающий получить доступ к какому-либо сервису, обязан произвести ряд операций весьма сложной и требовательной к ресурсам вычислительной системы функции. При этом процесс должен длиться определенный период времени, который можно назвать приемлемым для ожидания. Вычислительный процесс на клиентской части должен быть более ресурсоемким, чем процесс проверки полученных результатов, запускаемый на серверной стороне.
Предложенная функция должна быть неамортизируемой, поскольку в противном случае длительность процедуры вычисления значительно увеличится. Авторы статьи предположили, что дополнительные математические операции, проводимые на пользовательском компьютере, не являлись бы препятствием для нормальной отправки электронных писем, но стали бы серьезной преградой для спамной рассылки. Подобная система фактически установила бы количественное ограничение на отправку писем за определенный промежуток времени.
Несколько позже был реализован проект Hashcash, воплотивший функцию, суть которой описана в указанной выше статье. Определение «доказательство работы» впервые предложили авторы научного исследования «Proofs of Work and Bread Pudding Protocols», которое было опубликовано в конце девяностых годов.
Спустя 5 лет Хэл Финни предложил усложненный алгоритм, который звучит как «многоразовое подтверждение осуществленной работы» (RPoW), который должен был использоваться в электронных платежных системах. Через пару лет Сатоши Накамото создал первую виртуальную валюту, которая использовала алгоритм PoW. Он решает проблему двойного расходования токенов.
Основной минус Proof-of-Work, из-за которого и развернулась вся деятельность, касающаяся внедрения альтернативных методов защиты, связан с огромным энергопотреблением в ходе функционирования сети. Суммарные траты платформы иногда могут превосходить расходы какого-нибудь небольшого завода. Впрочем, будет сказано в защиту данного алгоритма, он вполне справляется с обеспечением безопасности площадки и нивелирования действий всякого рода злоумышленников. Именно от этого будет зависеть дальнейшее развитие и продвижение ресурса. Ведь кто станет инвестировать в проект, который не может защитить собственную сеть от хакеров.
В самой первой виртуальной денежной единице PoW необходим для достижения консенсуса в сети. Поскольку в любой момент времени для каждого пользователя может существовать сразу несколько версий блокчейна, алгоритм определяет, какая из них является достоверной. Для реализации своей идеи Накамото воспользовался наработками упомянутого выше проекта Hashcash, несколько модифицировав готовую функцию (добавил механизм изменения ее сложности, который зависит от общей вычислительной мощности всех узлов сети). Готовая функция получила название .
Алгоритм PoW необходим для проверки узлами сети факта проведения вычислений майнером. Последний производит расчеты сложных алгоритмов, в результате которых к цепочке блоков добавляется новый сгенерированный блок («ячейка»), хранящий определенное количество записей о проведенных транзакциях. Механизм «доказательство работы» производит попытку поиска хеша заголовка узла, в котором имеется ссылка на прошлую «ячейку» и суммарное значение всех операций, помещенных в только сгенерированный узел. Показатели хеша соответствует установленной степени.
Сложность описываемых операций на самом деле достаточно высока, а сам вычислительный процесс может производиться при участии пользователей. Процедура проверки результатов, напротив, является весьма простой и нетребовательной к ресурсам системы. Любой узел может получить доказательство генерации майнером нового блока. Однако ввиду сложности вычислительных процессов, производимых майнерами, весьма трудно определить, который из них справится быстрее остальных.
Для проверки достоверности нового блока производится сравнение значения его хеша с текущей целью. Если оно оказалось меньшим – блок валидный. Так наглядно демонстрируется факт проведения определенной работы для генерации блока.
Структура блокчейна такова, что каждый созданный узел, добавляемый в цепочку, хранит информацию о предыдущем. Модификация «ячеек» невозможна. Можно лишь «присоединить» новую на том же уровне, которая станет хранить хеш прошлого блока. Для этого потребуется выполнение работы по генерации всех предыдущих узлов. Подобная задача является достаточно нетривиальной и ресурсоемкой. Этим обеспечивается надежная защита сети от вмешательства третьих сторон и двойной траты токенов.
На данный момент по-прежнему ведутся споры в отношении целесообразности использования PoW. Эксперты установили следующие виды уязвимостей алгоритма:
- 51 % – уязвимость, характерная для Биткоина и прочих виртуальных валют на ранних этапах их развития. Ее суть заключается в том, что при попадании большей частей мощностей сети в руки злоумышленника, последний получает полный контроль над генерацией новых блоков и выполнением транзакций. Также ему предоставляется возможность внесения любых изменений в распределенную базу данных, вплоть до полной перезаписи и создания собственной ветви, которая будет признана валидной. В итоге все средства пользователей исчезнут с их электронных кошельков.
- Двойная трата одних и тех же монет. В этом случае одни и те же активы могут быть использованы несколько раз. Существует несколько разновидностей данного типа атак.
- Контроль над майнерами. Атака возможна со стороны злоумышленников, обладающих оборудованием с вычислительной мощностью менее 50% от общей производительности сети. Это достижимо благодаря использованию методов агрессивной рекламы для привлечения майнеров в пул. Задача злоумышленника – свести к нулю эффективность вычислительных процессов конкурентов (отдельных майнеров и пулов).
Кроме очевидных проблем с защитой данных, существуют следующие недостатки рассматриваемого алгоритма:
- Вычислительная мощность используемого майнером оборудования и вероятность генерации нового блока имеют прямопропорциональную взаимосвязь. Поэтому каждый майнер стремится увеличить производительность используемых систем. Результатом таких действий является сильный перерасход энергоресурсов.
- Результаты производимых расчетов имеют значение только внутри сети, иного применения они не имеют. Фактически, сеть обладает огромным вычислительным потенциалом, который не используется для решения полезных (например, производственных) задач.
Поскольку недостатки и проблемы алгоритма были всегда очевидными, постоянно велись работы над их устранением. В результате были предложены новые алгоритмы.
Использование PoW для функционирования Биткоина стало причиной возникновения целой майнинговой индустрии. Были созданы устройства, направленные на решение узкоспециализированных задач по хешированию блоков, с которыми уже с трудом справляются даже мощнейшие в мире суперкомпьютеры.
Майнинг привел к сильнейшей конкуренции в данной сфере. Многие крупные игроки в погоне за прибылью стали наращивать свои вычислительные мощности, что привело к значительному увеличению потребления электроэнергии. В уже далеком 2012 году общая сеть Биткоин превзошла по мощности самый производительный компьютер. Примерно в тот же момент была предложена одна из первых альтернатив используемому на тот момент алгоритму PoW — .
Что изменится в технологиях майнинга, если сообщество Ethereum решит сменить одно на другое?
Что такое Proof-of-Work?
Это про-то-кол, глав-ная цель ко-то-ро-го — за-щи-та от ки-бе-р-атак, таких как DDoS-ата-ка, при ко-то-рой зло-умыш-лен-ни-ки пе-ре-гру-жа-ют вы-чис-ли-тель-ные ре-сур-сы си-сте-мы, по-сы-лая мно-го-чис-лен-ные лож-ные за-про-сы.
Кон-цеп-ция су-ще-ство-ва-ла за-дол-го до бит-ко-и-на (Bitcoin), но когда Са-то-си На-ка-мо-то при-ме-нил (или при-ме-ни-ла — мы до сих пор ни-че-го не знаем о лич-но-сти со-зда-те-ля крип-то-ва-лю-ты) эту тех-ни-ку к сво-е-му изоб-ре-те-нию, это по-ло-жи-ло на-ча-ло ре-во-лю-ции в об-ла-сти циф-ро-вых тран-зак-ций.
Стро-го го-во-ря, идея PoW была пред-ло-же-на Син-ти-ей Дворк и Мони Наор еще в 1993 году, но сам тер-мин по-явил-ся го-раз-до позже, в 1999-м, в ста-тье Мар-ку-са Джей-коб-со-на и Ари Джу-эл-са.
Но вер-нем-ся в на-сто-я-щее. Не будет пре-уве-ли-че-ни-ем ска-зать, что Proof-of-Work — глав-ная идея, ле-жа-щая в ос-но-ве бит-ко-и-на: имен-но она слу-жит базой для рас-пре-де-лен-но-го ре-ест-ра.
Что такое распределенный реестр?
Это си-сте-ма, с по-мо-щью ко-то-рой вы мо-же-те со-вер-шать де-неж-ные пе-ре-во-ды на-пря-мую, не при-бе-гая к услу-гам по-сред-ни-ков.
При тра-ди-ци-он-ных ме-то-дах про-ве-де-ния фи-нан-со-вых опе-ра-ций вы фак-ти-че-ски до-ве-ря-е-те свои сред-ства тре-тьей сто-роне (на-при-мер, Visa, Mastercard, PayPal или банку), ко-то-рая и осу-ществ-ля-ет тран-зак-цию. Тре-тья сто-ро-на ведет соб-ствен-ный за-кры-тый ре-естр тран-зак-ций, вклю-ча-ю-щий за-пи-си об ис-то-рии сде-лок и дан-ные о ба-лан-се каж-до-го ак-ка-ун-та.
Од-на-ко в слу-чае бит-ко-и-на и неко-то-рых дру-гих крип-то-ва-лют копия та-ко-го ре-ест-ра фак-ти-че-ски есть у каж-до-го участ-ни-ка си-сте-мы — имен-но такой рас-пре-де-лен-ный ре-естр и на-зы-ва-ет-ся -чей-ном. Каж-дая сто-ро-на в тран-зак-ции может про-ве-рить всю ин-фор-ма-цию са-мо-сто-я-тель-но, по-это-му необ-хо-ди-мость в по-сред-ни-ках от-па-да-ет.
Proof-of-Work и
На более глу-бо-ком уровне Proof-of-Work пред-став-ля-ет собой набор тре-бо-ва-ний к слож-ным ком-пью-тер-ным вы-чис-ле-ни-ям, ко-то-рые необ-хо-ди-мо про-ве-сти, чтобы со-здать новую груп-пу за-ве-рен-ных тран-зак-ций (блок) и до-ба-вить ее к рас-пре-де-лен-но-му ре-ест-ру (блок-чей-ну). Этот про-цесс на-зы-ва-ет-ся май-нин-гом. Май-нинг пре-сле-ду-ет две глав-ные цели:
- Верификация сделки, которая позволяет избежать так называемого двойного расходования;
- Создание новых единиц криптовалюты (фактически, майнеры получают их в награду за выполнение предыдущей задачи).
При тран-зак-ции с крип-то-ва-лю-той про-ис-хо-дит сле-ду-ю-щее:
- Транзакции случайным образом группируются в блоки;
- Майнеры подтверждают легитимность транзакций в каждом блоке;
- Для этого им приходится решить сложную математическую задачу, известную как proof-of-work problem;
- Первый майнер, решивший задачу, связанную с конкретным блоком, получает вознаграждение в виде криптовалюты;
- Заверенные транзакции добавляются к блокчейну, который доступен каждому участнику системы.
Клю-че-вая осо-бен-ность этой ма-те-ма-ти-че-ской за-да-чи — асим-мет-рия: она долж-на быть уме-рен-но слож-ной для май-не-ра, но до-ста-точ-но про-стой для сети в целом. Это до-сти-га-ет-ся с по-мо-щью крип-то-гра-фии. Каж-дый май-нер в сети пы-та-ет-ся найти ре-ше-ние за-да-чи пер-вым; при этом найти его фак-ти-че-ски можно лишь ме-то-дом пря-мо-го пе-ре-бо-ра, по-это-му для успеш-но-го ре-ше-ния тре-бу-ет-ся мно-же-ство по-пы-ток.
Когда кто-то из май-не-ров на-хо-дит ре-ше-ние, си-сте-ма опо-ве-ща-ет об этом всех участ-ни-ков сети, од-но-вре-мен-но на-чис-ляя май-не-ру воз-на-граж-де-ние со-глас-но су-ще-ству-ю-ще-му про-то-ко-лу.
Слож-ность май-нин-га поз-во-ля-ет под-дер-жи-вать его со-рев-но-ва-тель-ную при-ро-ду: чем выше рас-пре-де-лен-ная вы-чис-ли-тель-ная мощ-ность сети, тем выше ста-но-вит-ся этот па-ра-метр, — иными сло-ва-ми, воз-рас-та-ет число вы-чис-ле-ний, ко-то-рые нужно про-ве-сти, чтобы со-здать новый блок.
Метод также по-вы-ша-ет сто-и-мость со-зда-ния блока, по-буж-дая май-не-ров на-ра-щи-вать эф-фек-тив-ность своих си-стем, чтобы со-хра-нить по-ло-жи-тель-ный эко-но-ми-че-ский ба-ланс.
По-вы-ше-ние по-ро-га долж-но про-ис-хо-дить в сред-нем каж-дые 14 дней, а новый блок фор-ми-ру-ет-ся каж-дые 10 минут. Proof-of-Work ис-поль-зу-ет-ся не толь-ко в си-сте-ме бит-ко-и-на, но и в Ethereum и мно-гих дру-гих си-сте-мах, ос-но-ван-ных на блок-чейне.
В каж-дом слу-чае кон-крет-ные осо-бен-но-сти си-сте-мы Proof-of-Work могут немно-го от-ли-чать-ся, по-сколь-ку со-зда-ют-ся ин-ди-ви-ду-аль-но для каж-до-го блок-чей-на.
Раз-ра-бот-чи-ки Ethereum хотят из-ме-нить си-сте-му це-ли-ком, пе-рей-дя к новой си-сте-ме под на-зва-ни-ем Proof-of-Stake.
Что такое Proof-of-Stake?
Proof-of-Stake — дру-гой спо-соб ве-ри-фи-ци-ро-вать тран-зак-ции и обес-пе-чи-вать distributed consensus.
Это ал-го-ритм, ко-то-рый слу-жит ровно тем же целям, что и Proof-of-Work, но спо-соб до-сти-же-ния этих целей со-вер-шен-но от-ли-ча-ет-ся.
Идея Proof-of-Stake была впер-вые пред-ло-же-на на фо-ру-ме bitcointalk еще в 2011 году; год спу-стя по-яви-лись пер-вые крип-то-ва-лю-ты, ис-поль-зу-ю-щие этот метод, — Peercoin, ShadowCash, Nxt, BlackCoin, NuShares/NuBits, Qora и Nav Coin.
В от-ли-чие от Proof-of-Work, где ал-го-ритм воз-на-граж-да-ет май-не-ров, ко-то-рые про-во-дят вы-чис-ле-ния для ва-ли-да-ции тран-зак-ций и со-зда-ния новых бло-ков, в Proof-of-Stake со-зда-тель но-во-го блока вы-би-ра-ет-ся си-сте-мой за-ра-нее на ос-но-ва-нии его со-сто-я-ния, то есть доли в общем ко-ли-че-стве крип-то-ва-лю-ты.
Никакого вознаграждения за блок
Кроме того, это озна-ча-ет, что весь объем крип-то-ва-лю-ты в си-сте-ме со-здан из-на-чаль-но и ни-ко-гда не ме-ня-ет-ся. По-это-му в си-сте-ме PoS воз-на-граж-де-ние за блок от-сут-ству-ет в прин-ци-пе. Доход май-не-ров со-став-ля-ют ис-клю-чи-тель-но ко-мис-сии с тран-зак-ций. По-это-му для май-нин-га в си-сте-ме PoS су-ще-ству-ет от-дель-ный тер-мин: фор-джинг.
Почему Ethereum хочет перейти на PoS?
Со-об-ще-ство Ethereum и со-зда-тель крип-то-ва-лю-ты Ви-та-лик Бу-те-рин пла-ни-ру-ют про-ве-сти хард- , чтобы пе-рей-ти с си-сте-мы Proof-of-Work на Proof-of-Stake.
Но по-че-му? Рас-пре-де-лен-ный ре-естр, ос-но-ван-ный на Proof-of-Work тре-бу-ет от май-не-ров боль-ших за-трат энер-гии. Одна тран-зак-ция с бит-ко-и-ном тре-бу-ет столь-ко же элек-тро-энер-гии, сколь-ко пол-то-ры семьи по-треб-ля-ют за целый день.
А за элек-три-че-ство май-не-рам при-хо-дит-ся пла-тить обыч-ны-ми, фи-ат-ны-ми день-га-ми, и это по-сто-ян-но сдер-жи-ва-ет рост цен-но-сти крип-то-ва-лю-ты. Недав-нее ис-сле-до-ва-ние по-ка-за-ло, что к 2020 году тран-зак-ции в сети бит-ко-и-на будут по-треб-лять столь-ко же элек-три-че-ства, сколь-ко все на-се-ле-ние Дании.
Это силь-но бес-по-ко-ит раз-ра-бот-чи-ков крип-то-ва-лют, и со-об-ще-ство Ethereum хочет ис-поль-зо-вать Proof-of-Stake как более эко-ло-гич-ную и де-ше-вую форму под-дер-жа-ния рас-пре-де-лен-но-го ре-ест-ра.
Кроме того, из-ме-нит-ся ме-ха-низм воз-на-граж-де-ния: в си-сте-ме Proof-of-Work у май-не-ра может во-об-ще не быть крип-то-ва-лю-ты, для ко-то-рой он про-во-дит вы-чис-ле-ния. В слу-чае Proof-of-Stake, фор-дже-ры все-гда вла-де-ют ка-кой-то ча-стью крип-то-ва-лю-ты.
Как стать форджером?
Если новый про-то-кол Proof-of-Stake под на-зва-ни-ем Casper будет при-ме-нен, в си-сте-ме по-явит-ся некий пул ва-ли-да-то-ров. Поль-зо-ва-те-ли смо-гут при-со-еди-нять-ся к пулу, чтобы по-лу-чить воз-мож-ность войти в число фор-дже-ров.
Сам Бу-те-рин утвер-жда-ет:
«У си-сте-мы не будет ка-ких-то пред-по-чте-ний по по-во-ду того, кто смо-жет войти в пул ва-ли-да-то-ров. Кто угод-но смо-жет при-со-еди-нить-ся на каком угод-но этапе, неза-ви-си-мо от ко-ли-че-ства дру-гих участ-ни-ков».
Воз-на-граж-де-ние для ва-ли-да-то-ров со-ста-вит «от 2% до 15% от суммы тран-зак-ции», го-во-рит Бу-те-рин, — впро-чем, по этому пунк-ту у него пока нет уве-рен-но-сти.
Кроме того, Бу-те-рин за-явил, что, хотя число ва-ли-да-то-ров (фор-дже-ров) не будет огра-ни-чи-вать-ся про-грамм-но, его можно будет ре-гу-ли-ро-вать эко-но-ми-че-ски, со-кра-щая раз-мер ко-мис-сии, если же-ла-ю-щих ста-нет слиш-ком много, или уве-ли-чи-вая, если их будет не хва-тать.
Более надежная система?
Любая ком-пью-тер-ная си-сте-ма нуж-да-ет-ся за-щи-те от ха-кер-ских атак, осо-бен-но если она как-то свя-за-на с день-га-ми. По-это-му глав-ный во-прос сво-дит-ся к сле-ду-ю-ще-му: будет ли Proof-of-Stake без-опас-нее, чем Proof-of-Work?
Он бес-по-ко-ит не толь-ко экс-пер-тов — скеп-ти-ки на-хо-дят-ся и в самом со-об-ще-стве. В слу-чае Proof-of-Work зло-умыш-лен-ни-кам труд-но по-лу-чить до-ступ к си-сте-ме из-за вы-со-ко-го тех-но-ло-ги-че-ско-го и эко-но-ми-че-ско-го по-ро-га вхож-де-ния.
Атаки в си-сте-ме PoW об-хо-дят-ся очень до-ро-го — чаще всего для этого вам по-на-до-бит-ся боль-ше денег, чем вы в итоге смо-же-те украсть.
Си-сте-ме PoS, на-про-тив, по-на-до-бят-ся до-пол-ни-тель-ные сред-ства за-щи-ты — без этого ата-ко-вать ее будет го-раз-до проще.
Чтобы раз-ре-шить этот во-прос, Бу-те-рин со-здал про-то-кол Casper, —ал-го-ритм, спо-соб-ный опре-де-лять об-сто-я-тель-ства, при ко-то-рых небла-го-на-деж-ный ва-ли-да-тор может по-те-рять свой де-по-зит. Он по-яс-ня-ет: «Casper тре-бу-ет, чтобы ва-ли-да-то-ры вно-си-ли вклад для уча-стия. Участ-ник те-ря-ет де-по-зит, если про-то-кол опре-де-ля-ет, что он на-ру-шил неко-то-рый набор пра-вил».
Вывод
Бла-го-да-ря PoS ва-ли-да-то-рам не нужно ис-поль-зо-вать свою вы-чис-ли-тель-ную мощ-ность, — един-ствен-ны-ми фак-то-ра-ми, вли-я-ю-щи-ми на успех, яв-ля-ет-ся общее ко-ли-че-ство их соб-ствен-ных монет и те-ку-щая слож-ность си-сте-мы.
Таким об-ра-зом, пе-ре-ход от PoW к PoS может обес-пе-чить сле-ду-ю-щие пре-иму-ще-ства:
- Экономия энергии;
- Более безопасная сеть, поскольку атаки станут более дорогими: если хакер захочет купить 51% от общего количества монет, рынок отреагирует быстрым повышением цен.
Узлы сети, (или ва-ли-да-то-ры), долж-ны за-пла-тить залог, чтобы стать ча-стью рас-пре-де-лен-но-го ре-ест-ра. Casper опре-де-лит кон-крет-ную сумму воз-на-граж-де-ний, при-чи-та-ю-щих-ся ва-ли-да-то-рам, ис-хо-дя из вне-сен-ных ими сумм.
Если некий ва-ли-да-тор со-здаст «недо-пу-сти-мый» блок, его залог будет уда-лен, а сам он ли-шит-ся воз-мож-но-сти уча-стия в си-сте-ме.
Дру-ги-ми сло-ва-ми, си-сте-ма без-опас-но-сти Casper ос-но-ва-на на чем-то вроде ста-вок. В си-сте-ме PoS ва-ли-да-тор как бы де-ла-ет став-ку на тран-зак-цию и по-лу-ча-ет де-неж-ный приз, про-пор-ци-о-наль-ный сво-е-му вкла-ду.
Под-го-то-ви-ла Тая Аря-но-ва
Proof-of-Work – это один из двух самых популярных алгоритмов консенсуса, на котором выстраиваются криптовалютные проекты. В данном обзоре мы расскажем, что такое Proof-of-Work, какие и него особенности и проведем сравнительный анализ с его главным конкурентом – алгоритмом Proof-of-Stake .
Что такое Proof-of-Work – от истоков к сути
Первая идея, которую можно отнести к термину Proof-of-Work, появилась в 1993-ем году в работе Синтии Дворк и Мони Наор, которая носила название «Pricing via Processing, Or, Combatting Junk Mail, Advances in Cryptology». Создатели этой работы выдвинули идею о том, что для получения доступа к общим ресурсам пользователю нужно осуществить определенные сложные вычисления, что позволит защитить данный ресурс от чрезмерного употребления участниками сети. Спустя 4 года был запущен проект Hashcash, который был посвящен системе защиты от спама. Системой было предложено хэширование части инверсии посредством использования ресурсов электронной почты. Чтобы рассчитать конкретный заголовок требовалось 252 вычислений при каждой отправке. При необходимости отправки стандартных писем препятствия не создавались, а вот для рассылки спама пересчет становился очень сложно выполнимой задачей. А для проверки корректности вычисляемого кода не требуется большого количества времени, поскольку применяется специальный тип вычисления SHA-1 при заблаговременно подготовленной метке.
Через два года термин Proof-of-Work (PoW) уже стал официально использоваться, а впервые был официально освещен в статье Якоббсон и Джуэлс на тему протоколов. Через некоторое время принцип работы Proof-of-Work (PoW) был использован для построения сети Bitcoin – протокол позволял достигать консенсуса. Сатоши Накамото, разработчик Биткоина, несколько видоизменил первоначальный вариант Proof-of-Work , добавив к нему механизм изменяющейся сложности, который уменьшал или увеличивал требуемое число нулей относительно общего объема мощностей пользователей биткоин-сети. Полноценную работу системе обеспечила функция SHA-256.
Определение Proof-of-Work понятным языком можно дать следующее: протокол гарантирует проверочную способность узла, или ноды, на предмет выполнения расчетов майнером, которым и является сам узел, вносящий новые блоки в сеть. При этом имеют место попытки поиска хэша заголовка блока, в которую входят предыдущий блок и общее значение операций, входящих в него, что и определяет степень сложности Proof-of-Work (PoW) майнинга.
Отличительные черты Proof-of-Work: как все это работает
Что такое Proof-of-Work (PoW)? Во-первых, это эффективный алгоритм, обеспечивающий эффективную защиту распределенной системы от хакерских атак, мошеннических действий и другого несанкционированного доступа.
То, как работает Proof-of-Work , можно заключить в следующие пункты:
- Обязательное выполнение трудоемких вычислений;
- Быстрая и легкая проверка результатов.
Особенность Proof-of-Work заключается в том, что изначально данная технология была рассчитана на компьютерные мощности, а не на живых пользователей. Метод Proof-of-Work подразумевает использование значительных вычислительных ресурсов, но обеспечивает выполнение поставленной задачи в конечный срок при упрощенной проверке полученного результата с минимальными временными затратами.
Proof-of-Work vs. Proof-of-Stake: сравнение алгоритмов
Proof-of-Work (PoW) , в переводе с английского доказательство работы, способствует в некоторой степени подверженности криптовалют двойному расходованию. При этом Proof-of-Work (PoW) снижает этот показатель по мере увеличения объемов подтвержденных транзакций в рамках сети, что говорит о зависимости от количества вычислительных мощностей, которые находятся в распоряжении хакера. Как гарантии с использованием Proof-of-Work (PoW) криптовалютами, является снижение рисков двойной траты и пользователи ожидают конкретного количества подтверждений операции, а также используют системы защиты по снижению показателей риска для быстрых платежей.
Возможно тяжело сразу понять, что это Proof-of-Work но простыми словами если проводя параллели между его основным конкурентом PoS, нельзя не отметить, что эти алгоритмы могут быть подвержены аналогичным атакам, однако результат этого бывает разный. Главная опасность для них представлена в лице DoS, или отказа в обслуживании, и Sybill attack, или атаки Сибиллы. Первая атака ориентирована на прерывание нормального функционирования системы, что достигается благодаря переполнению узлов сети. К примеру, хакер может наводнить сеть операциями с низкой стоимостью в колоссальном количестве – вспомним флуд-атаку Биткоин-сети 2 года назад. При использовании атаки Сибиллы работа сети подрывается посредством создания грандиозного количества некорректно функционирующих узлов.
Уровень подверженности алгоритма Proof-of-Work и его конкурента данным атакам имеет зависимость не только от разновидности согласования, которое применяется в рамках сети, но и от детализации сетевого протокола. При этом на сегодня нет внутренних характеристик, которые могли бы сделать тот или иной протокол менее восприимчивым к атакам.
Очередной атакой, которая может заставить пользователей поволноваться за свои криптоактивы, является selfish mining , или эгоистичный майнинг. При Proof-of-Work майнинге, при этой атаке происходит выборочная публикация блоков что заставляет пользователей расходовать зря свои вычислительные ресурсы. Разработчиков Proof-of-Work (PoW) это волнует, поскольку в отличие от своего соперника PoS, который не обременен дорогими ресурсами, здесь ситуация обстоит иначе. Однако никто из разработчиков до сих пор не подтвердил эффективности данного вида атаки, а некоторые полагают, что в предположении допущены серьезные погрешности.
Определение Proof-of-Work (PoW) относительно устойчивости к атакам, базируется на общей вычислительной мощности сети. А вот для Proof-of-Stake не существует эквивалента «состоянию здоровья», поскольку при равномерном распределении валюты в сети атака базируется на ее разветвлении, и при наличии у пользователей значительной доли существует риск применения цензуры к транзакциям.
Плюсы и минусы Proof-of-Work (PoW)
Главный недостаток Proof-of-Work , из-за которого и заварилась вся каша на тему разработки альтернативных алгоритмов, представлен колоссальным энергопотреблением в процессе работы. Общие расходы энергоресурсов иногда превышают расходы промышленных предприятий. Однако в защиту этого продукта, который, между прочим, был первым в своем роде и только за это заслуживает внимания, нужно сказать, что алгоритм обеспечивает качественную защиту ресурсов и средств в рамках сети. А ведь именно от качества безопасности зависит возможность пользователя распоряжаться своими средствами без опасений по поводу возможного хищения.
В большинстве криптовалют новые монеты выпускаются в виде вознаграждения тому участнику сети (узлу), который проверил определённое количество транзакций в сети на валидность, собрал эти транзакции в так называемый блок и добавил этот блок в блокчейн — распределённую базу данных. Создание механизма защиты от бесконтрольного создания блоков и выпуска монет, а также других злоупотреблений — необходимый элемент разработки криптовалюты. Наиболее распространённым механизмом является алгоритм Proof-of-Work, требующий доказать, что для создания блока были действительно проведены необходимые вычисления.
Для этого узлу-создателю нужно решить математическую задачу. Задача при этом должна быть сложной, но посильной и решаемой, а проверка результата должна быть максимально простой и быстрой.
История создания алгоритма Proof-of-Work
Идея механизма PoW появилась в литературе ещё в далёком 1993 году. Тогда его предложили использовать для защиты электронной почты от спама. Хотя словосочетание Proof-of-Work ещё не прозвучало — термин появился только в 1999.
Первое практическое воплощение состоялось через четыре года, в 1997 и также было связано с борьбой со спамом. Проект получил название HashCash.
Для создания блокчейна биткоина Сатоши Накамото применил защитный алгоритм HashCash (который уже доказал к тому времени свою работоспособность), а в качестве вычисляемой хэш-функции использовал SHA-256 — наиболее популярную в 2008 году.
Что такое Proof-of-Work?
При использовании PoW для добавления блока в цепочку, узлу необходимо решить сложную математическую задачу.
В случае биткоина и большинства блокчейнов других криптовалют, основаных на его алгоритме, необходимо подобрать хэш заголовка блока. В него включены хэш предыдущего блока и блок транзакций, который начинался бы с определённого количества нулей.
Поскольку для этого используется стойкая необратимая хэш-функция, решить задачу можно только простым перебором. В то же время после нахождения решения его можно очень быстро проверить.
Особенности Proof-of-Work
Одной из важнейших особенностей используемого в криптовалютах алгоритма PoW (по сравнению, скажем, с механизмом защиты от спама) является механизм динамического изменения сложности решаемой задачи. Без него эмиссия того же биткоина очень быстро стала бы неконтролируемой, поскольку с ростом суммарной вычислительной мощности сети скорость выпуска блоков увеличится и, соответственно, скорость выпуска новых монет.
Однако сложность поиска доказательства нового блока в биткоине постоянно изменяется таким образом, чтобы среднее время поиска решения составляло около 10 минут. Достигается это простым изменением числа требуемых нулей в начале искомого хэша.
В связи с тем, что вычислительные мощности сети непрерывно растут, сложность задачи также постоянно повышается. Это приводит к повышению затратности майнинга, в связи с чем начались работы над альтернативными алгоритмами. Наиболее успешным из них стал Proof-of-Stake, в котором доказывать нужно не факт проведения вычислений, а факт владения добываемой криптовалютой.
Плюсы Proof-of-Work
Proof-of-Work предлагает достаточно высокий уровень безопасности блокчейна, стремительно растущий по мере того, как увеличивается число узлов в сети и их суммарная вычислительная мощность.
Связано это с тем, что большая часть атак на блокчейн, использующий PoW, требует, чтобы атакующий контролировал большую часть вычислительных мощностей сети.
Теоретически, у злоумышленника есть возможность подтверждать только свои блоки, игнорируя другие, собирать 100% новых монет и блокировать транзакции. Однако для этого ему нужно контролировать более половины вычислительных мощностей (отсюда название «атака 51%»). Это, по большому счету, лишает атаку экономического смысла.
Другие атаки, предназначенные, например, для обеспечения двойного расходования средств с помощью форков, не требуют обязательного контроля над большей частью мощностей, однако, все ещё «прожорливы» — злоумышленнику нужно поддерживать разветвление в течение длительного времени.
Минусы PoW
Основная проблема Proof-of-Work — это постоянно растущая сложность вычислений. Возникающие из-за этого требования к оборудованию и огромная энергозатратность делают поиск новых блоков крайне дорогостоящим и энергонеэффективным процессом.
Проекты, пытающиеся найти полезное применение этим «уходящим в пустоту» ресурсам, появляются регулярно (чего стоит только проект биткоин-фермы, отапливающей дом) но особого успеха пока не снискали.
Проблема «прожорливости» PoW усугубляется риском потратить ресурсы «в никуда». Предсказать, какой именно узел найдёт новый блок, невозможно, а вознаграждение получит только «победитель». Все прочие узлы жгли электричество напрасно.
Высокие требования к оборудованию также привели к тому, что доминирующие позиции в майнинге заняли пулы и компании с крупными датацентрами. А «домашние майнеры» из процесса добычи биткоина фактически выбыли уже несколько лет назад.
Сосредоточение вычислительных ресурсов под контролем немногочисленных компаний противоречит самой идее децентрализации, заложенной в криптовалюты. Работы над «ASIC-защищёнными» PoW-алгоритмами ведутся, однако, говорить об их полной успешности пока рано. В основном они лишь делают использование спецоборудования более затратным.
Использование Proof-of-Work в криптовалютах
Proof-of-Work используется в абсолютном большинстве криптовалют, представленных сегодня на рынке. Исключение составляют те валюты, в которых выпуск новых токенов либо не предусмотрен (все монеты находились в сети с самого начала работы), либо осуществляется централизовано (как в Ripple).
Даже те валюты, разработчики которых заявили о намерении использовать альтернативные алгоритмы для защиты проведения транзакций, для первоначального распределения токенов используют PoW.
Майнинг криптовалют, использующих Proof-of-Work
На сегодняшний день все «майнящиеся» цифровые валюты используют именно алгоритм PoW. Однако майнинг крупнейших криптовалют для одиночек, использующих неспециализированное оборудование и не входящих в крупные пулы, практически недоступен. Их нишей стали немногочисленные ASIC-защищённые крипты или монеты «со дна», которые никому из крупных игроков не нужны.
Популярные криптовалюты на алгоритме Proof-of-Work
Само собой, главная PoW-крипта в мире — это Bitcoin. С него началась история криптовалют и пока что не видно монеты, которая смогла бы сместить биткоин с вершины и отобрать у него звание «цифрового золота».
Большая часть нашего материала и посвящена работе алгоритма PoW в том виде, в котором он реализован в биткоине. Связано это с тем, что в большинстве валют используется тот же самый алгоритм. Причём не только в тех, которые являются форком битка: большинство разработчиков вполне естественно предпочитает «не изобретать велосипед» и использовать проверенное и работающее решение.
Вторая криптовалюта по капитализации — Ethereum, на данный момент также использует для защиты сети алгоритм PoW, называемый Ethash. В дальнейшем разработчики планируют перейти сперва на гибридную схему PoW+PoS, а затем и полностью отказаться от алгоритма Proof-of-Work.
Подобный подход вызван тем, что создатель Ethereum Виталик Бутерин изначально намеревался использовать концепцию Proof-of-Stake, однако, нерешённые проблемы этого алгоритма вынудили его обратиться к более проверенным вариантам. Сейчас же разработчики надеются, что создаваемый ими протокол PoS под названием Casper решит проблемы доказательства доли и защиты блокчейна от форков, что позволит отказаться от PoW.
Monero представляет собой редкий пример успешной валюты, использующей ASIC-защищённый PoW-алгоритм. Протокол, названный CryptoNight, использует встроенные инструкции CPU, исполнение которых на устройствах с низкой частотой и быстрой памятью или специализированном оборудовании очень затратно. Успешность Monero, впрочем, обеспечивается не нововведениями в алгоритме консенсуса, а уникально высокой анонимностью — в отличие от того же биткоина, транзакции в блокчейне Monero не отслеживаемы в принципе.
Какое будущее ждёт алгоритм Proof-of-Work?
Proof-of-Work остаётся наиболее надёжным (во многом в силу того, что он — наиболее старый и испытанный из всех) алгоритмом консенсуса. В связи с этим даже те разработчики криптовалют, которые заявляют о своей приверженности альтернативным алгоритмам, вынуждены использовать PoW как минимум для распределения токенов.
И, хотя недостатки Proof-of-Work приводят к постепенному переходу от «чистых» PoW-алгоритмов к гибридным, отказа от использования этой концепции в ближайшее время не произойдёт. И тем более этого не случится, пока будет работать блокчейн биткоина.
Разъяснение Proof of Burn | Binance Academy
В то время как большинство блокчейн систем используют алгоритмы консенсуса Proof of Work (PoW) или Proof of Stake (PoS), Proof of Burn (PoB) тестируется как их возможная альтернатива.
Проще говоря, алгоритмы консенсуса в блокчейне отвечают за безопасность сети, проверку и валидацию транзакций.
Блокчейн Proof of Work, такой как у Bitcoin, создает сценарий, в котором майнеры конкурируют за поиск правильного решения сложной криптографической проблемы. Первый майнер, чтобы найти решение для определенного блока, транслирует свой proof of work (хеш блока) в остальную сеть. Затем распределенная сеть узлов проверяет, действительно ли это доказательство или нет. Если это действительно так, майнер получает перманентное право добавить этот блок в блокчейн, и также получает вознаграждение за созданные новые Биткойны.
Когда дело доходит до Proof of Stake блокчейнов, алгоритм консенсуса работает по другому. Вместо использования хеш функций, алгоритм PoS использует цифровые подписи, которые доказывают принадлежность монет. Валидация новых блоков выполняется так называемыми блочными форгерами или минтерами, которые выбираются детерминистическим способом. Чем больше монет форгер имеет в стейке, тем выше вероятность выбора его в качестве валидатора блока. Однако в отличие от систем PoW, большинство систем PoS не обеспечивают награду за блок, и все что получают минтеры от валидации блока, это комиссию за транзакции.
Хотя алгоритм Proof of Burn имеет сходство с PoW и PoS, он имеет свой особый способ достижения консенсуса и проверки блоков.
Proof of Burn (PoB)
Существует несколько версий PoB, но концепция Proof-of-Burn, идеализированная Иейном Стюартом, наиболее признанная в криптовалютном пространстве. Это было предложено в качестве более устойчивой альтернативы алгоритму консенсуса PoW.
По сути, Proof of Burn выглядит как алгоритм Proof of Work, но с меньшим темпом потребления энергии. Процесс проверки блока в сетях на основе PoB, не требует использования мощных вычислительных ресурсов, и не зависит от мощного майнингового оборудования (по типу ASIC). Вместо этого криптовалюта намеренно сжигается в качестве способа «инвестиций» в ресурсы блокчейна, поэтому майнинг кандидатам не требуется вкладывать физические ресурсы. В системах PoB, майнеры инвестируют в виртуальное майнинговое оборудование (или виртуальный майнинг).
Другими словами, выполняя сжигание монет, пользователи могут продемонстрировать свою приверженность к сети, получая право на «майнинг» и валидацию транзакций. Поскольку процесс сжигания монет представляет собой виртуальную майнинговую мощь, и чем больше монет пользователь сожжет в пользу системы, тем больше у него мощность майнинга, и следовательно, больше вероятность выбора его в качестве валидатора блока.
Как работает Proof of Burn?
В нескольких словах, процесс сжигания монет состоит в том, чтобы отправить их на публичный верифицированный адрес, где они становятся недоступными и бесполезными. Как правило, эти адреса ( aka. eater адреса) генерируются случайным образом, без какого-либо публичного ключа, связанного с ними. Естественно, процесс сжигания монет снижает доступность рынка и создает дефицит монет, что приводит к потенциальному увеличению их стоимости. Но более того, сжигание монет, это еще один способ инвестирования в безопасность сети.Одной из причин, по которой Proof of Work блокчейн является безопасным, это факт того, что майнерам необходимо вкладывать много ресурсов, чтобы в конечном итоге майнинг быть прибыльными. Это означает, что у PoW-майнера будет все стиму действовать честно и помочь сети, чтобы предотвратить первоначальные инвестиции впустую.
Идея аналогична для алгоритмов Proof of Burn. Но вместо того, чтобы инвестировать в электроэнергию, трудовые ресурсы и вычислительную мощность, PoB блокчейн должен быть обеспечен инвестициями, производимыми с помощью сжигания монет и больше ничего другого.
Подобно блокчейну PoW, системы PoB будут предоставлять вознаграждения за вознаграждение майнерам и в течение определенного периода времени вознаграждение, как ожидается, покрывает первоначальные инвестиции сожженных монет.
Как было сказано ранее, существуют различные способы реализации алгоритма Proof of Burn. В то время как некоторые проекты выполняют PoB майнинг посредством сжигания Биткойнов, другие достигают консенсуса сжигая собственные монеты.
Proof of Burn vs Proof of Stake
Одна вещь, которую имеют PoB и PoS, заключается в том, что валидаторы блока должны вкладывать свои монеты для участия в консенсус механизме. Тем не менее, блокчейн PoS требует, чтобы форгеры делали ставку своих монеты, обычно блокируя их. Но если они решат покинуть сеть, они могут забрать эти монеты и продать их. Поэтому в таком сценарии нет постоянного дефицита рынка, потому что монеты выводятся из общей циркуляции только на определенный период времени. С другой стороны, валидаторы блоков PoB должны навсегда уничтожить свои монеты, создавая постоянный экономический дефицит.
Преимущества и Недостатки Proof of Burn
Перечисленные здесь преимущества/недостатки основаны на общих аргументах сторонников PoB и не должны считаться доказанными фактами. Существуют споры об этих аргументах, которые требуют дальнейшего тестирования, чтобы быть подтвердить как действительные так и недействительные утверждения.
Преимущества
Более устойчивый. Уменьшенное энергопотребление.
Не нуждается в аппаратном майнинге. Сжигаемые монеты это виртуальные маннинговое оборудование.
Сжигаемые монеты уменьшают их общую циркуляцию (рыночный дефицит).
Поощряются долгосрочные обязательства со стороны майнеров.
Распределение/майнинг монет обычно менее централизованны.
Недостатки
Некоторые говорят, что PoB не очень экологичен, поскольку сжигаемые Биткойны генерируются с помощью PoW разработки, что требует большого количества ресурсов.
Не доказано, что он работает в больших масштабах. Для подтверждения его эффективности и безопасности необходимо провести дополнительные испытания.
Проверка работы, выполняемой майнерами, как правило, откладывается. Это не так быстро, как в блокчейне Proof of Work.
Средний срок службы монеты не всегда прозрачен или легок для проверки среднестатистическим пользователям.
Криптовалюта Призм: Proof of Stake
В традиционной модели «Proof of Work», используемой
большинством криптовалют, безопасность сети
обеспечивается участниками, выполняющими «работу».
Они применяют свои ресурсы (время вычисления /
обработки), чтобы сверять транзакции с двойными
расходами, и налагать внеочередные расходы на тех, кто
попытается свернуть транзакции. За эту работу участники
награждаются монетами PZM, причем их частота и сумма
варьируются в зависимости от рабочих параметров
криптовалюты. Этот процесс известен под названием
Майнинг. Частота генерации блоков, определяющая
каждое доступное вознаграждение за майнинг
криптовалюты, как правило, должна оставаться
постоянной.
В результате трудоемкость требуемой работы для
получения вознаграждения должна увеличиваться по мере
увеличения работоспособности сети. По мере развития
сети Proof of Work у индивидуального пользователя
становится меньше стимулов для поддержки сети,
поскольку их потенциальная награда распределяется
среди большего числа коллег. В поисках рентабельности
майнеры продолжают вкладывать ресурсы в форму
специализированного, запатентованного оборудования,
которое требует значительных капиталовложений и
высоких текущих энергетических затрат. С течением
времени сеть становится все более централизованной,
так как более мелкие партнеры (те, кто может выполнять
меньше работы) выпадают или объединяют свои ресурсы
в «пулы». Создатель биткоина Сатоши Накамото,
предназначал чтоб сеть биткоина была полностью
децентрализованной. Но никто не мог предугадать, что
стимулы, обеспечиваемые системами Proof of Work,
приведут к централизации процесса майнинга. Это
приводит к возможности уязвимостей.
GHash.io пул биткойна достиг 51% мощности майнинга биткойнов в прошлом, а верхние пять пулов майнинга
биткоина составляют 70% мощности хэширования сети. Концепция децентрализации находится под угрозой полной
потери. В модели Proof of Stake, используемой Prizm, сетевая безопасность регулируется партнерами, имеющими
долю в сети.
Стимулы, обеспечиваемые этим алгоритмом, не способствуют централизации, как алгоритмы Proof of Work, и
данные показывают, что сеть Prizm остается высоко децентрализованной с момента ее создания: большое (и
растущее) количество уникальных аккаунтов вносящих блоки в сеть, и пять топовых аккаунтов генерируют 35% от
общего количества блоков.
PRIZM использует систему, в которой каждая «монета» на счете
может рассматриваться как миниатюрная майнинг ферма. Чем
больше монет содержится в аккаунте, тем больше вероятность,
что аккаунт получит право на создание блока. Общая «награда»,
полученная в результате создания блока, сумму комиссий за
транзакции, расположенных внутри блока. PRIZM не создает
никаких новых монет в результате создания блоков.
Перераспределение PRIZM происходит в результате того, что
генераторы блока получают комиссионные за транзакции,
поэтому термин «форжинг» (используется в данном контексте
«создавать отношения или новые условия», вместо «майнинг»).
Последующие блоки генерируются на основе проверяемой,
уникальной и почти непредсказуемой информации из
предыдущего блока. Блоки связаны в силу этих связей, создавая
цепочку блоков (и транзакций), которые можно проследить
вплоть до блока генезиса. Время генерации блока
ориентировочно 59 секунд, но изменения вероятностей привели
к тому, что среднее время генерации блока может составить 80
секунд, случаются и более длинные интервалы блоков.
Безопасность Блокчейна всегда имеет значение в системе
Пруф-оф-стейк.
Основные принципы, которые применяются к алгоритму Prizm Proof of Stake:
Совокупное значение сложности сохраняется в качестве параметра в каждом блоке, и каждый
последующий блок получает свою новую «сложность» от значения предыдущего блока. В случае
двусмысленности, сеть достигает консенсуса, выбирая фрагмент блока или цепи с наивысшей
кумулятивной сложностью.
Чтобы владельцы учетных записей не перемещали свои средства с одной учетной записи на другую как
средство манипулирования с целью получения возможности генерации блоков, монеты должны быть
стационарными в пределах аккаунта для 1440 блоков, прежде чем они смогут внести свой вклад в
процесс генерации блоков. Монеты, отвечающие этому критерию, способствуют эффективному балансу
счета, и этот баланс используется для определения вероятности форжинга.
Чтобы злоумышленник не мог создать новую цепочку на всем пути от блока генезиса, сеть позволяет
только реструктуризацию цепи 720ти блоков, расположенных за текущим блоком. Любой блок,
представленный на высоте ниже этого порога, отклоняется. Этот порог перемещения можно
рассматривать как единственную фиксированную контрольную точку PZM.
Из-за крайне низкой вероятности того, что какой-либо аккаунт возьмет на себя управление Блокчейн,
создав собственную цепочку блоков, транзакции считаются безопасными, если они закодированы в блок,
который составляет 10 блоков, расположенных за текущим блоком.
Сопоставление с Peercoin Proof of Stake
Peercoin использует параметр возраста монеты как часть алгоритма
вероятности майнинга. В этой системе, чем дольше ваши Peercoins были
на вашем аккаунте (до 90 дней), тем с большей мощностью (возраст
монеты) они должны создавать блок. Акт «Минтинг» блока требует
потребления достоинства возраста монет, и сеть определяет консенсус,
выбирая цепочку с наибольшим общим потребленным возрастом монет.
Когда блоки Peercoin отделяются, потребленный возраст монеты
возвращается обратно в исходный аккаунт блока.
В результате затраты на атаки сети Peercoin низкие, так как
злоумышленники могут продолжать пытаться генерировать блоки
(называемые гриндинг стейк) до тех пор, пока они не будут успешными.
Peercoin минимизирует эти и другие риски путем централизованной
огласки контрольных точек блокчейна несколько раз в день, чтобы
«заморозить» блокчейн и блокировать транзакции. Prizm не использует
возраст монеты как часть алгоритма форжинга. «Шанс» создания блока
каким-либо аккаунтом зависит только от его действующего баланса
(который является достоинством каждой учетной записи), времени с
момента последнего блока (который делится всех форжащих аккаунтов) и
базового целевого значения (которое также общее для всех аккаунтов).
Монеты были выпущены с созданием блока генезиса
(первый блок в цепочке блоков). Премайнинг реализуется
во всех странах мира, по номинальной стоимости,
ограниченными партиями, для достижения стартовой
децентрализации Prizm. Общий объем PZM составит 6
миллиардов монет. Аккаунт генезис генерирует
анти-монеты по сигналам ПараМайнинга (сигнал
отправить монеты на определенный кошелек) до предела
минус 6 миллиардов PZM.
Существование анти-монет в генезисе имеет
несколько интересных побочных эффектов:
- Все монеты, отправленные на аккаунт-генезис,
эффективно уничтожаются, так как
отрицательный баланс аккаунта отменяет их. - Основная функция Prizm — традиционная
платежная система, но была создана, чтобы
сделать гораздо больше. Достижение
поставленных целей сообщества CWT возможно
при условии паритета PRIZM c основными
фиатными валютами.
Сайт: parovoz-prizm.com >>>
Ветка 1000+ паровоза PRiZM >>>
Ветка 36600+ паровоза PRiZM >>>
★ Криптофобия: чудовищная ложь
Продолжая цикл статей про криптовалюты, я не могу не коснуться явления, которое настолько далеко от экономической аналитики, что даже рассмотренные ранее мифы кажутся вполне себе разумными доводами на его фоне. Обзову это криптофобией.
Общий принцип криптофобии описывается всем известной цитатой:
Чем чудовищнее солжёшь, тем скорей тебе поверят.
На практике это выражается в полном отказе от рассмотрения криптовалют, как одного из многих инструментов инвестора, в пользу абсолютного отрицания. Как будто ЕС, США, страны G7 и многие другие не признавали биткоин виртуальной валютой, нет никаких биткоин-карт в различных банках и уже достаточно развитого рынка криптовалют в целом, включая биткоин-фьючерс на Чикагской Товарной Бирже. Чёрт, да даже картинки к этой статье тоже нет, потому что она взята с сайта МВФ из публикации, где прогнозируется, что роль центробанков в будущем будет ослаблена… криптовалютами! На той же странице есть ссылка на статью за авторством лично главы МВФ Кристин Лагард, в которой она призывает «держать свой разум открытым для криптовалют», потому что они «имеют потенциал улучшить наши жизни» — неслабо так для очередного МММ!
В общем, нам предлагается обо всём этом и многом другом забыть и поверить очередному гуру из интернета, который один знает правду, что биткоин — это мусор, потому что… На самом деле особо и не важно почему, ведь с таким чудовищным градусом лжи, люди начинают верить в любую чушь автоматом.
Что тут можно возразить? Да особо и нечего не самом деле, ведь логика в этом случае никого не интересует, а учебник экономики принесёт пользу, только если хорошенько приложиться им по котелку нашего гуру: он с последователями ждёт пришествия криптокирдыка уже более 10 лет, а потому и через полвека у него навряд ли что-то изменится.
Убедить можно умного человека, безумного — только лечить.
Источник: @samasut
Что такое доказательство работы (PoW) в криптографии?
Децентрализация была ключевой частью первоначального видения криптовалют. Для этого необходим способ подтверждения транзакций без участия финансовых учреждений. Первое решение этой проблемы было названо доказательством работы.
Proof of work (PoW) — это форма добавления новых блоков транзакций в цепочку блоков криптовалюты. В этом случае работа генерирует хэш (длинную строку символов), который соответствует целевому хешу для текущего блока.Крипто-майнер, который это делает, получает право добавить этот блок в цепочку блоков и получить вознаграждение.
Криптовалютаначалась с доказательства работы, поскольку это механизм консенсуса, используемый первой криптовалютой, Биткойн (CRYPTO: BTC). Он хорошо известен своей безопасностью, но также неэффективностью и сильным воздействием на окружающую среду.
Разобравшись с доказательством работы, вы лучше поймете, какие монеты его используют. Это также может помочь вам выбрать, куда вкладывать деньги при инвестировании в криптовалюту.Продолжайте читать, чтобы получить полное объяснение доказательства работы.
Источник изображения: Getty Images.
Как работает модель Proof-of-Work
Модель Proof-of-Work — это механизм консенсуса, используемый для подтверждения и записи транзакций с криптовалютой.
Каждая криптовалюта имеет блокчейн, который представляет собой публичный реестр, состоящий из блоков транзакций. В случае криптовалют с подтверждением работы каждый блок транзакций имеет определенный хэш. Для подтверждения блока криптомайнер должен сгенерировать целевой хэш, который меньше или равен хешу блока.
Для этого майнеры используют устройства для майнинга, которые быстро генерируют вычисления. Цель состоит в том, чтобы стать первым майнером с целевым хешем, потому что именно этот майнер может обновлять цепочку блоков и получать криптовалютные вознаграждения.
Причина, по которой доказательство работы в криптовалюте работает хорошо, заключается в том, что найти целевой хэш сложно, а проверить его — нет. Процесс достаточно сложен, чтобы предотвратить манипуляции с записями транзакций. В то же время, как только целевой хеш найден, другие майнеры могут легко его проверить.
Пример подтверждения работы
Вот пример того, как Биткойн использует доказательство работы для поддержания целостности своей цепочки блоков.
Когда происходят биткойн-транзакции, они проходят проверку безопасности и группируются в блок для майнинга. Затем алгоритм доказательства работы Биткойна генерирует хэш для блока. Алгоритм, который использует Биткойн, называется SHA-256, и он всегда генерирует хэши из 64 символов.
Майнеры соревнуются за то, чтобы первыми сгенерировать целевой хеш, который ниже хэша блока.Победитель получает возможность добавить последний блок транзакций в блокчейн Биткойна. Они также получают вознаграждение в биткойнах в виде новых монет и комиссий за транзакции. Биткойн имеет фиксированный максимальный запас в 21 миллион монет, но после этого майнеры будут продолжать получать комиссию за транзакции за свои услуги.
Алгоритм доказательства работы, используемый Биткойном, направлен на добавление нового блока каждые 10 минут. Для этого он регулирует сложность добычи биткойнов в зависимости от того, как быстро майнеры добавляют блоки.Если майнинг происходит слишком быстро, вычисления хэша усложняются. Если все будет слишком медленно, им станет легче.
Доказательство работы по сравнению с доказательством ставки
Proof of Work был первым механизмом консенсуса по криптовалюте. Альтернатива, доказательство доли, появилась в 2012 году с запуском Peercoin (CRYPTO: PPC). Он выбирает валидаторы транзакций в зависимости от того, сколько монет они поставили или заблокировали в сети.
Поскольку для подтверждения доли не требуется столько вычислительной мощности, сколько для подтверждения работы, оно более масштабируемо.Он может обрабатывать транзакции быстрее, с меньшими комиссиями и с меньшим потреблением энергии, что делает криптовалюты с подтверждением доли владения более экологически безопасными. Также намного проще начать делать ставки на криптовалюту, чем на майнинг, поскольку не требуется дорогостоящее оборудование.
Однако доказательство работы более доказано с точки зрения безопасности. Одна потенциальная проблема с доказательством доли заключается в том, что стороны с крупными криптовалютными холдингами могут иметь слишком много полномочий, что является проблемой, которой нет в доказательстве работы.
Преимущества и недостатки доказательства работы
Вот самые большие преимущества и недостатки доказательства работы:
Плюсы | Минусы |
---|---|
Высокий уровень безопасности. | Неэффективен из-за низкой скорости транзакций и высоких комиссий. |
Обеспечивает децентрализованный метод проверки транзакций. | Высокое потребление энергии. |
Позволяет майнерам зарабатывать криптовалютные вознаграждения. | Для майнинга часто требуется дорогое оборудование. |
Схема автора.
Монеты Proof-of-Work
Вот некоторые из известных криптовалют, в которых используется доказательство работы:
- Биткойн — первая криптовалюта с момента ее запуска в 2009 году. Она представила концепцию доказательства работы в криптовалюте, которая позже будет принята во многих будущих монетах.
- Litecoin (CRYPTO: LTC) — один из самых ранних альткойнов или альтернатив Биткойну. Запущенный в 2011 году, он основан на коде Биткойна и предлагает улучшенную скорость транзакций.
- Dogecoin (CRYPTO: DOGE) — это криптовалюта, запущенная в 2013 году и основанная на меме Doge. Несмотря на то, что это началось как шутка, у него появилось много преданных поклонников.
Доказательство работы было предпочтительным механизмом консенсуса для ранних криптовалют, которым требовался безопасный децентрализованный способ обработки транзакций.Хотя доказательство доли с тех пор стало менее энергоемкой альтернативой, доказательство работы по-прежнему используется многими основными монетами.
Что такое подтверждение работы? Как поддерживается сеть Биткойн
Вкратце
- Доказательство работы — это согласованный алгоритм, обеспечивающий безопасность децентрализованной сети цепочек биткойнов.
- Биткойн-майнеры пытаются решить сложные математические уравнения с помощью энергоемкого процесса, и все это для генерации новых блоков и получения вознаграждения в биткойнах.
Технология блокчейн, на которой работает Биткойн и многие другие криптовалюты, по сути, представляет собой базу данных, но она сильно отличается от любой типичной централизованной бухгалтерской книги. Он децентрализован и управляется одноранговыми узлами, распределенными по всему миру, без каких-либо контролирующих органов, которые могли бы вызывать выстрелы или устанавливать правила.
Так как же защитить децентрализованную сеть и убедиться, что все согласны с содержанием реестра? Вот где приходит на помощь алгоритм консенсуса Bitcoin Proof-of-Work.
В сочетании с криптографией с открытым ключом алгоритм консенсуса Proof-of-Work защищает распределенный реестр и защищает сеть от атак «двойного расходования», при этом добавляя новые блоки транзакций в цепочку и генерируя вознаграждение в BTC.
Механизм доказательства работы требует, чтобы биткойн-майнеры соревновались в решении сложных математических уравнений с помощью своих компьютеров — очень энергоемкий процесс. Это сложно нарочно, но полученные биткойн-вознаграждения действительно могут быть невероятно ценными.
Доказательство работы имеет важное значение для непрерывной работы Биткойна, но его энергопотребление подверглось тщательной проверке, и некоторые другие криптовалюты вместо этого приняли совсем другую модель подтверждения доли. Вот как работает доказательство работы, почему оно необходимо для Биткойна и каковы недостатки.
Что такое механизм консенсуса?
В отличие от традиционной базы данных, контролируемой администратором, публичная цепочка блоков представляет собой одноранговую децентрализованную сеть, в которую потенциально может внести свой вклад любой участник.Консенсус необходим для функционирования такой распределенной сети, учитывая потенциально тысячи операторов узлов: все они должны согласовать состояние сети, чтобы она работала должным образом.
Механизм консенсуса — это процесс, с помощью которого сеть надежно и автоматически определяет, какой представленный блок участника — который является записью последних транзакций — будет добавлен в цепочку, таким образом добывая и награждая их новой криптовалютой в процессе.
Что такое подтверждение работы и как оно работает?
Proof of Work — это механизм консенсуса, разработанный для Биткойна его создателем Сатоши Накамото.С тех пор аналогичная модель использовалась Ethereum, Litecoin, Dogecoin и другими криптовалютами. В модели Proof-of-Work майнеры запускают на своих компьютерах программное обеспечение для хеширования, которое использует возможности своего оборудования для решения сложных математических уравнений.
В конечном счете, математика произвольна: майнеры работают ради нее, тратя драгоценные вычислительные ресурсы в обмен на потенциальное вознаграждение. Это намеренно сложный процесс для предотвращения потенциальных атак в сети, но это означает, что у более мощных компьютеров есть преимущество.С первых дней существования сети Биткойн среди майнеров шла «гонка вооружений», которые изначально использовали ЦП своего компьютера для добычи Биткойна, прежде чем перейти к высокопроизводительным видеокартам и, наконец, к специализированному оборудованию для майнинга ASIC.
«Доказательство работы имеет то замечательное свойство, что оно может быть передано через ненадежных посредников».
Сатоши Накамото
пользователей Биткойна транслируют транзакции в блокчейн, и майнеры собирают их в блок и соревнуются в доказательстве работы, чтобы первыми решить уравнение с помощью процесса, называемого хешированием.Майнер или пул для майнинга, чей блок принят, зарабатывает биткойны в качестве вознаграждения. В настоящее время вознаграждение установлено в размере 6,25 BTC; Первоначально он составлял 50 BTC и уменьшался вдвое каждые четыре года. Этот процесс повторяется каждые 10 минут или около того, по мере того, как записываются новые блоки и эффективно чеканится и присуждается новый биткойн.
Знаете ли вы?
Процесс майнинга биткойнов основан на Hashcash, системе подтверждения работы, изобретенной Адамом Бэком в 1997 году для борьбы со спамом в электронной почте и атаками типа «отказ в обслуживании». Бэк, один из первых биткойнеров, отрицает, что он является создателем криптовалюты, Сатоши Накамото.
Почему это важно?
Proof-of-work — важный компонент сети Биткойн. Без такого энергоемкого процесса злоумышленникам было бы легко атаковать сеть и «дважды потратить» биткойны. Это называется атакой 51%, при которой группа майнинга управляет большей частью общей скорости хеширования (вычислительной мощности) сети, что позволяет ей манипулировать блоками и использовать преимущества системы.
«Цепочка доказательства выполнения работы — это решение проблемы синхронизации и знание того, что такое глобально разделяемое представление, без необходимости доверять кому-либо.»
Сатоши Накамото
Однако из-за того, что доказательство работы Биткойна требует больших ресурсов, ни один майнер или группа практически не могут распоряжаться такой большой мощностью.
Какие криптовалюты используют доказательство работы?
Proof-of-work — это доминирующая модель консенсуса среди криптовалют, причем две крупнейшие монеты — Биткойн и Эфириум — используют ее вместе с другими монетами, такими как Litecoin, Dogecoin, Bitcoin Cash и Monero.
Знаете ли вы?
Ethereum в настоящее время находится в процессе перехода от PoW к модели Proof-of-Stake со своим Ethereum 2.0 запуск.
Каковы недостатки доказательства работы?
Самый большой недостаток модели доказательства работы Биткойна — это огромное количество энергии, необходимой для майнинга. Digiconomist предполагает, что вся сеть Биткойн имеет углеродный след, сопоставимый со страной Марокко, и производитель электромобилей Tesla сослался на воздействие майнинга на окружающую среду, когда он решил прекратить прием платежей Биткойн в мае 2021 года.
Учитывая ценность Биткойна и стоящие на кону награды, неудивительно, что это очень спорная и противоречивая тема.Сторонники Биткойна часто предполагают, что такие оценки его использования энергии вводят в заблуждение или завышены, или возражают против того, что банки и централизованные платежные службы не подвергаются одинаковому вниманию.
Некоторые считают, что майнинг биткойнов стимулирует использование возобновляемых источников энергии, или предполагают, что майнинг биткойнов использует генерируемую энергию, которая в противном случае была бы потрачена впустую. Споры не столько сосредоточены на том, расширяет ли майнинг биткойнов огромное количество коллективной энергии — это действительно так, и это сделано намеренно.Также очень важно поддерживать Биткойн в том виде, в каком он работает в настоящее время. Скорее, большая часть дебатов сосредоточена на типах используемой энергии и на том, стоит ли это делать. Неудивительно, что майнеры и фанаты биткойнов считают, что это так.
Кроме того, к большому огорчению геймеров, майнинг криптовалют, таких как Ethereum, вызвал огромный спрос на мощные видеокарты для ПК (или графические процессоры), что привело к повсеместному дефициту и росту цен. Это привело к тому, что производители ослабили майнинговые возможности своих видеокарт, чтобы сделать их менее привлекательными для майнеров.
В то время как огромный масштаб сети Биткойн означает, что атака 51%, вероятно, невозможна, это неверно для сетей блокчейн с меньшим доказательством работы. Например, Ethereum Classic и Bitcoin Cash столкнулись с такими атаками в 2020 году.
Доказательство работы против доказательства ставки
На фоне опасений по поводу энергопотребления сетей с доказательством работы в индустрии блокчейнов укоренился альтернативный механизм консенсуса: доказательство доли. Система подтверждения доли полагается на валидаторов, которые удерживают большое количество собственной криптовалюты в сети, и эти пользователи проверяют транзакции и получают вознаграждения.
Монеты, такие как Cardano, Algorand, Cosmos и Binance Coin, используют ту или иную форму модели доказательства ставки. Как упоминалось ранее, Ethereum в настоящее время переходит к этому подходу с обновлением Ethereum 2.0; По оценкам, новая сеть потребляет на 99,95% меньше энергии, чем существующая.
Proof of Stake не требует мощных компьютеров или майнинговых установок, поэтому вся сеть потребляет гораздо меньше энергии, чем система Proof of Work. С другой стороны, недоброжелатели утверждают, что модели доказательства ставки помогают «богатым стать еще богаче», поскольку валидаторы должны поставить огромное количество монет, чтобы участвовать, и что это побуждает пользователей не тратить свои монеты.
Blockchain Proof of Work — Javatpoint
Proof of Work (PoW) — это оригинальный консенсусный алгоритм в сети блокчейн. Алгоритм используется для подтверждения транзакции и создания нового блока в цепочке. В этом алгоритме несовершеннолетних (группа людей) соревнуются друг с другом за завершение транзакции в сети. Процесс конкуренции друг с другом называется , майнинг . Как только майнеры успешно создали действующий блок, он получает вознаграждений .Самым известным приложением Proof of Work (PoW) является биткойн.
Создание доказательства работы может быть случайным процессом с малой вероятностью. В этом случае требуется серия проб и ошибок , прежде чем будет сгенерировано действительное доказательство работы. Главный принцип работы доказательства работы — это математическая головоломка, решение которой можно легко найти. Доказательство работы может быть реализовано в блокчейне с помощью системы доказательства работы Hashcash.
На изображении ниже вы можете видеть, что этот блок состоит из номера блока, поля данных, связанного с ним криптографического хэша и одноразового номера.Одноразовый номер отвечает за то, чтобы блок был действительным.
В игре-головоломке биткойн-программное обеспечение создает проблему, и тут начинается игра. В этой игре все майнеры соревнуются друг с другом, чтобы решить задачи, и эта задача займет около 10 минут. Каждый майнер начинает пытаться найти решение для того одного Nonce, которое удовлетворяет хеш-функции блока. В какой-то момент один из майнеров мирового сообщества с более высокой скоростью и отличными характеристиками оборудования решит задачу криптографии и станет победителем в игре.Теперь остальная часть сообщества начнет проверять блок, добытый победителем. Если одноразовый номер правильный, он закончится новым блоком, который будет добавлен в цепочку блоков. Концепция создания блока дает четкое объяснение доказательства работы (PoW).
Доказательство работы
биткойнов — единственная статья, которую вам когда-либо придется читать | Автор: Энрике Сентиейро
Как именно работает майнинг с доказательством работы? Что ж, на самом деле это довольно просто. Позвольте мне дать вам подсказку: майнерам не нужно решать «сложные» математические задачи.Эйнштейн решал сложные математические задачи. Майнеры просто пытаются угадать лотерею.
Если вы читали мои статьи, то знаете, что я люблю сразу переходить к делу. Это не роман, и я не хочу тратить зря время моих читателей. Тем не менее, эта статья довольно длинная, чтобы, пожалуйста, потерпите меня!
Майнинг — это метод, который используется в цепочке блоков для группировки транзакций в блок, добавления этого блока в цепочку блоков и трансляции нового блока в сеть.Майнинг обеспечивает поддержание механизма консенсуса и децентрализацию блокчейна.
В этой статье мы подробно рассмотрим, как работает майнинг. Это будет единственная статья о консенсусе в отношении доказательства работы, которую вам когда-либо придется читать. Действительно. Все здесь.
Доказательство работы. В блокчейнах есть алгоритмы майнинга или криптографические хеш-функции, которые принимают блок на входе и создают небольшой вывод. Хеш-функция разработана таким образом, что майнер должен хранить блоки хеширования до тех пор, пока он не обработает желаемый результат.Продолжайте читать, и я покажу вам, как это происходит. Чтобы выполнить эту задачу, майнеру необходимо повторить эту задачу миллион или миллиарды раз, что потребует оборудования, электроэнергии и времени.
Для Биткойна хеш-функция майнинга — SHA256, а Биткойн применяет процесс двойного SHA256 для повышения безопасности. Ethereum использует Ethash или Dagger-Hashimoto Keccak. В разных блокчейнах доказательства работы используются разные алгоритмы, но наиболее известны следующие:
- SHA256–256 бит «Безопасный алгоритм хеширования» может быть добыт процессорами общего назначения, и он используется такими криптовалютами, как Биткойн, Байткойн, Peercoin и т. Д. Namecoin и еще несколько.SHA256 — очень простая функция, т.е. это простая логическая операция и 32-битное сложение. Подобные простые функции могут быть реализованы в цифровой логике в микросхемах ASIC, создавая очень эффективное оборудование для майнинга.
- Ethash — Ethash — это алгоритм майнинга, подтверждающий работу Ethereum. Поскольку они потребляют больше памяти, графические процессоры предлагают более эффективную скорость хеширования. Майнеры ASIC также были разработаны для майнинга Ethash. Некоторые из блокчейнов, использующих этот алгоритм, включая Etehreum и Ethereum Classic.
- X11 — Разработчики Dash создали алгоритм X11, и он считается одним из самых безопасных. Также были разработаны майнеры ASIC для майнинга X11. Некоторые из криптовалют, использующих его, — это Dash, Karmacoin и MonetaryUnit.
- Scrypt — Scrypt также является одним из широко используемых алгоритмов майнинга. Он быстрее, чем SHA256, и ведущими блокчейнами, использующими его, являются Dogecoin 🐶, Litecoin, Potcoin, MidasCoin и Gulden. Говоря о Scrypt, я сделал первый курс Dogecoin. Проверьте это!
- Cryptonight — это еще один алгоритм proof of work с крутым названием.Он был разработан, чтобы быть более эффективным при майнинге на ЦП. Криптовалюты, использующие его, — это Monero, Dashcoin, DigitalNote, Bytecoin и другие.
Майнинг ЦП, Майнинг на GPU и Майнинг ASIC
Майнинг на ЦП, GPU и ASIC по-разному реагируют на разные алгоритмы цепочки блоков. Некоторые алгоритмы легче добывать (т.е.имеют лучшую скорость хеширования) с помощью ЦП — более общего назначения — графического процессора — более ресурсоемких для простых вычислений и лучше для алгоритмов с интенсивным использованием памяти — или ASIC — разработанных для конкретных целей.ASIC-майнеры хоть и очень эффективны, но имеют и недостатки. Некоторые разработчики блокчейнов пытались обновить протоколы, чтобы сделать их устойчивыми к ASIC, то есть невозможность майнинга с использованием устройств ASIC. Когда это происходит, майнеры ASIC становятся бесполезными, потому что они были разработаны с учетом определенного алгоритма и не могут выполнять никаких других задач. Некоторые разработчики блокчейнов считают, что устройства ASIC могут повысить централизацию.
Обратите внимание, что это относится только к блокчейнам с подтверждением работы, а не с блокчейнами с подтверждением доли или разрешения.
Давайте начнем с рассмотрения доказательства работы, механизма консенсуса Биткойна и большинства блокчейнов первого поколения. Доказательство работы — это механизм консенсуса на основе лидера. Кстати, если вы хотите расшифровать транзакцию базы монет генезис-блока Биткойн, ознакомьтесь с этой статьей.
Майнерам необходимо вычислить сложную лотерею или математическую задачу в блокчейне Биткойн и других блокчейнах, используя механизм консенсуса доказательства работы. Это немного похоже на попытку угадать номер лотерейного билета 🎲.Как только узел разрешает лотерею, он передает результат другим узлам, и новый блок добавляется в цепочку блоков.
Сложность лотереи регулируется таким образом, чтобы вся вычислительная мощность майнера генерировала один биткойн-блок в среднем каждые 10 минут. Предположим, что количество майнеров или вычислительная мощность в сети увеличивается, сложность вычисления математической задачи возрастает, чтобы обеспечить предсказуемость распределения / предложения монет и производства блоков.В этом случае сложность подтверждения работы корректируется, когда больше людей присоединяются к сети или покидают ее.
В других блокчейнах, таких как Ethereum, блоки могут добавляться с другой частотой. В Ethereum, например, новый блок добавляется каждые 15 секунд.
Вы можете увидеть доказательство работы как строку данных, которые сложно создать (это требует много времени и ресурсов), но после обнаружения их легко проверить.
Одна из причин, по которой для добавления нового блока в цепочку блоков требуется некоторая работа, — это сделать его более безопасным.Каждому майнеру необходимо решить сложную лотерею, чтобы добавить новый блок, но если это было слишком просто, то любой хакер мог легко попытаться добавить новые блоки или изменить цепочку блоков в свою пользу. Доказательство работы — это то, что делает Биткойн самой безопасной общедоступной сетью, когда-либо созданной в истории человечества.
Математическая задача — это не что иное, как угадать nonce , длинную строку чисел с миллионами или миллиардами проб и ошибок. Другими словами, перебор результата.Майнер должен угадать одноразовый номер, добавить его к хешу текущего заголовка, повторно хешировать значение и сравнить результат с целевым хешем.
Я уверен, что вы тоже слышали о сложности майнинга. Сложность майнинга в основном является мерой того, насколько сложно найти новый блок в цепочке блоков или, другими словами, насколько редко майнерам требуется грубая сила, чтобы найти хеш, меньший, чем целевой хэш.
Мне всегда казалось, что это довольно забавно, когда люди говорят, что майнеры «решают очень сложную математическую задачу», тогда как на самом деле они пытаются угадать «лотерейный» номер.Майнеры не Эйнштейн! Они не пытаются найти математические чудеса Вселенной. 🌌
В большинстве публичных / запрещенных блокчейнов майнеры будут получать вознаграждение за свою работу. Это вознаграждение, скорее всего, покроет их расходы, связанные с оборудованием и электричеством, и является стимулом для продолжения работы сети. В 2021 году вознаграждение за блок биткойнов составит 6,25 BTC, и оно будет оставаться на уровне 6,25 до 2024 года, когда оно снова уменьшится вдвое (оно уменьшается вдвое примерно каждые 4 года или, если быть более точным, каждые 210 000 блоков).Таким образом, в 2024 году вознаграждение за блок биткойнов составит 3,125 BTC. В 2028 году это будет 1,5625 BTC и так далее. Из-за уменьшения вдвое вознаграждения за блок максимальное количество биткойнов ограничено 21 миллионом биткойнов, и оно будет достигнуто в 2140 году.
Доказательство работы используется в основном блокчейнами без разрешения, где любой человек может добавить узел в блокчейн, а личности узлов в блокчейне неизвестны. Таким образом, необходим механизм консенсуса, который позволяет узлам взаимодействовать без доверия.
Доказательство работы составляет 90% от общей рыночной капитализации существующих криптовалют. Это требует работы от узлов, которые участвуют в проверке блоков, ну, ну, чтобы выполнить некоторую сложную работу. Для выполнения этой работы майнерам нужен определенный стимул. Мы также увидим, что для добычи одного блока в сети Биткойн требуется много квадриллионов вычислений. Вот почему во всех блокчейнах с доказательством работы майнеры получают вознаграждение за блок, комиссию за транзакцию или и то, и другое.
Экономический стимул, стоящий за доказательством работы, является прекрасным примером того, как сохранить консенсус в полностью децентрализованной сети.Чтобы быть узлом / майнером в блокчейне доказательства работы, требуются аппаратные ресурсы, электричество и время, но если узлы играют по правилам, то есть в соответствии с механизмом консенсуса, они получают вознаграждение. Если узлы попытаются атаковать блокчейн, подделать данные или выполнить двойную трату, они не получат вознаграждение и будут просто тратить ресурсы.
В 2020 году майнеры получили биткойн на сумму около 7 миллиардов долларов на сумму в качестве вознаграждения за блок и около 800 миллионов долларов в виде комиссионных, уплаченных пользователями.Неплохо, а? Быть шахтером — тяжелая работа.
Плюсы доказательства работы:
- Масштабируемость сети (с точки зрения количества узлов)
- Безопасность повышается с увеличением количества узлов, т.е. чем больше сообщество майнеров, тем безопаснее оно
- Майнеры получают вознаграждение в обмен на вклад их вычислительной мощности в сеть
- Очень безопасен в большинстве случаев
Минусы доказательства работы:
- Уязвимы к атакам 51% (в небольших блокчейнах доказательства работы)
- Сложность майнинга обычно усложняется, а оборудование для майнинга быстро устаревают (рентабельность может упасть до нуля только за 3 года)
- Майнинг стоит дорого и, чтобы быть прибыльным, обычно требует специального оборудования
- Он требует огромного количества электроэнергии
- Доказательство работы Блокчейны обычно имеют низкую пропускную способность (исследования показывают, что доказательство рабочих блокчейнов может достигать 60 транзакций в секунду без ущерба для безопасности)
- Требуется время, чтобы транзакция проверяется в цепочке блоков в зависимости от используемого протокола цепочки блоков — вот почему рекомендуется подождать от 10 до 20 минут, пока транзакция не будет проверена / зафиксирована в сети Биткойн (1 или 2 блока) или 5 минут в цепочке блоков Ethereum ( около 20 кварталов).С другой стороны, блоки Dogecoin добываются каждую минуту.
Скорость хеширования
Скорость хеширования — это количество вычислительных хешей, которые может выполнить оборудование. Разное оборудование имеет разные хешрейты. От процессоров до графических процессоров или микросхем ASIC — интегральных схем для конкретных приложений — майнеры стараются иметь наиболее эффективное оборудование, чтобы иметь наилучшую возможную скорость хеширования, что увеличит их вероятность добычи блока в цепочке блоков и получения за это вознаграждения. .
Сложность
Сложность показывает, насколько сложно найти хэш, необходимый для майнинга нового блока в цепочке блоков в блокчейне доказательства работы. Сложность представляет собой количество возможностей / комбинаций, по которым майнеры могут угадать хеш. Чем сложнее, тем больше работы нужно выполнить майнерам, чтобы угадать хеш и создать новый блок. Сложность регулируется в цепочке блоков биткойнов, так что новые блоки создаются в среднем каждые 10 минут. Если к сети Биткойн присоединится больше майнеров, что приведет к увеличению хэш-мощности, сложность возрастет и изменится так, что майнеры обнаруживают хеш-код в среднем каждые 10 минут.
Сложность майнинга корректируется каждые 2016 блоков, что составляет примерно две недели, учитывая в среднем 10 минут на блок. Алгоритм Биткойн очень легко обеспечивает эту настройку. Если на поиск предыдущих блоков 2016 года потребовалось больше или меньше двух недель, сложность увеличивается или уменьшается пропорционально разнице во времени к двум неделям.
Как работает процесс майнинга Proof-of-Work
Майнинг Биткойн сложнее, чем добыча золота.Представьте, что вам нужно повторять хэши квадриллионы раз, пока вы не найдете правильный!
Различные цепочки блоков могут иметь разные механизмы, но давайте посмотрим на нашу цепочку блоков генезиса, Биткойн, в качестве примера.
При майнинге биткойнов майнеры должны придумать хэш блока, который соответствует определенным требованиям. Чтобы придумать этот хеш, им нужно изменить часть данных внутри блока, называемую nonce, и им нужно сделать это МНОГО раз. Это процесс угадывания лотереи. Звучит сложно? Не беспокойтесь, давайте сделаем это просто.
Сколько хэшей в среднем выполняют майнеры биткойнов по всему миру для добычи одного блока? Как я уже сказал, много раз:
хэшей на биткойн
= (скорость хеширования сети) / (6,25 BTC за 10 минут)
= (140 * Th / s) / (6,25 * BTC / (600 * s ))
= 140 * 600 / 6,25 * Th / s / BTC * s
= 13440 Th / BTC
= 13440000000000000 ч / BTC
Мы делим текущий хешрейт сети в секунду на 6,25 (вознаграждение за блок BTC за 10 минут ), и мы получаем ОЧЕНЬ большое число.
Майнерам необходимо вычислить в среднем 13,44 квадриллиона хэшей для генерации одного биткойна по состоянию на январь 2021 года. Если мы умножим это на 6,25, для добычи одного блока потребуется 84 квадриллиона хэшей! Майнерам необходимо повторять расчет на рисунке выше буквально квадриллионы раз, пока блок не будет добыт. Вот почему майнинг биткойнов тратит так много электроэнергии, но, с другой стороны, дает нам самый безопасный блокчейн из когда-либо существовавших.
Представьте себе гипотетически, что вы пытаетесь самостоятельно найти этот биткойн-блок и что у вас есть только лучший процессор на рынке, 12-ядерный процессор AMD Ryzen 9 3900X.Вам потребуется 225 730 лет , чтобы добыть один биткойн-блок при текущей сложности.
К сожалению, майнить Биткойн на обычном компьютере довольно бесполезно. Это было возможно еще в 2009 и 2010 годах, когда хэш-мощность в сети была еще низкой, но в настоящее время только очень мощное оборудование, такое как специализированные майнеры ASIC, может выполнять эту работу. В то время не многие люди интересовались майнингом биткойнов, а цена BTC составляла всего несколько центов.
Ранние верующие в биткойн, которые добывали его в первые дни, смогли купить Lambos 🚗.
Но… почему майнить биткойн так сложно ?? А как происходит процесс майнинга?
Как мы видели ранее, сложность доказательства работы возрастает, когда к сети добавляется больше мощности хеширования. Поле сложности и битов блока представляет количество нулей, которое имеет целевой хэш. Это количество нулей в начале хеша является условием, которому должны соответствовать майнеры. Чтобы сгенерировать хэш, соответствующий этому условию, майнеры должны будут следовать приведенному ниже процессу, пробуя разные одноразовые номера, пока они не создадут необходимый хеш.
Для создания хэша блока (т.е. для майнинга блока) вам необходимо выполнить определенные условия в доказательстве работы. Некоторые небольшие вариации могут применяться в зависимости от используемого алгоритма, но обычно требуется найти хэш, значение которого соответствует определенным требованиям. Другими словами, хеш должен начинаться с нескольких нулей.
Процесс довольно простой, но очень повторяющийся (майнеры повторяют его миллиарды или квадриллионы раз, как мы видели).
Схема, которую я сделал, очень четкая.Согласно схеме, чтобы выполнить необходимую работу по майнингу блока и получить хеш блока, майнер выполнит задачу. Здесь вступает в игру одноразовый номер, одно из полей в заголовке блока. Одноразовый номер — это 32-битное число, и майнеру нужно будет угадать, чтобы он создал хеш в соответствии с целью.
- Майнер создаст заголовок блока, преобразует его в строку данных
- Майнер добавляет одноразовый номер к данным и передает его в алгоритм хеширования (одноразовый номер — единственная часть блока, которую майнер может свободно change)
- Получить результирующий хэш
- Запустить тест, чтобы проверить, выполняется ли условие, т.е.е. целевой хэш выполняется
- Если условие выполнено, это означает, что майнер нашел одноразовый номер, который генерирует хэш в соответствии с целевым
- Если условие не было выполнено (наиболее вероятно), майнер попробует другой одноразовый номер , то есть он возвращается к пункту 2, пробуя новый одноразовый номер, пока он не создаст хэш, который соответствует цели
Майнерам, скорее всего, придется выполнять эти вычисления квадриллионы раз, пока они не получат правильное значение.
Как только майнер находит правильный хеш, он транслирует блок в сеть, и другие майнеры могут легко проверить, что этот одноразовый номер создает хеш в соответствии с целью.Майнер, добывший блок, также включит в блок транзакцию coinbase. Эта транзакция соответствует награде за блок, которую он получит.
При майнинге майнеры пытаются найти хеш-значения ниже целевого значения (это поле в каждом блоке цепочки). Значение хеш-функции должно быть меньше значения, представленного полем битов в заголовке блока. Это также будет означать, что целевой хэш должен начинаться с нескольких нулей. Это количество нулей будет увеличиваться с трудом.Чем выше сложность, тем сложнее добыть блок, потому что труднее найти хэш, соответствующий требуемой цели.
Почему эти «нули» в хеш-коде так сильно влияют на сложность? Если вы думаете, что вероятность хеширования блока, скажем, с 20 прямыми нулями, чрезвычайно мала. Это похоже на попытку найти среди квадриллионов лотерейных билетов чащу лотереи, которая начинается с 20 нулей. Или то же самое, что бросить кубик и получить одно и то же число 15 раз подряд. Это очень-очень низкая вероятность, и поэтому это так сложно.
Чтобы проиллюстрировать вероятности и то, насколько сложно получить хэш с большим количеством нулей, который будет меньше целевого хеша, давайте представим, что мы играем в кости. Какова вероятность подбросить 15 кубиков и получить все одинаковые по стоимости?
P = pⁿ = (1 / s) ⁿ
Предполагая, что наши кости являются шестигранными:
1 кубик: (1/6) ¹ = 0,16 или 16% вероятность
2 кубика: (1/6) ² = 0,02 (7) или 2,77% вероятность
4 кубика: (1/6) ⁴ = 0,00077160493827 или 0.077160493827% вероятность
6 кубиков: (1/6) ⁶ = 0,00002143347050 или 0,002143347050% вероятность
15 кубиков: (1/6) ¹⁵ = 0,00000000000212682249 или 0,000000000212682249%
. играет в кости в среднем 470 184 984 737 раз, чтобы все они оказались равными одному и тому же значению. Это 470 миллиардов раз!
Теперь вы видите, насколько сложнее, чем кажется, получить все кубики с одинаковым значением или хэш с таким количеством « нулей».
Теперь, когда мы понимаем концепцию, давайте посмотрим на нее с реальными формулами и посмотрим, как майнеры находят хеш в зависимости от сложности.
Сложность = MAX_TARGET / current_target
Итак, MAX_TARGET — это сложность, которая была установлена для первого блока, и в основном сложность = 1, и она записывается как шестнадцатеричное значение 1d00ffff.
Если мы преобразуем битовое значение нашего блока 386 867 735 в шестнадцатеричное, мы получим значение 0x170f2217.Это значение разделено на четыре байта. Первый — это индекс, за которым следуют 3 байта. В этом случае биты — это индекс 0x17 и коэффициент 0x0f2217. Здесь 0x означает, что мы говорим о шестнадцатеричном числе, также известном как шестнадцатеричный, числовой системе, используемой в вычислениях.
Целевой порог — это 256-битное целое число, хэш которого должен быть равен или меньше, чтобы соответствовать целевому хешу. Это целевой хэш, о котором мы говорили в процессе майнинга. (8 x (23–3)) = 1449469094350757594478113895488529861555105250349678592
Что в шестнадцатеричном формате
00000000
00000000
00000000000 сравнивая с хешем блока, мы видим, что наш хэш блока ниже:
0x 0000 0000 0000 0000 000 92f5f21cd6db1d374252d6e343bd7a0fcac448ef01a5
Легко, правда?
Мы также могли бы использовать калькулятор Python, чтобы сразу перейти к делу и проверить, не ниже ли хэш целевого значения.(8 * (index -3))
Как видите, мы получаем точно такой же результат, который является целевым значением. Если вы хотите попробовать это самостоятельно, вы можете загрузить python через командную строку.
Мы также можем проверить, что хэш блока ниже целевого:
Эта последняя функция показывает, что целое число хэша блока меньше целевого целого, что означает, что хэш соответствует цели, т.е. условие истинно. УРА! 🤯🤠🦄🚀
🚀 Следуйте за мной, а также проверьте мои 🧱 курсы по блокчейну:
🐶 Первый курс Dogecoin
👨🎓 Fintech, Cloud and Cybersecurity Course
📖 Полный курс NFT
👨🎓 Курс Unblockchain — Удобный для мозга курс Blockchain
Шведские официальные лица призывают к общеевропейскому запрету на крипто-майнинг «Proof of Work»
Инженер осматривает майнинговые установки, добывающие криптовалюты Ethereum и Zilliqa на криптоферме Evobits в Клуж-Напока, Румыния, в среду, января.22, 2021. Изображение: Акос Стиллер / Bloomberg через Getty Images
Высокопоставленные шведские чиновники призывают к общему запрету на энергоемкую добычу криптовалют в Европейском союзе, чтобы блок мог достичь своих климатических целей.
Звонок поступил в письме, опубликованном на прошлой неделе, подписанном директорами Управления финансового надзора и Управления по охране окружающей среды Швеции, которое способствует «стабильности и эффективности» финансовой системы страны. В нем два директора утверждают, что «социальная выгода криптоактивов сомнительна» и в любом случае перевешивается их «огромным» потреблением энергии и углеродным следом.В частности, они указывают на так называемые протоколы проверки «доказательство работы», используемые основными криптовалютными сетями, в которых от пользователей требуется решать все более сложные и, как они говорят, все более энергоемкие вычислительные задачи.
«По оценкам Кембриджского университета и Digiconomist, два крупнейших криптоактива, Биткойн и Эфириум, вместе потребляют примерно вдвое больше электроэнергии в год, чем вся Швеция», — говорится в письме. «Поэтому мы призываем ЕС рассмотреть вопрос о запрете на уровне ЕС на доказательство работы энергоемкого метода добычи полезных ископаемых.”
Сложный характер вычислительных задач требует высокопроизводительных компьютеров. Для крупных операций с криптовалютой могут использоваться сотни или даже тысячи таких компьютеров, которым часто требуется какая-либо система охлаждения для предотвращения перегрева.
Одна биткойн-майнинг может потреблять больше энергии, чем Италия к 2024 году. Если вы разберете энергию, используемую для проверки блока транзакций, то с точки зрения эффективности одна биткойн-транзакция может потребовать столько же энергии, сколько и все домохозяйство за неделю. .В письме утверждается, что в период с апреля по август этого года потребление электроэнергии для майнинга биткойнов в Швеции увеличилось на «несколько сотен» процентов и теперь равно потреблению электроэнергии 200 000 шведских домохозяйств.
Поскольку углеродный след майнинга криптовалюты продолжает подвергаться тщательной проверке, некоторые предприятия решили «перейти на экологию», используя возобновляемые источники энергии, а не ископаемое топливо. Шведские официальные лица, однако, видят в этом проблему, которая еще больше усложнит Швеции и ЕС достижение поставленных в соответствии с Парижским соглашением климатических целей.
«Швеции нужны возобновляемые источники энергии, нацеленные на производителей криптоактивов, для изменения климата наших основных услуг, и более широкое использование майнерами угрожает нашей способности выполнять Парижское соглашение», — говорится в письме.
Многие в индустрии добычи криптовалюты рекламируют способность сектора продвигать возобновляемую электроэнергию, в основном, становясь потребителями. Однако, даже если бы это было так, шведские официальные лица утверждают, что возобновляемые источники энергии лучше использовать для перевода существующих производств с ископаемого топлива.
«Из-за повышенного внимания к выбросам CO2 и в свете недавнего запрета биткойнов в Китае, большее количество криптопроизводителей изучают возможность использования возобновляемых источников энергии для майнинга», — говорится в письме. «Поэтому производители криптовалюты обращают свое внимание на Северный регион, где цены низкие, налоги на деятельность, связанную с добычей полезных ископаемых, благоприятны и есть хороший доступ к возобновляемым источникам энергии».
«Если бы мы разрешили обширную добычу криптоактивов в Швеции, существует риск того, что доступной нам возобновляемой энергии будет недостаточно для покрытия необходимого изменения климата, которое нам необходимо», — продолжает он.
Помимо общеевропейского запрета на майнинг криптовалюты с доказательством работы, официальные лица также призывают к национальным мерам по прекращению новых энергоемких крипто-операций и правилам, которые не позволят компаниям, инвестирующим в них, «рекламировать свою деятельность как устойчивую». Письмо приходит, когда официальные лица Европейского Союза обсуждают финансовые правила для криптовалюты в масштабах всего блока.
Когда к нам обратились за комментариями, Управление финансового надзора Швеции вернуло Motherboard к письму.Шведское агентство по окружающей среде не ответило на запрос о комментарии.
Что такое системы консенсуса блокчейн Proof of Work, Proof of Stake в криптографии? Вот все, что вам нужно знать
(может быть полезно сначала прочитать нашу статью с пояснением по Blockchain , чтобы лучше понять некоторые концепции, описанные в этой статье.)
В последние годы blockchain Использование технологии расширилось с обеспечения транзакций с криптовалютой и создания торговых площадок цифровых активов до облегчения трансграничных платежей и обеспечения управления цепочкой поставок , и т. Д.
Транзакции блокчейна записываются на нескольких компьютерах или устройствах по всему миру (также называемые узлами ). Кроме того, ими управляют одноранговых (P2P) сетей, узлов или пользователей.
В P2P сети нет центрального сервера или администратора. Когда пользователь хочет обменяться информацией с одноранговым узлом, он может отправить ее непосредственно получателю, без необходимости проходить через централизованную систему или базу данных.
В таких децентрализованных сетях любой пользователь может участвовать в блокчейне и совершать транзакции.Таким образом, должны существовать механизмы, гарантирующие, что транзакции точны, и устраняют любые уязвимости , которые могут возникнуть из-за этого дизайна.
Здесь в игру вступают механизмов консенсуса или алгоритмов.
Механизм консенсуса в широком смысле можно определить как отказоустойчивый механизм, который помогает сети достичь соглашения по одной или нескольким точкам данных, которые представляют транзакции в цепочке блоков.
Proof of Work (PoW) и Proof of Stake (PoS) — это два основных механизма консенсуса, используемых в блокчейнах.
Вот все, что вам нужно знать:
Доказательство работы (PoW), объяснение
Доказательство работы было самым ранним согласованным алгоритмом, который возник в мире блокчейнов, когда он был упомянут основателем Биткойн Сатоши Накамото в 2008 Белая книга биткойнов.
Сатоши, личность которого неизвестна, утверждал, что чисто одноранговая версия электронных денег позволит отправлять онлайн-платежи напрямую от одной стороны к другой, минуя финансовое учреждение, и что цифровые подписи обеспечивают только часть решение.
«Но основные преимущества теряются, если по-прежнему требуется доверенная третья сторона для предотвращения двойных расходов . Мы предлагаем решение проблемы двойных расходов с использованием одноранговой сети », — написал Сатоши.
Двойное расходование происходит, когда пользователь тратит одни и те же средства более одного раза. Например, вы не можете использовать одну и ту же банкноту в 100 рупий для оплаты кофе стоимостью 100 рупий, за которым следует бутерброд стоимостью 100 рупий.
Но в контексте цифровых денег, включая криптовалюту, пользователи не должны дублировать и тратить одна и та же электронная версия банкноты в 100 рупий несколько раз.
PoW позволяет любому или любому узлу проверять создание новых блоков, относящихся к новым транзакциям, и обновлять цепочку блоков в соответствии с правилами системы.
Таким образом, система PoW предотвращает двойное расходование , поскольку транзакции регистрируются публично, и «сетевые временные метки транзакций, хешируя их в непрерывную цепочку хеш-основанного доказательства работы, формируя запись, что не может быть изменено. без повторного подтверждения работы ».
По сути, PoW означает, что самая длинная цепочка служит доказательством последовательности событий (или транзакций), засвидетельствованных, а также доказательством того, что она исходит из самого большого пула мощности ЦП .
Благодаря децентрализованной конструкции Биткойна это означает, что до тех пор, пока узлы, которые не атакуют сеть, контролируют большую часть мощности процессора, они будут генерировать самую длинную цепочку транзакций и предотвращать взлом сети злоумышленниками.
Изображение: Дейзи Махадеван
Как работает PoW:
Если вы хотите купить кофе и бутерброд на общую сумму 200 рупий, вы можете отправить криптовалюту (например, биткойн) на эту сумму в кафе, при условии, что криптовалюта принимается как законное платежное средство в вашей стране, и продавец его принимает.
В случае Биткойна, который использует алгоритм консенсуса PoW, транзакция будет работать следующим образом:
Не существует единственного объекта , такого как банк, ответственного за ваш платеж. Вместо этого в транзакции должны быть задействованы всех узлов в цепочке блоков биткойнов .
Чтобы вы могли отправить часть биткойна в кафе, вы должны сначала знать открытый ключ кафе (который является публичным адресом для криптовалютного кошелька кафе), а затем транслировать сообщение в сети биткойнов, чтобы другие узлы это видно.
Затем узлы или пользователи приступают к решению головоломки, поставленной протоколом, который требует от них хэширования транзакций и другой информации в блоке.
Это называется майнингом, и те, кто выполняет эту задачу, называются майнерами. Майнеры должны хранить данные хеширования (каждый раз с небольшими изменениями) до тех пор, пока не будет найдено верное решение головоломки и биткойн стоимостью 200 рупий не будет отправлен в кафе.
При поиске подходящего решения для успешной передачи биткойнов создается новый блок и генерируется вознаграждение за блок для ответственного майнера.
После того, как транзакция добавлена в цепочку блоков биткойнов, все остальные узлы могут видеть и проверять ее, а также обновлять свои копии реестра.
Недостатки PoW
Помимо Биткойна, некоторые из самых популярных криптовалют, такие как Ethereum, Dogecoin и Litecoin , используют систему консенсуса PoW. Ethereum в настоящее время находится в процессе перехода к Proof of Stake.
Хотя системы PoW обеспечивают безопасность и защищенность блокчейнов, они также имеют некоторые недостатки.
Вычислительные возможности , необходимые для решения головоломок и проверки создания блоков, имеют большое значение. Вот почему узлы или пользователи, которые хотят участвовать в сети и добывать биткойны, должны иметь мощный компьютер с современным оборудованием.
Эти мощные компьютеры потребляют большое количество энергии, что делает системы PoW очень энергоемкими.
Например, процесс создания биткойнов для хранения, обмена или расходования, как сообщается, потребляет 91 тераватт электроэнергии в год, что больше, чем Финляндия , страна с населением 5 человек.5 миллионов человек, пользуется ежегодно.
Объяснение Proof of Stake (PoS)
Из-за недостатков PoW многие новые блокчейны начинаются с системы Proof of Stake, которая является более энергоэффективной и безопасной .
Хотя и PoW, и PoS разделяют цель достижения консенсуса в цепочке блоков, процесс достижения цели отличается.
В PoS пользователи или узлы, которые хотят участвовать в сети, должны заблокировать определенную сумму собственного токена сети или криптовалюты в качестве своей доли .Размер ставки обычно определяет шансы того, что конкретный узел будет выбран в качестве следующего валидатора для создания следующего блока.
Однако, чтобы сеть не отдавала предпочтение только узлам с наивысшими ставками, реализованы уникальные и рандомизированные методы выборов. Некоторые из них включают «Выбор возраста монет» и «Рандомизированный выбор блоков».
Метод Выбор возраста монет позволяет сети выбирать узлы в зависимости от того, как долго их токены были поставлены.Возраст монет — это, по сути, количество поставленных монет, умноженное на количество дней, на которые они были поставлены.
Когда узел выбирается для проверки и создания следующего блока, его Coin Age сбрасывается до нуля , и он должен ждать, прежде чем его можно будет выбрать для создания другого блока. Это предотвращает доминирование богатых и крупных узлов в блокчейне.
Метод Randomized Block Selection — это более псевдослучайный подход, который выбирает узлы на основе низких значений хеш-функции и высоких ставок, позволяя другим узлам предсказать, какой узел, вероятно, станет следующим фальсификатором.
Преимущества PoS
В PoS узлы обычно получают комиссионных за транзакцию в виде предварительно добытой криптовалюты взамен. Это отличается от PoW, где майнеры получают вознаграждений за блоки в виде только что отчеканенной криптовалюты.
В PoS ставка удерживает узлы от проверки или создания мошеннических транзакций . Если сеть обнаруживает мошенническую транзакцию, ответственный узел теряет часть своей доли и свое право участвовать в качестве фальсификатора.
Пока задействованная ставка выше, чем потенциальное вознаграждение, узлы могут потерять больше, чем получить, если попытаются мошенничать.
PoS-системы также не требуют больших вычислительных мощностей для решения головоломок, они более энергоэффективны, доступны по цене и открыты для участия большего числа пользователей. Кроме того, поскольку новая криптовалюта обычно не создается для вознаграждения майнеров, цена монеты может оставаться более стабильной.
Cardano, Solana , Tezos , Algorand и Ethereum 2.0 (предстоящие) являются примерами блокчейнов, которые используют алгоритмы консенсуса PoS.
Флагманская конференция по технологиям стартапов и лидерству YourStory вернется практически к своему 13-му выпуску 25-30 октября 2021 года. Подпишитесь на новости TechSparks или выразите свой интерес к партнерству и возможностям выступлений здесь .
Чтобы узнать больше о TechSparks 2021, нажмите здесь .
(PDF) Новый механизм доказательства работы для биткойнов
Нин Ши Финансовые инновации (2016) 2:31 Стр. 7 из 8
3.Он также не уязвим для атаки Сибиллы.
4. Это также снижает риск атаки с удержанием блока, так как сообщение не является индивидуальным.
Детали реализации
Реализация нашего протокола требует решения как минимум двух инженерных проблем:
1. Новый дизайн головоломки. Это можно сделать, уменьшив сложность исходной задачи поиска nonce
Биткойн и установив значение
N
в соответствии с некоторым правилом в
, чтобы гарантировать постоянную скорость вывода биткойнов.
2. αcounter. Считать αi в каждом майнере — важная инженерная задача. Счетчик
должен быть достаточно умным, чтобы удалять повторяющиеся решения и сохранять все
правильных. Этот вопрос связан с первым. Дизайн задачи
может привести к различным методам подсчета.
Заключение
Экономисты (Беме и др., 2015) признают, что Биткойн может стать плодородной областью
для исследований в области социальных наук.Ученые должны ценить замкнутую среду Биткойна —
с четким набором правил (хотя и не лишенными трений), общедоступную запись
транзакций (что необычно для большинства средств обмена) и общедоступность данных
даже вне цепочки блоков (включая рыночные цены и объемы торгов). Представление о
Биткойн как о лаборатории социальных наук особенно привлекательно. Мы предложили токол pro-
, который вводит некоторые принципы социализма для снижения риска атаки 51%, а
поощряет дальнейшее участие майнеров в сети.Это исследование далек от совершенства
, и, как уже отмечалось, необходимо детализировать вопросы реализации. Тем не менее, это гарантирует будущие
исследований со стороны социологов.
Вклад авторов
Мы доказываем, что в соответствии с текущим механизмом проверки работоспособности вычислительная мощность Биткойна в конечном итоге будет централизована на
на одном узле. Мы предлагаем новый механизм доказательства работы, который улучшает децентрализацию и снижает риск злонамеренной атаки
. Все авторы прочитали и одобрили окончательную рукопись.
Конкурирующие интересы
Авторы заявили об отсутствии конкурирующих интересов.
Получено: 14 ноября 2016 г. Принято: 30 ноября 2016 г.
Ссылки
Andrychowicz M, Dziembowski S, Malinowski D, et al (2014) Безопасные многосторонние вычисления на биткойнах. В: IEEE
Симпозиум по безопасности и конфиденциальности IEEE Computer Society. С. 443–458
Бэннон С. (2016) Дао DAO. https://techcrunch.com/2016/05/16/the-tao- of-the-dao-or-how-the-
autonomous-corporation- is-already-here /.По состоянию на 16 мая 2016 г.
Beikverdi A, Song JS (2015) Тенденция централизации в распределенной сети Биткойна. В: 2015 16-я Международная конференция IEEE / ACIS
по программной инженерии, искусственному интеллекту, сетям и параллельным / распределенным вычислениям (SNPD)
Vol. 00. С. 1–6. DOI: 10.1109 / SNPD.2015.7176229
Беме Р., Кристин Н., Эдельман Б., Мур Т. (2015) Биткойн: экономика, технология и управление. J Eco Perspect
29: 213–238. DOI: 10.1257 / jep.29.2.213
Бонно Дж., Миллер А., Кларк Дж. И др. (2015) Сок: Перспективы исследования и проблемы для биткойнов и криптовалют.