Возникновение блокчейна: раскрытие секретов Emercoin
Опубликовано: 2021-08-09В первой из серии статей, раскрывающих диапазон приложений технологий блокчейна с поддержкой Emercoin, мы рассмотрим, как появилась эта криптовалюта и чем она отличается от всех других образцов быстро развивающейся индустрии криптовалют.
Одноранговые сети становятся более эффективными и надежными по мере увеличения числа участников. Это делает их идеальным инструментом для решений корпоративного и глобального масштаба, которые выходят далеко за рамки «простых» финансовых приложений. Сейчас мир начинает это понимать. В Emer с самого начала это была идея, которая стимулировала рост.
Emercoin Core
Исторически ядро Emercoin было унаследовано от Peercoin, который, в свою очередь, возник из Биткойна. Peercoin представил одно важное нововведение, называемое консенсусом Proof-of-Stake (PoS). Это позволило расширить и улучшить существовавший тогда алгоритм Proof-of-Work (PoW).
Консенсус - это алгоритм, используемый в децентрализованной сети для проверки определенной версии растущего блокчейна. Консенсус всех майнеров », использующих свои собственные ресурсы для« голосования »за такую проверку. За это они награждаются вновь созданными криптовалютами. Другими словами, майнеры продают свои услуги по «поддержанию доверия к сети» в обмен на монеты.
Итак, как мы узнаем, кто имеет право голоса?
Это не может быть кошелек, потому что тогда один мошенник может создать миллионы кошельков и использовать эти призрачные голоса для проверки любой версии блокчейна, которая им нравится.
Это также не может быть IP-адресом, потому что любой интернет-провайдер может подделать большую сеть, создав орды призрачных избирателей.
Таким образом, голосование требует ограниченного ресурса, который нельзя воспроизвести или подделать.
Для системы Биткойн Сатоши Накамото предложил решение Proof-of-Work, которое включает проверку с помощью вычислительной мощности. Действительно, если вычислительная мощность вашего компьютера равна X, вы можете создать N виртуальных подсистем, но совокупная вычислительная мощность не будет превышать X. Другими словами, владелец таких виртуальных подсистем не будет иметь больше голосов, чем у одного пользователя.
Затем были предложены другие консенсусные концепции, ориентированные на вычислительные ресурсы, отличные от процессоров. Например, доказательство емкости основывалось на емкости жесткого диска. Это провоцирует гонку вооружений в эволюции криптовалютной экосистемы. Майнеры продолжают инвестировать в свое оборудование до тех пор, пока расходы на его амортизацию не сведут к нулю доход от майнинга. Затем они начинают жаловаться, что «майнинг не приносит прибыли» или «криптовалюта - это не что иное, как мошенничество».
Proof-of-Stake - новаторская концепция, представленная Санни Кингом в Peercoin. Peercoin ограничивает количество голосов своими собственными монетами. Это помогло избежать гонки вооружений, заменив материальные ресурсы (процессоры, дисководы) виртуальными (монеты). В результате люди перестали тратить материальные ресурсы, деньги и электроэнергию в погоне за большей мощностью майнинга.
У алгоритма PoS тоже свои недостатки. Например, он уязвим для инсайдерских атак. Последнее частично предотвращается дополнительными инструментами, такими как, например, динамические контрольные точки. В целом PoS оказался более безопасным, чем PoW.
Гибридный протокол консенсуса, используемый Peercoin, считается наиболее безопасным, и поэтому мы использовали его в качестве основы для проекта Emercoin. Чтобы добиться успеха, злоумышленник на Emer должен владеть 51% совокупной вычислительной мощности сети и 51% ее запаса монет. Два барьера разного характера во многом защищают сеть от дискредитации.
Еще одна причина, по которой был выбран Peercoin, - это классический и зрелый биткойн-код, используемый в его ядре. Он не только был проверен многими экспертами по безопасности, но и справился с несколькими неудачными атаками.
Наконец, мы хотели следовать промышленному подходу к проектам, обеспечивая максимальное соответствие существующим стандартам и спецификациям, а технологии и API Биткойна де-факто определили стандарты для криптоиндустрии.
Emercoin против биткойна: сходства и различия
PoW + PoS против PoW
Как уже упоминалось, Emercoin использует гибридный протокол консенсуса. взято из Peercoin. Единственное изменение, которое мы внесли, - это увеличение веса PoS примерно до 80%. Таким образом, Emer - это, по сути, криптовалюта на основе PoS со вспомогательным инструментом PoW.
SHA-256
Emercoin закрывает блоки, используя ту же хеш-функцию SHA-256. Мы выбрали его, потому что это официальный стандарт и достаточно безопасный. Кроме того, специальные ASIC уже некоторое время занимаются майнингом SHA-256, поэтому майнеры могут быть уверены, что никакое новое специализированное оборудование, разработанное для другого алгоритма, не вызовет революцию сложности, чтобы встряхнуть сеть и консолидировать майнинговые мощности в руках тем, кто владеет таким новым оборудованием.
Кстати, мы против майнинга на универсальных компьютерах, так как такой подход потенциально опасен для сторонних разработчиков. До появления ASIC ряд компьютерных вирусов использовали вычислительные мощности пораженных компьютеров для добычи биткойнов. Использование ASIC делало такое вредоносное ПО экономически нежизнеспособным. Но другие криптовалюты, добытые с помощью компьютеров общего назначения, по-прежнему подвержены этому риску.
10-минутный интервал между блоками
Как и Биткойн и Пиркойн, Emercoin предоставляет 10 минут на закрытие блока. Более короткое время на блок приведет к большему количеству конфликтов с потерянными блоками и потере надежности сети.
Вероятность коллизии рассчитывается путем деления времени обновления сети на время закрытия блока. Время обновления сети зависит от топологии сети и нагрузки. Обновление сети Биткойн занимает минуты. Другие криптовалюты (например, Quark), сократившие время закрытия блока до менее чем минуты, сталкиваются с постоянным воздействием форка, как только нагрузка на сеть становится более или менее значительной.
Можно возразить, сославшись на превосходный протокол Ghost Ethereum, который не подвергается форкам. Несмотря на то, что его сиротские блоки («дяди») не являются частью результирующего блокчейна, они принимают участие в голосовании за версию цепочки, поэтому интервал между блоками можно сократить примерно до 20 секунд.
Но у этого протокола есть свои уязвимости. Например, сеть-призрак склонна к сетевым штормам, когда в сетях Ethernet при определенной нагрузке возникают экстремальные объемы трафика. Проще говоря, сеть уязвима, потому что время ее обновления пропорционально трафику. При критической нагрузке (слишком много транзакций в секунду) время обновления становится сопоставимым со временем генерации блока. В этом случае разные майнеры могут независимо генерировать блоки-кандидаты для включения в цепочку блоков. И вот сюрприз: в этих блоках будут одинаковые транзакции. Таким образом, они снова будут циркулировать по сети, увеличивая трафик, т. Е. Создавая большую нагрузку на сеть, больше задержек и больше «дядей». Сеть будет вести себя так, как если бы она подверглась атаке с усилением DNS / NTP, при этом одни и те же сетевые узлы являются и злоумышленником, и жертвой.
Более того, в цепочку блоков включен только один блок-кандидат. Поскольку сеть использовала ресурсы не только для вычисления этого блока, но и его собратьев - блоков, которые проголосовали, но не были включены в результирующую цепочку блоков, доверие к принятой цепочке блоков резко снижается. В результате сеть может быть атакована менее чем с 51% ее совокупной вычислительной мощности.
В целом, мы считаем, что подход, предложенный Сатоши Накамото, по-прежнему остается лучшим из имеющихся.
Повторное вычисление сложности после каждого блока
В отличие от Биткойна, который пересчитывает сложность майнинга каждые 2016 блоков (то есть примерно каждые две недели), сети Emer и Peercoin делают это после каждого нового блока, что способствует повышению надежности сети. Вот пример:
Предположим, что после запланированного пересчета сложности 50% биткойн-майнеров перестают работать. Кстати, эта ситуация не так уж и маловероятна, как может показаться. Это может произойти, если правительства стран, в которых размещаются крупные майнинговые пулы, примут с этой целью некоторые законы - как это вполне может случиться в ближайшее время в Китае. В результате интервалы закрытия блоков удвоятся до 20 минут, а размер блока также удвоится. Учитывая, что многие блоки сегодня достигли предела в 1 МБ, есть вероятность, что многие транзакции останутся неподтвержденными в течение нескольких дней. Это может спровоцировать панику и новые сделки со стороны желающих продать по текущей цене, что еще больше усугубит ситуацию. На восстановление системы уйдут недели.
Сеть, которая пересчитывает свою сложность после каждого нового блока, не подвергается такому риску, поскольку она мгновенно подстраивается под совокупную вычислительную мощность новых майнеров. Более того, будучи преимущественно криптовалютой PoS, Emercoin не так сильно зависит от майнинга и / или пулов. Даже если бы все пулы перестали работать одновременно, для добавления блока потребовалось бы всего на 20% больше времени, а система корректировки решит эту проблему всего за 24 часа.
Переоценка количества награжденных блоков PoW
У Emercoin есть еще один механизм для повышения надежности майнеров - это цикл отрицательной обратной связи, использующий хэш-скорость сети (совокупную мощность майнеров). Дело в том, что вознаграждение майнера не фиксировано (как в случае с Биткойном), а обратно пропорционально корню 4-й степени сложности сети.

Если фидуциарная стоимость Emercoin возрастает, т. Е. Больше пользователей начинают его майнить, это усложняет сеть и, таким образом, снижает вознаграждение за каждый блок. В результате сеть становится защищенной от высокой фиатной инфляции. И наоборот, если майнеры по какой-либо причине теряют интерес к Emercoin, система становится намного менее сложной и удерживает майнеров, предлагая более высокие вознаграждения.
Теоретически наиболее эффективная стратегия майнинга Emercoin - это сотрудничество и майнинг с использованием минимальных мощностей и разделением максимального дохода. Однако это маловероятно, потому что шахтеры столкнутся с разновидностью дилеммы заключенного .
6% годовая процентная доходность для PoS
Поскольку Emercoin является криптовалютой PoS, майнер может получать доход как за счет оборудования для майнинга, так и за монеты в своем кошельке. Мы выбрали выплату PoS бонусов по ставке 6% годовых. Другими словами, если монеты, используемые для закрытия транзакции, остаются нетронутыми более одного месяца, есть вероятность, что они могут быть использованы для закрытия блока, генерируя 6% APY для владельца. После использования монет период простоя «выгорает», и для нового владельца начинается новый период простоя. Другими словами, 6% APY - это максимальное вознаграждение PoS, которое может быть получено только в том случае, если монеты остаются нетронутыми. В настоящее время фактическое увеличение денежной массы через PoS APY составляет около 4–5% в год. По мере того, как Emercoin становится все более распространенным, а транзакции - более многочисленными, это значение будет уменьшаться, чтобы соответствовать курсам, типичным для твердых фиатных валют, хотя никогда полностью не обнулялся.
Можно возразить, что эти 6% годовых генерируют инфляцию, но следует отметить, что Emercoin имеет дефляционный тренд, то есть стоимость монеты растет, причем довольно быстро. Об этом свидетельствует его обменный курс, который с начала года вырос почти в четыре раза. Это несоответствие с наивной моделью связано с тем, что стоимость монеты связана с соответствующей экономической стоимостью. Экономический рост влечет за собой увеличение стоимости монеты, поэтому PoS имеет незначительный вклад в общий рост денежной массы по сравнению с другими факторами.
Выпуск и обнуление эмеркоинов
Из вышеизложенного можно сделать вывод, что денежная масса Emercoin может расти бесконечно. В первом приближении это кажется правдой. Действительно, участники, поддерживающие консенсус, продают свои услуги сети и получают вознаграждение в виде вновь созданных монет. Однако в Emercoin есть механизм, который обнуляет монеты, тем самым уравновешивая выпуск монет. Он делает это, взимая плату за услуги блокчейна, такие как отправка монет или покупка учетных записей в NVS. Другими словами, в отличие от Биткойна, который имеет ограничения на выпуск монет и не имеет инструментов для их обнуления, Emercoin позволяет выпускать их на неопределенный срок, но также имеет противоположный процесс для его балансировки. Те участники, которые продают свои услуги в сети, получают вознаграждение, а те, кто покупает услуги в сети, платят за них.
По приблизительной оценке и с учетом имеющихся в настоящее время факторов, всего за 80 лет будет произведено около 1 миллиарда ЭМС.
Выявление внешних IP-адресов
Первым уникальным нововведением, реализованным Emercoin, стал протокол RFC5389, инструмент STUN для выявления внешних IP-адресов. После NAT программное обеспечение кошелька должно знать внешний IP-адрес для правильной работы. Биткойн раньше, а другие до сих пор получают его, обращаясь к централизованному серверу ( http://checkip.dyndns.org ). Позже он переключился на UPNP и ручные настройки конфигурации. Мы отклонили этот подход по нескольким причинам, например, из-за того, что UPNP не работает после многоуровневого NAT. В итоге мы решили вообще не использовать централизованный сервер, а применить стандарт STUN, который используется для аналогичных целей в VoIP. На данный момент мы управляем наиболее полным списком доступных общедоступных серверов STUN и используем эти серверы в нашей подсистеме STUN для определения внешних IP-адресов.
Оптимизатор транзакций
Оптимизатор транзакций - еще одно уникальное нововведение, реализованное в Emercoin.
Криптовалюты с блокчейнами, содержащими транзакции, требуют от вас выбора подмножества расходов при создании новой транзакции. Биткойн и другие криптовалюты используют стохастический алгоритм, который берет 1000 случайных выборок для выбора подмножества, которое содержит сумму, максимально близкую к требуемой. Однако, даже если кошелек содержит подмножество, соответствующее точной сумме, стандартный алгоритм почти всегда игнорирует это, создавая новую транзакцию для оплаты и сохраняя разницу. Это приводит к созданию крупногабаритных транзакций и генерации будущей транзакции, чтобы потратить разницу.
Этот алгоритм также приводит к проблеме «золотой пыли», что приводит к большому количеству транзакций на небольшие суммы.
Emercoin применяет подход динамического программирования для выбора подмножества транзакций. Этот алгоритм гарантированно найдет идеально подходящее подмножество, если оно существует. Наши оценки показывают, что средняя сумма транзакции, таким образом, снизилась на 5%, что замедлило рост блокчейна.
Распределенные динамические контрольные точки
Криптовалюты PoS уязвимы для некоторых экзотических атак, специфичных для PoS. Одна из самых опасных из них - «инсайдерская атака». Если мошенник получает контроль над кошельками, которые содержат уже потраченные монеты, он может имитировать откат к тому моменту, когда эти кошельки действительно содержали монеты. Таким образом, субъект получит контроль над 51% монет, построит альтернативный блокчейн, более длинный, чем основной, и ретроспективно изменит содержимое блокчейна.
Эти атаки можно предотвратить с помощью контрольных точек, которые ограничивают реструктуризацию цепочки блоков до определенного уровня глубины. Биткойн использует только жесткие контрольные точки, встроенные в код кошелька; такие контрольные точки обновляются при каждом обновлении кошелька. Peercoin и Emercoin, с другой стороны, используют динамические контрольные точки с отправкой данных контрольных точек онлайн. Это не требует каких-либо обновлений кода на стороне клиента и позволяет постоянно обновлять структуру контрольных точек.
Peercoin предоставляет только один узел для отправки данных контрольной точки. Если такие данные будут отправлены несколькими узлами, это приведет к конфликту в сети. Соответственно, отказ этого узла помешает обновлению данных динамической контрольной точки.
Emer, с другой стороны, реализовал алгоритм распределенной динамической контрольной точки, который предотвращает отправку несколькими независимыми узлами повторяющихся данных контрольной точки. Это способствует надежности сети, поскольку контрольные точки все еще обновляются, даже если некоторые из узлов выходят из строя.
Никаких смарт-контрактов в стиле Ethereum
Emercoin не предусматривает таких контрактов и не собирается их вводить. Мы категорически против таких контрактов из соображений безопасности. Мы всегда считали, что несанкционированная загрузка кода, зависящего от операций по Тьюрингу, критически опасна, и недавняя кража эфира на сумму 31 миллион долларов доказала нашу правоту.
Хранение имени-значения (NVS)
Подсистема Name-Value Storage (NVS) - это наша основная инновация с внешней практической ценностью, вдохновленная криптовалютой распределенного DNS Namecoin.
В отличие от аналогичной структуры в Namecoin, которая уделяла особое внимание распределенному DNS, Emercoin NVS является надежной распределенной системой хранения общего назначения с общим управлением.
Проще говоря, эта подсистема может хранить любые двоичные данные размером до 20 Кбайт. Эти точки данных связаны с ключом поиска размером до 512 байт, уникальным для всей сети. Каждая запись связана с платежным адресом, принадлежащим соответствующему владельцу кошелька.
Владелец платежного адреса - единственное лицо, уполномоченное управлять записью. Управление записью означает создание новой записи для замены старой или передачу права собственности на другой платежный адрес. Старые записи никогда не стираются и остаются доступными из соответствующей цепочки блоков. Таким образом, каждая запись имеет полную историю изменений владельца.
Технически запись в цепочке блоков является результатом транзакции 0,01 EMC (скоро будет сокращена до 0,0001 EMC), приписываемой платежному адресу владельца записи. Таким образом, этот результат содержит содержимое NVS. Владелец записи - единственное лицо, уполномоченное тратить этот результат, поскольку закрытый ключ для авторизации оттока можно найти только внутри их кошелька. Чтобы потратить эту сумму, необходимо изменить значение записи или другие атрибуты, включая платежный адрес. В последнем случае запись передается в кошелек, содержащий адрес получателя.
К подсистеме NVS можно обращаться через JSON API (аналогично Биткойн) или через графический интерфейс кошелька.
Система Emercoin NVS - это то, что поддерживает все сервисы на основе Emercoin, которые мы опишем в наших дальнейших публикациях, с 2017 по 2018 год, так что следите за обновлениями.