Начать беседу

PPCoin: криптовалюта Peer-to-Peer с доказательством доли владения

Оригинальный текст взят с сайта проекта: https://peercoin.net/assets/paper/peercoin-paper.pdf

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

Вступление

Со времени создания биткоина (Nakamoto, 2008) доказательство выполнения работы служило основой структуры одноранговой криптовалюты. Концепт доказательства выполнения работы был краеугольным камнем чеканки и модели защищённости структуры, созданной Накамото.

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

Возраст монеты

Концепт возраста монет стал известен Накамото как минимум в 2010 году и был задействован в биткоине, например, для выставления приоритета транзакциям хотя и не имел большого значения для его защищённости. Возраст монеты всего лишь определён как временной промежуток обладания монетой. Простой для понимания пример: Боб получил 10 монет от Алисы и хранил их в течение 90 дней; мы можем считать, что Боб получил суммарно 900 монетодней возраста монеты.

В добавок, когда Боб потратил 10 монет, полученных от Алисы, мы можем считать, что возраст монет, который Боб накопил при хранении этих 10 монет был поглощён (или уничтожен).

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

Подтверждение доли владения

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

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

Построение блоков при подтверждении доли владения

В нашей гибридной структуре блоки разделены на два разных вида: блоки подтверждения выполнения работы и блоки подтверждения доли владения.

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

Целевой хеш, которому ядро доли должно соответствовать, является целью по одной единице возраста монеты (монетодень), потребляемой в ядре (в отличие от цели по подтверждению выполнения работы биткоина, являющейся фиксированной целевой величиной, каждого узла). Таким образом, чем больше возраста монеты потребляет ядро, тем проще соответствовать протоколу целевого хеша. Например, если суммарно кошелёк Боба содержит 100 монетолет, и он ожидает получить от него одно ядро в течение одного дня, тогда Алиса может рассчитывать на то, что 200 монетолет в её кошельке произведут одно ядро за один день.

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

Чеканка, основанная на подтверждении доли владения

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

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

Протокол главной цепи

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

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

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

Контрольная точка: защита истории

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

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

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

Ещё одна техническая причина ведёт к централизованной передаче контрольных точек. Для того чтобы защититься от DOS-атак ядро доли монеты должно быть верифицировано до того, как подтверждение доли владения может быть принято в локальную базу данных (дерево блоков) каждого узла. Из-за модели данных узла биткоина (в особенности индекса транзакции) нужен конечный срок установки контрольной точки для подтверждения, что все узлы были способны подтвердить соединение каждого ядра доли монеты перед принятием блока в дерево блоков. Из-за приведённых выше практических соображений мы решили не модифицировать модель данных узла, а создавать централизованные контрольные точки. Наше решение состоит в том, чтобы модифицировать расчёт возраста монеты, который бы потребовал установление минимального возраста, например, один месяц, ниже которого возраст монеты приравнивался бы к нулю. Затем централизованная передача контрольной точки используется для того, чтобы подтвердить, что все узлы подтверждают транзакции, совершённые более одного месяца назад, позволяя таким образом верифицировать соединение ядер блоков, так как ядро требует отличного от нулевого возраста монеты и должно использовать выходные данные, существующие не менее одного месяца.

Характеристики блоков и протокол одинаковой доли

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

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

Энергоэффективность

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

Прочие замечания

Мы модифицировали темп создания подтверждения выполнения работы таким образом, чтобы она не зависела от высоты (длительности) блока, а от его сложности. Когда сложность майнинга повышается, создание подтверждения выполнения работы замедляется. Относительно равномерная дуга выбрана как альтернатива функции шага биткоина для того, чтобы избежать искусственного волнения рынка. Если быть точнее, непрерывная дуга выбрана так, что при каждом усложнении майнинга в 16 раз размер блоков делится надвое.

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

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

Мы также решили усилить транзакционные комиссии на уровне протокола, чтобы защитить блок от раздувания.

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

Заключение

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

Благодарности

Благодарим Ричарда Смита за помощь, оказанную при тестировании и различных работах с сетью и форками.

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

Библиография

Babaioff M. et al. (2011): On Bitcoin and red balloons.

Laurie B. (2011): Decentralised currencies are probably impossible (but let’s at least

make them efficient). (http://www.links.org/files/decentralised-currencies.pdf)

Nakamoto S. (2008): Bitcoin: A peer-to-peer electronic cash system.

(http://www.bitcoin.org/bitcoin.pdf)


Translated by WEX

Выберите файлы или перетащите файлы