что такое криптовалюта pos

Proof-of-Stake: новая бизнес-модель в 2019 году?

Многие из нас слышали, что такое Proof-of-Work & Proof-of-Stake, каковы их основные преимущества и недостатки, но давайте попробуем посчитать на реальных числах, какая разница между PoW & PoS. В этой статье мы проведем «симуляцию» майнинга двух активов: Ethereum (PoW) & Tezos (PoS), а потом подведем итоги.

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Что такое Proof-of-Work

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

Proof-of-Work предполагает обязательное выполнение трудоемких вычислений и в то же время быструю и легкую проверку результатов. Эта особенность PoW-алгоритма называется асимметрией затрат времени.

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

Идея механизма PoW появилась в 1993 году для защиты электронной почты от спама. А сам термин Proof-of-Work появился только в 1999. Впервые PoW был реализован в 1997 в проекте HashCash.

В двух словах о Proof-of-Stake

PoS является альтернативным механизмом PoW, впервые реализованным в 2012 году в криптовалюте PPCoin (переименована в PeerCoin). Идея Proof-of-Stake заключается в решении проблемы Proof-of-Work, связанной с большими тратами электроэнергии.

Теорию мы узнали, теперь перейдем к практике

Ethereum (ETH — платформа для создания децентрализованных онлайн-сервисов на базе блокчейна, работающих на базе умных контрактов.

Tezos (XTZ) — программная блокчейн-платформа, которая может меняться и адаптироваться через консенсус сообщества с минимальным нарушением сети.

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

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Мы рассмотрим основные причины, по которым мы видим столь заметную разницу между PoW и PoS.

1. Масштабирование

Виталик и Артур решили поспорить, какой алгоритм консенсуса лучше: PoW или PoS. Виталик любит Ethereum, поэтому он решил майнить его, а Артур приверженец Tezos.

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

Одновременно с этим, Артур купил себе Tezos, в котором, для участия в валидации блоков требуются только наличие монет (XTZ). Артур находит подходящий для него пул Tezos, куда он может делегировать свои XTZ. Через месяц он проверяет свой баланс и видит прирост на n-XTZ от своего изначального депозита. Артур оставляет свои токены в пуле и не выводит прибыль, потому что он знает про сложные проценты. Спустя некоторое время Виталик и Артур встречаются, чтобы сравнить, кто больше заработал. Вот что у них получилось:

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

В рамках долгосрочной стратегии обоих участников, например, 10 лет, их результат будет сильно отличаться.

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

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

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

Вторая важная деталь — это Lock-up токенов и «Киты». Например, ваша доля в пуле составляет 1%, значит, вы получаете 1% от всех наград, получаемых пулом. Но тут ваша доля резко снизилась в 2 раза! Почему?

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

Во-вторых, у меня есть 20.000$ и я решил купить XTZ, чтобы тоже принять участие в PoS, когда я отправляю токены в стейк, я размою вашу долю при распределении наград пула, тем самым снизив вашу доходность.

2. Сложности при продаже GPU

Если вы обратитесь к отчетам Nvidia и других производителей видеокарт или даже к производителю ASIC майнеров Bitmain, вы заметите: ежегодно оборудования для майнинга дешевеет на 10%-40%, в некоторых случаях, оно может и вовсе выходить из строя.

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

В случае PoS вы можете вывести актив на биржу и продать его за 15 минут! (В некоторых случаях дольше, если в протоколе существует некоторая задержка при выводе наград).

3. Убытки от падения актива несут все, но с небольшой разницей…

Когда Ethereum значительно упал в цене, его майнинг стал не просто «не прибыльным», он стал — убыточным.

Когда вы купили GPU и стали подтверждать блоки, ежемесячно вы получаете счет за электричество, и чем больше у вас GPU — тем больше счет. Именно в этот момент вы можете ощутить всю «боль» своих масштабов… По факту, ваша ферма, которая приносила вам доход. начинает «вдалбливать» вас в долги…

Если вы участник PoS, который не желает пользоваться пулом и держит полную ноду сам, то это 1 VPS на Amazon Web Services или Digital Ocean. При этом, ваши расходы всегда на одном уровне и не меняются от того, сколько у вас токенов на кошельке. Когда Tezos упадет в цене, вы будете терпеть убыток, но он будет составлять

100$, если вы арендуете достаточно мощный сервер. Я использую сервер на DO Linux c 8 ГБ RAM / 160 SSD и он стоит мне 40$ в месяц.

А что по безопасности, спросите вы…

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

Заменит ли Proof-of-Stake своего предшественника Proof-of-Work?

У меня нет ответа на этот вопрос, на данный момент мы можем только наблюдать на это со стороны. И пока что я замечаю, как PoS начинает набирать популярность, а точнее StaaS (Staking-as-a-Service), когда компания / фонд создает с нуля инфраструктурное решение (сервера, защищенные каналы связи, безопасное хранение ключей и т.д).

PoS — не панацея, он не лучше во всем PoW, любой выбор несет в себе определенный набор компромиссов.

PoW в Биткойне позволяет любому человеку отправить 1 BTC и убыть уверенным, что транзакция дойдет до получателя, а самое важное — это может сделать каждый, тем самым, PoW Биткойна создает социальную масштабируемость, но жертвует в скорости обработки транзакций.

PoS имеет более низкий уровень доверия, но он дает большую пропускную способность. (Например, Tezos обрабатывает 1 блок в 60 секунд).

В рамках данной статьи не описаны векторы атак, которые могут быть проведены на PoS, не рассматриваются варианты «захвата сети» более богатой группой и другие фундаментальные части. Эта статья нацелена объяснение того, почему proof-of-stake снижает расходы на майнинг и потенциально приносит больше прибыли, чем PoW.

В Америке (стартап Staked запустился в Нью-Йорке) стейкинг как потенциальный вид заработка на PoS-криптовалютах набирает стремительные обороты.

Напишите, почему вы считаете, что PoS будущее криптовалют? Или наоборот, почему PoS не может стать фаворитом среди алгоритмов консенсуса.

Источник

PoS майнинг: как зарабатывать деньги при минимальных усилиях?

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

Впервые идея PoS майнинга криптовалюты появилась в 2011 году. Через год ее удалось реализовать в монете PeerCoin, после чего технологию начали массово внедрять в другие монеты. Изначально такой способ добычи должен был стать дополнительным инструментом для корректной работы PoW-майнинга. Однако сегодня сфера применения алгоритма расширилась, теперь это полноценный способ заработка.

Суть PoS майнинга

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

Первая появившаяся в мире криптовалюта bitcoin использует алгоритм Proof-of-Work или «доказательство выполнения работы». Все майнеры участвуют в процессе расчёта хешей. Чем больше мощности ПК конкретного пользователя, тем выше скорость расшифровки хешей и тем выше вероятность, что пользователь получит всю сумму вознаграждения.

На практике оказалось, что в алгоритме есть уязвимость 51%. Суть ее в следующем: если один из участников сети управляет большим процентом мощностей, система всегда будет поручать работы ему. Остальные майнеры не получат ничего. Но большая проблема в том, что в процессе генерации ключа обладатель 51% мощностей сумеет использовать монеты повторно, что ослабляет веру в систему. Спрос на биткоин защищал его от такой уязвимости, тогда как менее известные криптовалюты под ударом.

Для этого создан proof of stake (подтверждение доли). В криптовалютах на основании алгоритма proof of stake создатель следующего блока определяется псевдослучайным образом. Вероятность выбора увеличивается в зависимости от его обеспеченности – сколько монет хранится в кошельке.

PoS применяется в криптовалютах на протоколе SHA256: NXT и Scrypt: Gridcoin, BlackCoin. В 2016 году создатель Эфриума заявил, что тоже планирует перейти на новый алгоритм в конце 2018 года.

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Рисунок 1. Найти подходящую валюту для POS майнинга поможет coinmarketcap

Достоинством нового алгоритма является надежность и защищенность. Ввиду особенностей структуры атака на систему PoS нерентабельна. POS майнинг – это возможность начать зарабатывать путем хранения на кошельке некой суммы монет.

Особенности PoS майнинга

Добыча отличается следующими характерными особенностями:

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

PoW и PoS майнинг: особенности и различия

Оба алгоритма лежат в основе криптовалют, поэтому их постоянно сравнивают. PoS отличается очевидными достоинствами:

Для удобства отличия алгоритмов PoS и PoW майнинга собраны в таблице:

Критерий

Как получить вознаграждение

Купить монеты и хранить на балансе

Использовать вычислительные мощности ПК

Какое оборудование используется

Процессор, видеокарта, специализированные ASIC

Какие расходы несет майнер

На инвестиции в монету

На сборку фермы и поддержание ее работоспособности

Уязвимость к атаке 51% и централизация

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

Чтобы контролировать сеть, нужно не 51% токенов, а вычислительных мощностей

PoS майнинг выглядит более привлекательным и экономически целесообразным. У его конкурента PoW майнинга есть ряд недостатков:

Более продвинутым считается гибридный pos и pow майнинг, в котором реализованы оба алгоритма. В процессе добычи ищутся блоки PoW и PoS, что позволяет увеличить доходность. Яркий представитель – криптовалюта Komodo, состоянием на декабрь 2018 года находящаяся на 57 месте по показателю капитализации.

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Рисунок 2. Криптовалюта работает на гибриде PoS и PoW

В ближайшем будущем PoW добыча станет слишком невыгодной на первое место выйдет PoS майнинг. У валют на этом протоколе большое будущее.

Облачный PoS майнинг

Чтобы добыча шла непрерывно, владельцу кошелька требуется обеспечить постоянное и стабильное соединение с сервером. На счету кошелька следует хранить достаточную сумму, чтобы доходность была стабильно высокой. Чтобы не пришлось обеспечивать стабильный онлайн, есть выход – pos майнинг cardano или любой другой монеты в облаке.

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

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

Как заработать

Работать можно в одиночку или пользуясь пулом, где несколько майнеров объединяют капитал с целью заработать большую награду. Для начала рекомендуется использовать калькулятор pos майнинга, и вычислить доходность такого вложения. Например, сервис https://www.crypto-coinz.net/master-node-calculator/

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Рисунок 3. Удобно сортировать монеты по дневной и годовой прибыли

Соло-майнинг включает несколько этапов:

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Рисунок 4. На сайте выбранной монеты есть вся важная для майнера информация

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

Какие монеты выбрать для PoS майнинга

Основные критерии, как выбрать монету для PoS майнинга:

Монеты с PoS майнингом легко найти среди развивающихся проектов. Среди популярных сегодня: Cardano, Pivx (форк популярной Dash), NAV Coin, Stratis, а также Reddcoin.

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Рисунок 5. Покупка Cardano для PoS майнинга на бирже binance

Создатели LEO, OKCash, Diamond и ClubCoin гарантируют доходность на уровне 20% годовых, создатели Nova коин обещают прибыль 100% благодаря капитализации свыше 8,5 млн. долларов. Заявленная прибыльность торгующейся на 4 биржах HyperStake достигает рекордных 750% годовых. Криптовалюту Quotient с профитом 1600% получится найти только на YoBit. Среди менее популярных вариантов Lisk, BlackCoin, CoinMagi, Stratis, Mintcoin, ZEIT и другие со средним профитом 5-10% годовых.

Невозможно по алгоритму PoS добывать:

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

Прибыльность

Если для примера выполнить расчет прибыли от монеты с гарантированной доходностью 10% годовых, то при покупке 1000 монет через год получится заработать всего 1010 монет – это при условии, что стоимость криптовалюты не упала.

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

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

Источник

Proof-of-Stake: взгляд изнутри

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

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

Эта статья будет полезной всем разработчикам, кто уже столкнулся с уязвимостями PoS или кому всё ещё только предстоит.

Ужасаемся под катом.

Крупица истории

Алгоритм PoS прошёл несколько стадий развития, кто-то даёт им версии. Сейчас варианты PoS разделились по естественным причинам, появился DPoS. Одним из самых передовых решений является протокол Casper в Ethereum.

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

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

Зачем?

Экономия электроэнергии примерно так же важна разработчикам и держателям монет как ограничение выбросов парниковых газов для производителей и потребителей. Жестокая правда в другом:

На живом примере: в ноябре-декабре 2018 были попытки атак; потом в декабре-феврале был ажиотаж как на самую доходную монету для майнинга на видеокартах; курс просел с 2+ до 0.5 USD; после перехода на PoS, курс поднялся до 1 USD уже через неделю и приток инвестиций усилился.

Технические моменты

Внимание: в данном разрезе речь идёт именно о «традиционном» PoS в том виде, как он есть в Peercoin, PIVX и их форках.

Надо понимать, что отсутствует какая-либо централизация и учёт «очков». В данном варианте работает всё тот же принцип удачи как и в PoW.

1. Терминология

Терминология относительно общая, но в различных реализация свои нюансы:

2. Анатомия

2.1. Время блока:

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

Нижним всегда задаётся среднее время блоков за последние N блоков, обычно за 11. Это допуск на неточность времени на генерирующих узлах.

Исторический верхний предел был задан для PoW пальцем в небо в 2 часа. Увеличение интервалов уменьшает сложность и делает ветку менее привлекательной — поэтому нет смысла. Зато для PoS смысл есть.

PIVX и другие ограничивают время в будущем в максимум 3 минуты. Некоторые ставят более жёсткое ограничение, но это создаёт проблемы у пользователей. Некоторые реализации PoS решили изменить минимальные интервалы Current Block Time с одной секунды до 15-16 секунд.

2.2. Stake Modifier:

Stake Modifier задумывался как средство для затруднения предсказания и строительства цепи наперёд, но что-то пошло не так.

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

В оригинале берётся промежуток в 64 интервала. Этот промежуток прогрессивно делится на 64 неравные части. Границы округляются к минутам. По границам выбираются существующие блоки и с них берётся по одному последнему биту. Так получается число в 64-бита, чем-то похожее на Nonce.

Интервал в Peercon 20 минут, но ребята из PIVX решили что интервал в 1 минуту, округлённый до минуты — это то, что доктор прописал.

В общем, в некоторых реализациях типа Blackcoin V2+ всё исправлено и Stake Modifier считается от головы, а в Peercoin V03, PIVX, Blackcoin V1 и других от блока Stake Input. Последнее почти полностью уничтожает смысл. Есть предположение что путаница пошла из-за банальной проблемы именования переменных, дальнейших метаморфоз и бездумной копипасты. И сам автор достаточно поздно обнаружил проблему пока всё внимание было сконцентрировано на защите от DoS. Не попадитесь!

2.3. Подпись блока

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

2.4. Скрипт выхода CoinBase и CoinStake

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

2.5 Что и куда?

Есть разные вариации как распоряжаются с суммами в CoinBase и CoinStake. Логика и мотивация в конкретном случае:

3. Полные блоки против заголовков

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

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

С PoS такой подход не работает, т.к. для проверки блоков требуется обработать полные предыдущие блоки хотя бы до границы минимального возраста Stake. Просмотренные автором реализации не стали извращаться, а просто отказались от работы с заголовками.

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

К слову, стандартный клиент Bitcoin и его форки достаточно долго набирают минимальное стандартное количество исходящих соединений в 8 штук, если какие-то из них срываются по различным причинам. Это было решено асинхронными исходящими соединениями.

4. Форки, сплиты и орфаны

При конкуренции создания блоков, альтернативные цепи в 1-2 звена являются относительно обычным явлением. Более длинные форки в развитых сетях естественным путём происходят только при эпичных сбоях в консенсусе из-за ошибки программирования или глобального разрыва интернета.

Даже при наличии разделения, обычно нет угрозы целостности обработки транзакций, т.к. при отсоединении блоков все транзакции попадают обратно в mempool и включаются уже в другие блоки. Mempool — это временное хранилище транзакций после их создания. Сам mempool сохраняется на диск в последних версиях. Награда же за блок уничтожается. Именно поэтому для наград устанавливается минимальное количество подтверждений (глубина).

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

Главная атака 51% для PoW уже описана выше — она крайне ресурсоёмка, а вот для PoS она становится относительно доступна. По этой причине становится технически возможным плодить множество ветвей из различных звеньев цепи. Одно из классических решений — это запрещать форки ниже определённой глубины.

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

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

При целевом интервале блоков в 1 минуту, критерий старого форк был выбран в 1 час, что примерно соответствует 60% подтверждений CoinBase, а критерий молодости макушки в 15 минут — в 3+ раза выше максимального статистического запаздывания блока.

5. Хеш блока и сплиты

В PoW хеш блока полностью покрывает все данные. Он же используется для проверки относительно цели. В PoS, Stake Hash является отдельным значением, т.к. необходимо исключить возможность его подбора. Это открывает основную угрозу — возможность плодить неограниченное количество различных версий блока на основе одного и того же совпавшего Stake, которыми легко зафлудить и положить сеть или её отдельные узлы.

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

Ещё более фатально возможно это усугубить DoS-баном, что разделит не только цепи, но и саму сеть на разные сегменты.

Возникают и другие проблемы — невозможность использовать Stake из отброшенного блока.

Поэтому в качестве наиболее безопасного решения был выбран метод дросселя — один и тот же Stake может использоваться не более одного раза в минуту. Логика проста: атака может длиться только в интервале 1 часа (см. старый форк выше), за который возможно зафлудить не более 60 блоков. В лучшем случае, на следующем блоке сеть уже перейдёт на единую цепь. В худшем случае при непрерывной атаке это произойдёт через час. Вероятность самого худшего случая — нахождения нескольких блоков подряд, тает в геометрической прогрессии.

Всё равно остаются некоторые моменты, при которых узлы уязвимы к умеренному флуду до момента полной синхронизации.

6. Минимальный возраст

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

Как было упомянуто ранее, локальный узел должен обработать все блоки до временной границы возраста чтобы иметь возможность проверить что Stake Input а) имеет место быть b) действительно является UTXO и не был потрачен.

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

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

Слишком большая планка для возрастного ценза UTXO негативно сказывается на пользователях, которые хотят потратить или объединить часть своих монет.

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

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

7. Что лучше N UTXO по минимальной сумме или один UTXO с N суммой?

Здесь сама напрашивается аналогия: что лучше одна пушка с точностью 0.9 или три пушки с точностью 0.3, но при вероятностях порядка 1/2^20 результаты таких расчётов казалось бы нивелируются. Немного карты спутывает ценз зрелости.

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

В данный момент на основе практических экспериментов и теоретических расчётов, сгруппированные в большие UTXO суммы приносят больше блоков. Вдобавок, меньшее количество UTXO требует меньше работы CPU. Кто-то утверждает и обратное.

Поэтому думайте сами.

8. Забегание блоков вперёд

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

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

Таким путём сеть защищается и от гипотетических преждевременно отосланных блоков, Stake Input которых невозможно использовать в ближайшие 60 секунд с таким же Stake Modifier’ом из-за DoS-защиты. Как бы двойное наказание за жульничество со временем.

9. Небольшой чеклист

что такое криптовалюта pos. Смотреть фото что такое криптовалюта pos. Смотреть картинку что такое криптовалюта pos. Картинка про что такое криптовалюта pos. Фото что такое криптовалюта pos

Внедрение в жизнь

Теперь немного о реальной истории. Первые полгода mainnet прекрасно работал на PoW и давление от майнеров не сильно ощущалось, не смотря на то, что маркетинг изначально пытался продавить PoS, предвидя возможные проблемы по своему опыту. PoS был запланирован при переходе на платформу Ethereum после внедрения Casper’а.

Официальный GPU майнер был доведён до ума и даже чем-то превосходил своего донора — ethminer’а. Был сделан официальный пул и несколько сторонних с общим хешрейтом 150-200 GH (ethash). В какой-то момент цена стремительна пошла вверх давление от майнеров стало ощутимым и вопрос досрочного перехода на PoS встал ребром.

В качестве донора была установка взять PoS ядро из PIVX 2.x как «проверенного временем и стабильного». Отсутствие каких-либо автоматических тестов в PIVX должно было насторожить автора сразу, но не тем менее основная головная боль заключалась в необходимости прикрутить всё остальное, описанное выше. Лишь потом автор узнал о всей той боли разработчиков, которые по неосмотрительности брали PIVX 2.x за основу своих проектов. Благо сам проект основывался на Dash и был благополучно обновлён до последней версии ветки 0.12 с множеством изменений из основного Bitcoin’а.

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

Подготовительные работы

Документация

Найти достаточно вменяемую документацию оказалось сложно. В основном это были обрывистые неполные материалы уровня постов на форуме. Поэтому внутренний whitepaper скорее стал продуктом реверс-инженерии.

Первое приближение

В изначальном варианте были перенесены все изменения PoS из PIVX с учётом более новой базовой версии Bitcoin/Dash. Некоторые изменения вроде индикатора CoinStake и сохранения последнего бита хеша в отдельном поле показались чрезмерными. Поэтому было решено максимально сузить PoS логику до отдельного модуля.

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

Динамичные чекпойнты

Первое и главное что вы захотите в своих проектах — это чтобы действительно надёжно работали чекпойнты. Лишь некоторые из проблем:

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

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

Переход на PoS не должен быть жёстко зашит

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

Новая версия протокола

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

Публичное тестирование

Более одной недели добровольцы мучили testnet, но благо проблем консенсуса не было выявлено.

Для testnet был установлен ценз возраста в 3 минуты вместо 1 часа для mainnet, что подтвердило предположение о необходимости достаточно большого значения.

Калькулятор доходности

В отличии от PoW хешрейта, с PoS казалось бы сложно сделать какую-то аппроксимацию, но использование миллионных долей монеты как бы само намекает на делитель 1e6 для стандартных приближений по методологии для PoW.

На основе этих данных возможно вычислить среднее время между нахождением блоков. По опыту mainnet оказалось что к нему следует добавить возрастной ценз для Stake Input.

На основе такого уточнённого времени выходят более корректные прогнозы по доходности.

Переход на PoS в жизни

За сутки до часа X был установлен spork с номером первого PoS блока. Из-за ухода майнеров и нестабильности в сложности сети, блок пришёл на два часа раньше.

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

Изначально сформировалось несколько активных цепей, но сеть сама пришла к консенсусу, который был подкреплён динамическими чекпойнтами.

Ложка дёгтя

Обнаруженный после запуска недосмотр в Stake Modifier немного огорчил. Вышла ещё более кривая калька с кривой кальки. С другой стороны PIVX ведь как-то живёт… Безусловно, это необходимо было бы исправить, если бы не переход на кодовую базу Ethereum, чего и всем желается.

Заключение

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *