Coin Lab

0 873 0
О наградах за майнинг

Тема централизации майнинга является очень важной на протяжении нескольких прошедших недель. GHASH.io, крупнейший майнинг пул Bitcoin сети,  за прошлый месяц направил более 40% хэш-энергии bitcoin-сети, а две недели назад эта цифра резко повысилась до 50%, теоретически предоставив монопольный контроль над сетью  Bitcoin. Хотя майнеры быстро покинули пул и сократили хэш-энергию до 35%, ясно, что данная проблема осталась нерешенной. В то же время,  ASIC угрожает дальнейшей централизацией самого производства. Одним из подходов к решению проблемы является  тот, который я защищал в предыдущей публикации: создать алгоритм майнинга, который гарантированно останется  CPU-ориентированным на длительный срок. Другой подход, тем не менее, подразумевает полный отказ от майнинга, и замену его на новую модель поиска консенсуса.  

Вторым крупным претендентом на сегодняшний день является стратегия под названием “proof of stake”(«подтверждение доли»), восприятие которой заключается в следующем. В традиционном блокчейне «proof-of-work» («доказательство работы»), майнеры «голосуют» за  определенные транзакции и определенное время при помощи своей CPU -энергии, и чем больше ваша CPU –энергия, тем больше ваше влияние.   В модели «proof-of-stake», система следует похожей, но все же другой парадигме: участники голосуют при помощи своих долларов (или внутренней валюты определенной системы).  Если описать, как это работает технически, простейшей настройкой будет модель под названием «смоделированный комплект майнинга»( “simulated mining rig”): по существу, каждый аккаунт имеет определенный шанс в секунду для генерирования действующего блока, совсем как часть оборудования для майнинга, и этот шанс пропорционален балансу аккаунта.  Простейшая формула для обозначения этого:

SHA256(prevhash + address + timestamp) <= 2^256 * balance / diff

prevhash  — это хэш предыдущего блока, address  — адрес игрока-майнера, timestamp  — текущее время в секундах в эпохе Unix, balance – это баланс аккаунта игрока-майнера, а diff  — это изменяемый параметр глобальной сложности.  Если данный аккаунт соответствует данной формуле в каждую отдельную секунду, он может произвести действующий блок, предоставляющий данному аккаунту вознаграждение за блок.
Другой подход подразумевает использование не баланса, а «возраста монеты» (т.е., баланса, умноженного на количество времени, в течение которого  монеты оставались неприкосновенными), как решающего фактор; это гарантирует больше откликов, за счет потенциально более простых согласованных атак, т.к. атакующие имеют возможность аккумулировать возраст монты, и  возможную супер-линейность; по этим причинам я предпочитаю в большинстве случаев простой, основанный на балансе, подход, и мы будем использовать его в качестве основной линии в дальнейшем обсуждении.
Предлагаются также другие решения для модели “proof of X”, включающие в себя высокое качество, производительность, хранение и идентификацию, но ни одна из них не является удобной в качестве алгоритма консенсуса; скорее, все эти системы имеют много  характеристик, аналогичных модели  «proof of stake», и т.о. наилучшим образом могут применяться косвенно – делая их чисто механизмами для распределения валюты, и затем используя модель «proof of stake» для этих распределенных монет для фактического консенсуса. Единственным исключением является, возможно,  основанный на теории социальных профилей Ripple, хотя многие сторонники криптовалюты считают такие системы слишком зависимыми от доверия, чтобы считаться действительно «децентрализованными»; данный вопрос можно обсудить, но лучше сконцентрироваться на теме в свое время, т.о., мы сосредоточимся на долях.

Сильные и слабые стороны

Если применить это правильно, в теории «proof of stake» имеется много преимуществ. Особенно можно выделить три:

  1. Нет значительного потребления электричества. Естественно, участникам необходимо продолжать пытаться производить блоки, но никто не получает выгоды от осуществления более  одной попытки с аккаунта в секунду; отсюда,  потребление электричества можно сравнить с любым  нетрудоемким интернет протоколом (например, BitTorrent)
  2. Бесспорно, данная модель может обеспечить более высокий уровень защиты. В модели «proof of work», принимая, что рынок ликвидности производительности компьютера стоимостью выпуска атаки 51% равна стоимости производительности компьютера сети в течение двухчасового периода – количество, которое, согласно стандартным экономическим принципам, примерно равно общей сумме наград за блоки и плат за транзакции, проведенные за два часа.  В модели «proof of stake», порог теоретически гораздо выше: 51% всего поступления валюты.
  3. В зависимости от точного алгоритма, о котором идет речь, он может в перспективе позволить более быстрые блокчейны (например, NXT имеет один блок каждые несколько секунд, по сравнению с одним в минуту для Ethereum и одним в десять минут для Bitcoin)

Помните, что существует один важный контраргумент, который был создан для  №2: если крупный субъект реально совершает покупку 51% валютных единиц, а затем использует данные средства для повторяющихся диверсий в сети, то цена  существенно упадет, что облегчит покупку токенов (символов) данному субъекту. Это некоторым образом уменьшает выгоду ставки, хотя не до конца; субъект, который может реально купить 50% монет, вероятнее всего, является тем, кто может запустить атаку 51% , направленную против модели «proof of work».
Тем не менее, при использовании исходного алгоритма «proof of stake», описанного выше,  возникает серьезная проблема: как ее описывают некоторые разработчики Bitcoin, «в доле ничего нет».  Это означает следующее: в контексте блокчейна «proof-of-work», при наличии случайной ветви, или попытки намеренного перенаправления транзакции («двойной траты») , и существования двух конкурирующих веток блокчейна, майнерам приходится выбирать, в какой из них они будут участвовать. Они могут сделать три выбора:

  1. Не майнить ни в каком чейне и не получить никаких наград
  2. Майнить в чейне А и получить награду, если победит чейн А
  3. Майнить в чейне В и получить награду, если победит чейн В

Как я комментировал в предыдущей публикации, здесь нужно обратить  внимание на удивительную схожесть SchellingCoin/Truthcoin: вы побеждаете, если вы соглашаетесь со всеми, за исключением того, что в этом случае голосование зависит от порядка транзакций, а не их количества (как в SchellingCoin) или это двоичные данные (как в TruthCoin). Программа направлена на поддержку чейна, который поддерживают все, форсируя быструю сходимость, и предотвращая успешные атаки, при условии, что, по меньшей мере, 51% сети не находится в сговоре.
В исходном алгоритме «proof of stake», с другой стороны, выбор заключается  в голосовании или не голосовании за А,  и голосовании или не голосовании за В; отсюда, оптимальной стратегией является майнить в любой ветке, которую вы можете обнаружить. Т.о., чтобы запустить успешную атаку, злоумышленнику необходимо только превосходство всех альтруистов, желающих голосовать за правильный чейн.
Проблема, к сожалению,  является фундаментальной. Модель «proof of work» хороша, т.к. обладание подтверждением хэша позволяет сети иметь представление о происходящем за ее пределами —  а именно, производительности компьютера, и это выполняет роль некоего якоря, обеспечивающего некоторую стабильность. В исходной системе «proof of stake», однако, единственной вещью, которую знает каждый чейн, является он сам; отсюда, можно интуитивно увидеть, что это делает такие системы более хрупкими и менее стабильными.  Тем не менее, вышеописанное является чисто интуитивным аргументом; это, без сомнения, математическое доказательство того, что система «proof-of-stake» не может быть стимулирующей и безопасной, и все же существует ряд потенциальных способов обойти эту проблему.
Именно первая стратегия применяется в алгоритме Slasher, и это зависит от простого понимания: хотя, в случае ветки, чейнам ничего не известно за пределами мира, они знают только друг о друге.  Отсюда, способ, при помощи которого протокол предотвращает двойной майнинг, заключается в следующем: если вы майните блок, награда фиксируется за 1000 блоков, а если вы также майните в каком-либо другом чейне, то любой может отправить блок из другого чейна в оригинальный чейн, чтобы украсть награду за майнинг.   Имейте  в виду, что, тем не менее, все не так просто, и есть одна ловушка: майнеров следует знать заранее. Проблема в том, что если представленный выше алгоритм используется напрямую, то возникает вопрос того, что используя стратегию вероятности, становится очень легко скрыть двойной майнинг.
needforpreselection

Проблема в следующем: предположим, вы имеете 1% доли, и т.о. каждый блок – это 1% шанс, что вы сможете произвести (здесь и далее «подписать») его.  Теперь, предположим, что существует ветвь между чейном А и чейном В, где чейн А является «правильным» чейном.  «Честная» стратегия – попытаться сгенерировать блоки прямо в А, получая ожидаемые 0.01 A-коины за блок. Альтернативной стратегией будет, однако, попытаться сгенерировать блоки как в А, так и в В,  и если вы найдете блок одновременно в обоих чейнах, то В отвергается. Выплата за блок составит одну А-коин, если вам повезло  в чейне А A (шанс 0.99%), и один В-коин, если вам повезло в чейне В (шанс 0.99%) , или один А-коин, и нисколько В-коинов, если вам повезло в обоих чейнах; отсюда, ожидаемая выплата составит 0.01 A-коинов плюс 0.0099 B-коинов, если вы голосовали дважды.  Если участники, которым необходимо подписать определенный блок, выбраны заранее, тем не менее (т.е. специально, определены до начала ветви), то это исключает возможность голосования только в А, но не в В; либо вы имеете возможность голосования в обоих блокчейнах, либо ни в одном. Отсюда, «нечестная» стратегия просто распадается, превратившись в то же самое, чем является  «честная» стратегия.

Проблема выбора подписывающего блоки

Но в случае, если подписывающие блоков выбираются заранее, возникает другая проблема: если что-то сделано неверно, подписывающие блоков могут «майнить» свои  блоки, постоянно пытаясь создать блок с различными случайными данными до тех пор, пока финальный блок не сообщит о том, что этот же подписывающий будет иметь привилегию создавать блок снова очень скоро. Например, если подписывающий блока N+1000 был просто выбран из хэша блока N, а атакующий имел долю в  1%, то атакующий может продолжать перестраивать блок, пока блок N+1000 тоже не будет иметь атакующего в качестве своего подписывающего (т.е., ожидаемые 100 циклов). С течением времени, атакующий естественным образом получит привилегию подписи других блоков, и это в конечном итоге приведет к его полному контролю блокчейна с длиной в 1000 циклов.  Даже если используется  хэш из 100 блоков, собранных вместе, возможно манипулировать значением. Т.о., возникает вопрос, как мы определим, какими должны быть подписывающие будущих блоков?
tworound

Решение, используемое в Slasher  — заключается в применении безопасного децентрализованного протокола генерирования случайного числа: многие стороны входят, первые направляют в блокчейн хэши своих значений, а затем отправляют свои значения.  В данном случае нет возможности для манипуляций, т.к. каждый отправитель обязан отправить во втором раунде значение, хэш которого он предоставил в первом раунде, а в первом раунде никто не имеет достаточно информации для того, чтобы провести какие-либо манипуляции. У игрока все еще есть выбор, участвовать  или не участвовать во втором раунде, но двумя точками  равновесия являются  (1) это только одна часть свободы, хотя она становится больше для крупных майнеров, которые могут контролировать множественные аккаунты, и  (2) мы можем установить правило, что неудачная попытка участия приводит к потере чьей-либо привилегии майнинга (майнеры в раунде N выбирают майнеров для раунда N+1 во время раунда  N-1, т.о., существует возможность сделать это, если определенные майнеры раунда N неправильно ведут себя на этапе выбора).
stake_low_influence

Другой идеей, предложенной Иддо Бентов и другими в их публикации «Криптовалюты без Proof of work», является использование чего-то, называемого функцией «низкого влияния» (LIF) — по сути своей функция состоит в том, что имеется очень маленький  шанс того, что один игрок сможет изменить результат путем изменения  входных данных.  Простым примером функции LIF в  маленьких наборах является правило большинства; здесь, т.к. мы пытаемся  подобрать случайного майнера, у нас имеется довольно большой набор опций для выбора, т.о., применяется  правило большинства за бит (например, если у вас есть 500 сторон, и вы хотите подобрать случайного майнера из миллиарда, разделите их на тридцать групп из 17, и заставьте каждую группе голосовать по вопросу, является ли из бит нулевым или единичным , в затем перекомбинируйте биты, как бинарное число в конце). Это устраняет необходимость в сложном двухэтапном протоколе, позволяя в перспективе делать это гораздо быстрее и даже параллельно, сокращая риск того, что предварительно выбранные stake-майнеры для какого-то определенного блока объединятся и сговорятся между собой.
Третьей интересной стратегией, применяемой NXT,  является использование адресов stake-майнеров блоков N и N+1 для выбора майнера для блока N+2; это по определению предоставляет  только один выбор для следующего майнера в каждом блоке.  Добавив критерий, что каждого майнера необходимо ограничивать  на 1440 блоков, чтобы предотвратить отправку транзакций в форме двойного майнинга. Тем не менее, обладание таким быстрым выбором  stake-майнера, также  компрометирует  качество сопротивления  nothing-at-stake , благодаря вероятности проблемы двойного майнинга;  именно это является причиной, почему умные схемы, позволяющие очень быстрое определение майнера, являются в конечном итоге, по достижению определенной точки, нежелательными.

Долгосрочные атаки

Хотя подход Slasher действительно эффективно решает проблему «nothing-at-stake»  для  традиционных атак 51%, проблема возникает в случае так называемое «долгосрочной атаки»  (“long-range attack”): вместо того, чтобы начать майнить с десяти блоков перед текущим блокм, атакующий стартует десять тысяч блоков назад.  В контексте «proof-of-work» это глупо; это означает проделать в тысячи раз больше работы, необходимой для запуска атаки.  Здесь, тем не менее, создание блока является численно практически бесплатным, т.о. это разумная стратегия.   Причина, по которой это работает, в том, что процесс  Slasher для наказания мульти-майнинга распространяется только на 1000 блоков,  и ее процесс для определения новых майнеров длится 3000 блоков, т.о. за «рамками» этого,  Slasher функционирует в точности как исходный коин «proof-of-stake». Помните, что Slasher все еще нуждается в значительном усовершенствовании; в действительности, при условии, что пользователи никогда не изменятся, его можно сделать полностью безопасным, предоставляя правило для каждого клиента не принимать ветви, уходящие назад более чем на 1000 блоков. Тем не менее, возникает проблема, что случится, если появится новый пользователь.
Когда новый пользователь загружает клиента  «proof-of-stake-coin» впервые, он видит множественные версии блокчейна:  наиболее длинная, и, следовательно,  наиболее законная ветвь,  и многие самозванцы пытаются майнить собственные чейны с самого начала.  Как описано выше, чейны « proof-of-stake»  являются полностью соотносящимися с самими собой; следовательно, клиент, видящий все эти чейны не имеет представления о каком-либо окружающем контексте, например, какой чейн придет первым или какой является более ценным ( помните: в смешанной системе «proof-of-stake» плюс  «social graph», пользователь получает начальные данные блокчейна от доверяемого источника; данный подход разумен, но не является полностью децентрализованным).  Единственная вещь, которую может видеть клиент, это размещения в оригинальном блоке, и все транзакции с этого места.  Т.о., все «чистые» системы «proof-of-stake» в конечном итоге являются  постоянным сословием, где члены размещения оригинального блока всегда имеют финальный голос.  Не важно, что случится через десять миллионов блоков по пути вниз, члены оригинального блока всегда идут вместе и запускают альтернативную ветку с альтернативной историей транзакций и заменяют данную ветвь.

Если вы это понимаете, и вас устраивает в качестве концепции модель « proof of stake» (особая причина, почему вас все еще это может устраивать, это то, что если первоначальный выпуск сделан правильно, «сословие»  должно быть достаточно большим, чтобы была возможность сговора на практике), то понимание позволяет более изобретательные направления в условиях того, как может работать  «proof of stake».  Простейшей идеей будет заставить членов оригинального блока голосовать в каждом блоке,  где двойной майнинг наказывается постоянной потерей мощности голосования.   Помните, что эта система фактически полностью решает проблемы «nothing-at-stake», т.к. держатель каждого оригинального блока имеет привилегию майнинга, имеющую значение навсегда в будущем, т.о. двойной майнинг теряет смысл. Эта система, однако, имеет ограниченный жизненный цикл – точнее, максимальный жизненный (и полезный) цикл производителей генезиса, и он также дает сословию постоянную привилегию получения прибыли, а не просто права голоса; тем не менее, несмотря на то, что существование алгоритма вселяет надежды, т.к. он предлагает, что  долгосрочные  проблемы  «nothing-at-stake» можно полностью решить.  Т.о., задачей является найти способ, который поможет убедиться, что привилегии голосования трансформируются , одновременно поддерживая безопасность..

Изменение мотивации

Другой подход решения вопроса «nothing-at-stake»  рассматривает проблему с совершенно другого ракурса.  Основной проблемой является, в исходном «proof-of-stake», то, что разумные люди будут голосовать дважды.  Решения, подобные Slasher, все пытаются решить проблему, сделав двойное голосование невозможным, или, по крайней мере, строго наказывая такую стратегию.  Но что если существует другой подход; в особенности, что если мы вместо этого удалим для этого мотивацию? Во всех «proof of stake», которые я описал выше, мотивация очевидна, и, к сожалению, фундаментальна: т.к. кто бы ни производил блоки, ему необходима мотивация для участия в процессе, они получают выгоду, если включают блок в как можно большее число веток. Решение этой задачи появляется из творческого, нестандартного предложения Даниэля Ларимера: транзакции как  «proof of stake».
Основная идея, лежащая в основе транзакций в качестве « proof-of-stake» проста: вместо  того, чтобы осуществлять майнинг отдельным классом людей, владельцами компьютерного оборудования либо игроками, майнинг и отправление транзакций сливаются воедино.    Исходный алгоритм  TaPoS выглядит следующим образом:

  1. Каждая транзакция должна содержать ссылку (т.е. хэш) на предыдущую транзакцию
  2. Вероятное состояние «state-of-the-system» получается при вычислении результата чейна финальной транзакции
  3. Правильный чейн среди множественных кандидатов – это тот, который имеет либо (i) самый длинный «coin-days-destroyed» («потраченный монето-день» (т.е., количество монет в аккаунте* время, прошедшее с последнего входа) , или (ii) самые высокие платы за транзакцию (это две отдельные опции, которые мы обсудим отдельно)

Данный алгоритм является очень не масштабируемым, разбиваясь после примерно 1 транзакции за 2-5 секунд, и это не то, что предлагает Лаример или что будет использоваться в действительности;  скорее всего, это просто доказательство концепции, которое мы проанализируем, чтобы увидеть, является ли вообще данный подход валидным.  В данном случае, существуют способы оптимизации этого.

Сейчас давайте рассмотри, что представляют собой экономики. Предположим, что существует ветвь, и есть две конкурирующие версии чейна TaPoS. Вы, как отправитель транзакции, провели транзакцию в чейне А, и сейчас приближается чейн В. Есть ли у вас мотивация проводить двойной майнинг и включать свою транзакцию также и в чейн В?  Ответ отрицательный – в действительности. Фактически вы хотите двойных расходов от вашего получателя, т.о. вы не поместите транзакцию в другой чейн.  Данный аргумент особенно активен в случае долгосрочных атак, когда вы уже получили свой продукт в обмен на финансы; в короткий период. Конечно, все еще есть мотивация убедиться, что транзакция отправлена, т.о. отправители на самом деле имеют стимул  для двойного майнинга; тем не менее, из-за строгого ограничения по времени, это можно решить при помощи механизма, подобного Slasher.
Возникает вопрос: при условии присутствия ветвей, насколько просто будет поразить систему? Если, к примеру,  существует ветка, и определенный субъект хочет двойных расходов, при каких обстоятельствах это будет возможным? В версии с платами за транзакции, требования очень просты: вам необходимо потратить больше плат за транзакции  (txfees), чем остальная сеть. Это кажется неэффективным, но в действительности это не так; мы знаем, что в случае с биткоином, как только валюта останавливает рост, майнинг полагается только на платы за транзакции, и механизмы являются в точности аналогичными ( т.к. сумма, которую потратит сеть на майнинг, будет примерно соответствовать общему количеству отправленных плат за транзакции; отсюда, основанная на платах система TaPoS в этом отношении является, по крайней мере, такой же безопасной  как майнинг PoW на основе комиссий. В этом втором случае, у нас имеется другая модель: вместо майнинга своими коинами, вы майните своей ликвидностью. Каждый может осуществить атаку 51% против системы, если и только если они имеют большое количество потраченных монето-дней. Отсюда, стоимость расходов на большую плату за транзакцию после этого замещается стоимостью  пожертвования ликвидности до этого события.

Стоимость ликвидности

Обсуждения вопроса ликвидности ведут к другому важному философскому вопросу: безопасность не может быть бесплатной. В любой системе, где существует награда за блоки,  есть вещь, необходимая для награды (не важно,  будет ли это CPU, stake, или что-то еще) , и она не может быть бесплатной, т.к. в противном случае все будут бесконечно претендовать на награду, и в  системе TaPoS отправителям транзакций  необходимо обеспечить некторую плату для подтверждения безопасности. В дальнейшем, какй бы ресурс не использовался в основе защиты, будь это CPU, пожертвования валюты или пожертвования ликвидности, атакующим понадобится только добыть такое же количество ресурсов, как остальная сеть. Помните, что в случае жертвования ликвидности (что представляет собой исходная модель « proof of stake»), соответствующее количество здесь в действительности не 50% монет, а, скорее, привилегия доступа к 50% монет в течение нескольких часов – сервис, который, учитывая  совершенно эффективный рынок – может стоить нескольких сотен тысяч долларов.
liquidity

Решение данной задачи является то, что маржинальная стоимость – не одно и то же со средней стоимостью.  В случае системы  «proof of work»,  это так действует только в ограниченных пределах; хотя майнеры действительно получают  положительную ненулевую прибыль от майнинга, все они оплачивают высокую стоимость (если только они не майнеры CPU, но даже в этом случае существуют значительные потери эффективности). В случае пожертвования валют каждый платит одинаковую сумму, но платеж перераспределяется на дивиденды для других участников, и данная прибыль является слишком рассеянной, чтобы покрываться рыночными механизмами;   т.о., хотя система является в перспективе локального применения, она является бесплатной в глобальной перспективе.
Последняя опция, пожертвование ликвидности, находится между двумя. Хотя пожертвование ликвидности дорогостояще, существует значительное несоответствие  относительно того, как люди оценивают ликвидность. Некоторые люди, например индивидуальные пользователи или организации с небольшими сбережениями оценивают ликвидность высоко; другие, например,  вкладчики, не ценят ликвидность совсем (например, я не могу думать об этом, пока я не потеряю возможность тратить десять из моих биткоинов в течение какого-то периода). Отсюда, хотя маржинальная стоимость ликвидности будет высока (точнее, обязательно равна либо награде за майнинг, либо  комиссии за транзакцию), средняя стоимость будет намного ниже. Следовательно, существует  эффект влияния привлеченных средств, позволяющий сделать стоимость атаки гораздо выше, чем неэффективность сети, или сумму, которую отправители тратят на комиссионные за транзакции.  Дополнительно, помните, что в схеме Ларимера особенно, все обстоит так, как будто вся ликвидность, пожертвованная  в консенсус, это ликвидность, которая должна была быть пожертвована в любом случае (а именно, не отправляя монеты ранее), т.о. практический уровень неэффективности равен нулю.

Сейчас, система TaPoS действительно имеет такие проблемы. Во-первых, если мы попытаемся сделать ее более масштабируемой, внеся поправку в концепцию блоков, то в идеале появится необходимость в какой-то причине для производства блоков, которой будет не прибыль, чтобы вновь не возникла проблема « nothing-at-stake». Одним из подходов может быть заставить определенный класс отправителей больших транзакций создавать блоки. Во-вторых, атака чейна все еще теоретически является «не затратной», т.о. гарантии безопасности не настолько привлекательны, как в системе «proof-of-work». В третьих, в контексте более сложного  блокчейна, наподобие Ethereum, а не валюты, некоторые транзакции (например, оформление ставки) действительно являются выгодными для отправки, т.о. появляется стимул  для двойного майнинга, по крайней мере, в некоторых транзакциях (хотя не во всех, т.о. все еще есть некоторая защита). И,  наконец, это система сословия генезис блоков, как и все системы «proof-of-stake» является обязательной. Тем не менее, насколько это касается чисто систем «proof-of-stake», это в действительности будет гораздо лучшей основой, чем вариант  «proof of stake», имитирующий  Bitcoin майнинг.

Гибрид «Proof of Stake»

По причине привлекательности модели « proof of stake» в качестве решения для роста эффективности и безопасности, и, одновременно, ее недостатков при атаках с нулевой стоимостью, единственным решением, которое появлялось много раз, является гибрид «proof of stake»,  в его последней формуле под названием «доказательство активности» (“proof of activity”). Идея в основе « proof of activity» проста: блоки производятся при помощи « proof of work», но каждый блок случайно определяет участников, необходимых для его подписи.  Следующий блок будет валидным, только если присутствуют эти подписи. В данной системе, теоретически, атакующий с 10% доли увидит, что 999 из своих 1000 блоков не подписаны, тогда как в законной сети  729 из 1000 блоков будут подписаны; следовательно, такой атакующий будет наказан в майнинге фактором 729.
Тем не менее, проблема существует: что мотивирует производителей подписывать блоки только в одном чейне? Если аргументы против чистой модели « proof of stake» верны, то наиболее умные  stake-майнеры должны подписывать оба чейна.  Отсюда, в гибридных  PoS, если атакующий подписывает только свой чейн, а альтруисты подписывают тольок законный чейн, а все остальные подписывают оба чейна, то если атакующий может пересилить альтруистов в передней доле, это означает, что атакующий может обогнать чейн, имеющий менее 51% атаки на фронте майнинга. Если поверить, что альтруисты как группа сильнее в доле, чем любой атакующий, но мы не очень-то в это верим, то гибрид PoS кажется разумной барьерной опцией; тем не менее, по вышеприведенным причинам, если мы захотим создать гибрид, то может возникнуть вопрос, будет ли гибрид PoW + TaPoS более оптимальным способом. Например, можно представить систему, в которой транзакциям необходима ссылка на последние блоки, а счет блокчейна вычисляется, основываясь на  модели «proof of work» и  подсчетах потраченных монето-дней.

Заключение.

Станет ли модель « proof of stake» ценной альтернативой модели « proof of work» в следующие несколько лет?  Вполне возможно. С точки зрения перспективы чистой эффективности, если  Bitcoin, или Ethereum, или какая-либо другая основанная на PoW платформа получат место, где у них будет аналогичная золоту, серебру и американскому доллару, евро или юаню  рыночная капитализация, то ежегодно будет производиться более сотни миллиардов долларов стоимости новых валютных единиц. В чистом режиме  PoW, количество экономической мощности достигает того, которое будет потрачено на хэширование каждый год. Т.о., стоимость общества поддержки криптовалюты «proof-of-work» примерно равно стоимости поддержки Российской армии (аналогия особенно сильна, т.к. военные также являются моделью «proof of work»; их единственная ценность для всех – защита от других военных). При использовании гибрида PoS, это можно безопасно сократить до  $30 миллиардов в год, а при чистом PoS это будет почти ничем, за исключением, в зависимости от применения, может быть несколько миллиардов долларов стоимости потерянной ликвидности.
В конечном итоге, это приводит нас к философском вопросу: в точности что значит для нас децентрализация, и сколько мы готовы за нее платить? Помните, что централизованные базы данных, и даже полуцентрализованные базы, основанные на консенсусе Ripple, являются бесплатными. Если совершенная децентрализация действительно стоит  $100 миллиардов долларов, то модель « proof of work»  определенно верна. Но, бесспорно, это не тот случай. Что если общество не рассматривает децентрализацию в качестве цели, и единственной причиной для децентрализации является получение увеличивающейся  прибыли от эффективности, которую принесет децентрализация?   В этом случае, если децентрализация проходит с ценником в $100 миллиардов, то нам следует централизоваться и позволить нескольким правительствам иметь доступ к базам данных.  Но если у нас есть надежный, значимый алгоритм  «proof of stake», то у нас есть третья опция: система, которая является одновременно децентрализованной и бесплатной (имейте в виду, что полезная модель «proof of work» также соответствует данному критерию, и может быть проще); в данном случае,  разветвление вовсе не существует, и децентрализация становится очевидным выбором.

оригинал статьи

 

Теги

Внутри движения по созданию управляемого биткоином Reddit Фурор по поводу решений менеджмента, внезапный уход генерального директора, развивающийся…
by April
0 446 0
Исследовательская работа изучает соответствие ценных бумаг на основе блокчейна Коммерческому законодательству США Согласно последним данным исследования, проведенного школой Cardozo…
by April
0 408 0
Мнение читателя: “Beta” платформа Bitfinex надувает конечных пользователей …а поддержка исчезает! Подобно покупкам для поддержания цен на рынке…
by April
0 395 0

Leave a Reply

Войти
Регистрация
Отправить сообщение