Нужен диплом по профессии? Проф. переподготовка дистанционно! 800 актуальных профессий! Быстро! По выгодной цене!

Ethereum и Casper: что означает переход ETH на гибридный протокол консенсуса

Содержание

Что будет с Ethereum (ETH), когда Виталик Бутерин переведет платформу на новый протокол? Можно ли будет майнить Эфириум после перехода на PoS? Каковые теоретические плюсы и минусы перехода? В этой статье мы анализируем конкретные детали некоторых многообещающих и инновационных PoS-систем, которые уже пытались создать, а также последнее предложение Ethereum, направленное на решение множества проблем сети, таких как избыточное поглощение энергии алгоритмом PoW (Proof of Work) и наличие ASIC-майнеров Эфириума.

Что будет с Эфиром после перехода на Casper?

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

  • Никто не контролирует содержимое данных (распределенного хранения и подтверждения данных недостаточно);
  • База данных сможет развиваться («Оживленность», по терминологии Casper);
  • Участники смогут договариваться о содержимом данных, потому что у нод (узлов) будет механизм выбора между конфликтующими цепочками подтверждения («Безопасность», по терминологии Casper).

Консенсус PoW, Proof of Work («доказательство выполненной работы»), использует наиболее четкое правило работы для выбора между конкурирующими цепочками подтверждения (fork choice rule, «правило выбора ответвления»). Это не только очевидное решение для выше указанных трех критериев — механизм PoW также сам по себе решает проблему производства блока и времени его создания. При том, что накопленная работа определяет выбор цепочки, производитель блока также должен включить элемент PoW в каждый блок (стохастический процесс), а следовательно вопрос того, кто производит каждый блок и когда производится каждый блок, также решается PoW.

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

Что такое PoS? Проблема византийских генералов

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

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

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

В PoS есть две конкурирующие школы мысли. Одна из них вышла из PoW. Монеты на ее основе включают Peercoin, Blackcoin и первые итерации предложений PoS от Ethereum. Вторая школа мысли в большей степени основана на академических изысканиях Лэмпорта 1980-х годов и приветствует вывод, к которому пришел Лэмпорт: для создания отказоустойчивой византийской системы нужно большинство в виде двух третей. Текущая итерация предложения Casper от Ethereum берет как раз-таки второй вариант за основу.

Преимущества Proof of Stake

PoS обычно рассматривается в контексте PoW как альтернатива, которая решает или смягчает ряд негативных последствий проблем, присущих системам на основе PoW:

Более экологичная система

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

Сильное выравнивание стимулов

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

Централизация майнинга и ASIC

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

  • Производство ASIC-майнеров дорогое и централизованное (Bitmain обладает огромной долей рынка).
  • Производство чипов дорогое и централизованное (TSMC, Intel, Samsung, SMIC — с ними невозможно тягаться).
  • Связанные с ASIC технологии могут быть запатентованы.
  • Источников дешевой энергии может быть не так много.
  • Многие аспекты майнинга имеют масштабируемую экономику, например, стоимость обслуживания и затрат на электричество, что приводит к централизации.

Общие и экономические слабости Proof of Stake

Неполное решение

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

  • Выбор цепочки (правило выбора ответвления);
  • Распределение монет;
  • Кто производит блок и
  • Когда производится блок.

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

“Нечестная” экономическая модель

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

Риск потери средств

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

Технические слабости PoS

«Ничего на кону»

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

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

В конце концов, доля — это ресурс, присущий цепи и не связанный с реальным миром, поэтому одна и та же доля или ставка может быть использована на двух конфликтующих цепочках. Рождается проблема «ничего на кону», которая по праву считается одной из серьезнейших для Proof of Stake.

Проблема «ничего на кону» (Nothing at Stake)

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

Защита #1

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

Ответ от скептика PoS

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

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

Защита #2

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

Ответ от скептика PoS

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

Защита #3

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

Проблема дальней атаки на консенсус

Другая потенциальная проблема PoS представляет собой «дальнюю атаку». Идея такова: атакующие могут, к примеру, купить приватный ключ с большим балансом токенов в прошлом и сгенерировать альтернативную историю с этого момента, получая большую награду за счет PoS-валидации. Из-за большой награды, которая присуждается атакующим, они могут выстроить более длинную цепочку с долей, чем текущая, и осуществить многолетнюю реорганизацию цепочки.

Решением этой проблемы будет создание контрольной точки, своеобразной блокировки состояния цепи в определенный момент, после которого она уже не сможет быть реорганизована. Критики утверждают, что это решение потребует от всех держать узлы подключенными, поскольку отключенный узел не попадет в контрольную точку. Другие говорят, что если кто-то уйдет в офлайн, модель безопасности деградирует до “друг попросил”, поскольку придется спрашивать у других про их контрольные точки. Хотя в прошлом система Bitcoin включала контрольные точки, это делалось для ускорения синхронизации.

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

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

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

Накопление ставки

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

Мы считаем, что проблема с присвоением доли куда менее серьезная в случае PoS, чем проблема «ничего на кону». Для решения этой проблемы нужно просто добавить источник энтропии в систему, и смарт-контракт Ethereum вроде RanDAO вполне сможет с этим совладать.

Примеры монет с PoS: Peercoin и Casper Ethereum

Peercoin (2012)

Peercoin — это гибридная система PoW и PoS, построенная на идее возраста монеты. Правилами выбора цепочки определяется блокчейн с наивысшим общим поглощенным возрастом монеты.

Возраст монеты просто определяется как сумма валюты за время хранения. Допустим, если Боб получит 10 монет от Алисы и подержит ее 90 дней, мы можем сказать, что Боб накопил 900 монетодней возраста монеты.

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

Анализ слабостей и вывод

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

Производство блоков. Решается использованием PoW для производства блоков.

Атака издалека. Это была критическая уязвимость Peercoin: атакующий мог просто накопить вес, не тратя свои монеты, а затем запустить атаку реорганизации. Решилось это за счет центрального объявления контрольных точек несколько раз в день. Соответственно, Peercoin можно считать централизованной системой.

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

Вывод: однажды Peercoin был интересным и инновационным проектом, но превратился в централизованную систему, неспособную соответствовать характеристикам PoW.

Ethereum: полноценная PoS-система Casper (2015)

Это предложение перейти целиком на PoS, построенную на методологии «консенсус на ставках».

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

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

После нескольких раундов ставок, когда вероятность достигает 1 или 99%, блок считается финализированным.

Стратегия ставок

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

  • Если блока еще нет, но текущее время очень близко ко времени, в котором блок должен быть опубликован, ставим 0,5.
  • Если блока еще нет, но прошло очень много времени с тех пор, как блок должен был быть опубликован, ставим 0,3.
  • Если блок прибыл вовремя, ставим 0,7.
  • Если блок прибыл, но прибыл слишком рано или слишком поздно, ставим 0,3.

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

У стратегии по умолчанию была формула (приведенная ниже), которая отводила вероятность от 0,5, чтобы цепочка двигалась вперед, а вероятность стремилась к нулю или к единице.

Пусть е(х) будет функцией, которая делает х более “экстремальной”, то есть подталкивает значение от 0,5 к 1. Простым примером будет функция е(х) = 0,5 + х/2, если х > 0,5, либо х/2.

Если валидатор делает ставку, когда вероятность 99%, возврат будет небольшим (1%), а если же победная ставка размещена при вероятность 0,5%, возврат будет 100%.

Правило выбора форка, в таком случае, будет представлять собой сумму всех взвешенных вероятностей, которые пересекли определенный порог, скажем, 0,99. Например, цепочка из пяти блоков, каждый с вероятностью 1, будет представлять 5 баллов. Любой валидатор, который изменит свое мнение после пересечения порога в 0,99, будет наказан за стейкинг на разных цепочках. Измените свое мнение до того, как сформируется порог, и никакого наказания не будет.

Аналитики Bitmex считают это предложение чрезвычайно сложным, и в этом заключается его главный недостаток.

Слабости и выводы

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

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

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

Накопление ставки. Контракт RainDAO может решить проблему жадных ставок.

Каков результат? Это предложение не было принято Ethereum. Его можно считать неполным, поскольку некоторым параметрам и аспектам системы не хватает конкретики. И хотя консенсус на основе ставок был бы интересен, он также слишком сложный и в нем много неопределенностей. Такой подход наглядно демонстрирует сложности, связанные с созданием полноценной PoS-системы, и при попытке устранить слабые места они добавляют системе сложности, пока она не станет совсем плохой.

Ethereum: Casper последней версии, гибридная PoW/PoS система (2018)

Текущее предложение Casper представляет собой изменение философии или стержня, если сравнивать с более ранними системами PoS. Оно возвращает нас к академической работе Лэмпорта 1980-х годов и теореме Лэмпорта о том, что такие системы будут работать только и только в том случае, когда две трети агентов системы будут честными. Поэтому текущая версия Каспера менее амбициозна, чем раньше. PoS больше не используется для создания блоков, этим все еще занимаются майнеры PoW. Система PoS используется для создания чекпоинтов, то есть тех самых контрольных точек, слепков блокчейна. И это предложение куда интереснее, чем предыдущие итерации Каспера.

Работает система примерно так:

  • PoS-система используется через каждые 100 блоков, дабы обеспечить дополнительный слой страхования поверх PoW, в качестве системы создания контрольных точек.
  • Участники процесса PoS отправляют свой Эфир в «пул валидаторов» и через каждые 100 блоков их доля оказывается за блоком. Если две трети средств в пуле поддерживают предложение, блок считается найденным, и эта окончательность имеет приоритет над PoW.
  • Голоса валидаторов станут единственными 12 валидными подтверждениями после последнего блока контрольной отметки.
  • Если стейкеры голосуют против предложения, это выливается в небольшую комиссию в размере 4%, и третья сторона может это подтвердить, поэтому мошенник потеряет всю свою ставку/депозит.
  • Если порог в две трети не достигается, цепь продолжает работать исключительно на PoW.

Структура вознаграждения Ethereum будет уточнена — PoS-валидаторы также будут получать долю платежей, наряду с PoW-майнерами. Подробности этого пока не сообщаются, но в недавнем интервью Виталик Бутерин говорил об уменьшении награды за блок до 0,6 Эфира.

Анализ Ethereum Casper

Последняя итерация Каспера — важное улучшение по сравнению с более ранними версиями. В основном из-за того, что она проста и полагается все также на PoW-майнинг.

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

  1. Больше трети стейкеров может отказаться от участия — и тогда мы вернемся к системе на основе  PoW
  2. Стейкеров, которые могут изменить свое мнение после финализации блока, может быть больше, чем две трети в альтернативной цепи — проблема атаки издалека.
  3. Стейкеры, которые набирают две трети серьезной поддержки для более короткой PoW-цепочки, в сравнении с ведущей PoW-цепочкой, приводят к новому формату реорганизации. Это самый большой недостаток предложения.

Ключевым допущением такой системы является то, что именно PoW продвигает цепь вперед, а PoS-системы вступают в игру только когда майнеры определятся с цепью; к тому же, PoS-голоса не имеют силы до 12 подтверждений майнерами. Более того, если большинства в две трети достигнуто не будет, цепь продолжит работу на основе PoW.

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

Слабости и выводы

“Ничего на кону”. Валидаторы, которые голосуют за конфликтующие блоки контрольных отметок могут потерять свои ставки. Проблема конвергенции решается упором на PoW-майнинг.

Производство блока. PoW-майнеры производят блоки и, следовательно, нет никаких проблем с выбором производителя блока.

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

Накопление ставки. PoW-майнеры производят блоки, поэтому никаких манипуляций со ставками не будет.

Другие возможные нерешенные проблемы

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

Что думает сам Виталик Бутерин о Каспере? Из интервью Bitmex:

Вопрос: «Несмотря на то, что PoS-система может обеспечить дополнительное страхование в сравнении с тем, что было, общий риск реорганизации может быть выше, поскольку теперь ее могут провести и PoS- и PoW-участники. Вы не переживаете об этом?»

Бутерин: «Скорее, нет. Есть масса причин полагать, что на стабильности это никак не скажется в отрицательном смысле. Единственный контекст, в котором “риск реорганизации может быть выше”, будет либо:

  • Если валидаторы в большинстве своем будут менее честны, чем майнеры, либо
  • Если в коде Каспера будут баги.

И то, и другое может быть, это мы признаем».

Вопрос: «Как изменится поведение пользователей и бирж? Нужно ли биржам менять поведение для одобрения депозита, например, 2 подтверждений плюс 34% голосов валидаторов?»

Бутерин: «Если бы у меня была биржа, я бы сделал что-то вроде “12 подтверждений для депозитов до 10 тысяч долларов и финализация (окончательное подтверждение) для всего, что выше”.

Вопрос: «Будет ли общий счетчик показателей подтверждения, совмещающий влияние PoW и PoS, который смогут использовать биржи?».

Бутерин: «Думаю, создать такой можно».

Заключение

На наш взгляд, новейшее предложение по PoS — самое лучшее из всех. Оно может быть принято Ethereum и внести позитивный вклад в безопасность системы. Однако система останется зависимой от PoW-майнинга. PoW в первую очередь решает все проблемы византийской отказоустойчивости, а затем происходит процесс PoS. Система полагается на PoW в производстве блоков и для обеспечения конвергенции системы на одной цепи. Хотя PoS-майнинг может смягчить некоторые риски, непонятно, насколько это будет полезно для общей конвергентности или безопасности. Критики PoS заявляют, что любые награды, которые уходят от PoW-майнерам в пользу стейкеров ослабляют конвергентность и безопасность системы.

Источник: 2bitcoins.ru

Ссылка на основную публикацию