_______________________________________________________________
Блокчейн GoldMint: Зачем изобретать?_______________________________________________________________
Здравствуйте. Меня зовут Антон. Я работал программистом на C ++ около 10 лет, а затем перешел в криптоиндустрию. Я разработал и внедрил несколько DApps.
Теперь я являюсь частью команды GoldMint в качестве ведущего блокчейн разработчика, и я горжусь этим. Мне нравится работать вместе с другими разработчиками из нашей команды. Это потрясающий опыт, и я уверен, что мы представим отличный продукт, который будет решать мировые проблемы для наших клиентов.
Подробнее о проекте GoldMint вы можете прочитать здесь. _______________________________________________________________
Что такое блокчейн?_______________________________________________________________
Blockchain - это технология, которая поддерживает децентрализованную распределенную базу данных, основная цель которой - защитить своих пользователей от ситуации, которая часто называется «двойной тратой». Примером может служить случай, когда человек тратит криптовалюту на предмет (например, Ferrari) и сразу же тратит одни и те же монеты на другой предмет.
Блокчейн децентрализован (почти как BitTorrent). Это означает, что разные пользователи могут иметь разные версии реальности. Например, 90% пользователей укажут, что вы приобрели автомобиль, но остальные 10% заявят, что вы этого не делали. Из-за распределенного характера блокчейна эти две группы будут иметь разные истории транзакций. Как блокчейн решает эту проблему и предотвращает обман? Это достигается с помощью алгоритма консенсуса. Консенсус в конечном итоге определит, какая версия правильная, и поэтому, какую исторический форк выбрать. Вышеприведенное является упрощенным описанием консенсуса.
Биткойн использует алгоритм «Proof-of-Work» (PoW). Пользователь, который потребляет больше электроэнергии, выигрывает. Если вы хотите развернуть транзакцию и сделать двойную трату, вам нужно купить очень мощный майнер и сжечь много электричества. Затем вы можете «вернуться во времени» и изменить блокчейн.
Есть ощущение, что в реальной жизни очень энергозатратно вернуться назад во времени. Время тикает, и история написана, и нет легких средств чтобы вернуться. Точно так же и в блокчейне.
Существует альтернатива алгоритму PoW, который называется «Proof-of-Stake» (PoS). «Майнер» в PoS обычно называется валидатором. В простейшей форме, PoS - это тот случай, когда ваша доля в криптовалюте имеет вес, но не ваша сила майнерского оборудования. Поэтому даже если вы можете легко перестроить целый блокчейн с нуля за секунду, экономически это просто невозможно сделать, даже если у вас есть большая доля криптовалюты.
_______________________________________________________________
Как должен работать блокчейн GoldMint?_______________________________________________________________
Мы хотим создать специально изготовленный блокчейн PoS, который работает только с двумя токенами - токеном GOLD и токеном MNT. Когда кто-то передает токен GOLD, его транзакция добавляется в текущей блок. Валидатор GoldMint автоматически получает частицу от этой транзакции в качестве вознаграждения за проверку текущего блока.
Валидатор блока будет использовать токен MNT в качестве доли для проверки блоков. Чем больше токенов MNT имеет валидатор, тем больше он зарабатывает в GOLD.
Очень упрощенная картина данного процесса:
Основные свойства блокчейна GoldMint:
1. Открытость
Любой должен иметь возможность стать валидатором. Просто загрузите программное обеспечение GoldMint из официального источника и запустите его.
2. Алгоритм консенсуса PoS
GoldMint должен использовать PoS, поскольку он более естественен для инфраструктуры GoldMint, чем PoW. Валидатор блока должен использовать токен MNT как долю для проверки блоков.
3. Валидатор должен получить токен GOLD в качестве вознаграждения
Награды должны быть выплачены как можно скорее (сразу после проверки блока).
4. Токены.
Во время проверки блока не происходит эмиссии токенов MNT или GOLD. Добавление других токенов поверх нашего блокчейна возможно только путем форка кода.
5. Смарт-контракты
В первой версии не будет реализовано ни токенов ни возможности использования смарт-контрактов.
Обратите внимание, что это лишь наше текущее видение того, что мы будем строить, и наша мысль только развивается!
_______________________________________________________________
Почему мы строим собственный блокчейн?_______________________________________________________________
Наш пользовательский блокчейн должен быть безопасней, чем Ethereum, поскольку он не использует смарт-контракты Тюринга, не позволяет добавлять частные токены, и будет иметь очень высокую пропускную способность. Блокчейн также будет защищен от DDoS, потому что каждая транзакция GOLD требует небольшой комиссии в качестве оплаты (ровно так же, как газ в Ethereum).
Короче говоря, мы хотим создать идеальную инфраструктуру для токенов GOLD.
_______________________________________________________________
Какие проблемы имеет PoS?_______________________________________________________________
Мы должны построить систему PoS так, чтобы она была защищена от таких проблем, как атаки «Nothing-at-Stake» и «Long Range».
_______________________________________________________________
«Nothing-at-Stake»_______________________________________________________________
Проблема «Nothing-at-Stake» заключается в том, что лучшая стратегия PoS майнеров это «майнить» на всех форках, потому что майнить блоки в данном случае очень дешёво. В случае «неудачи» одного из форков, валидатор ничего не теряет, поэтому термин в переводе и называется «нулевая ставка».
Майнеры в PoW получают наибольшее вознаграждение, находясь на основном/правильном блокчейне. Майнеры поощряются, чтобы направить всю свою мощность хэширования в блокчейн, который считается правильным или способным победить: разделение их мощности хэширования на несколько блокчейнов только уменьшает потенциальные вознаграждения, которые они могли бы заработать, направив всю свою мощь хеширования на «правильный» блокчейн.
Долгожданный алгоритм Casper PoS от Ethereum исправляет Nothing-at-Stake, требуя, чтобы валидатор сначала разместил свой депозит. Если валидатор обманывает, он наказывается потерей своего депозита. _______________________________________________________________
«Long Range Attack»_______________________________________________________________
«Возможность данной атаки также существует для наивно реализованных алгоритмов Proof-of-Stake. Предположим, что в наивно реализованном алгоритме PoS есть злоумышленниек с 1% всех монет вскоре после начального блока блокчейна. Атакующий начинает свою собственный блокчейн и начинает майнить ее. Хоть злоумышленник и окажется выбранным для создания блока всего в 1% случаев, атакующий способен с легкостью создавать в 100 раз больше блоков и попросту создать более длинный блокчейн, действуя подобным образом» (https://blog.ethereum.org/2014/05/15/long-range-attacks-the-serious-problem-with-adaptive-proof-of-work/) _______________________________________________________________
Какие особенности нам необходимо внедрить сегодня в блокчейн GoldMint?_______________________________________________________________
Существуют различные решения для алгоритма PoS сегодня. В принципе, есть два варианта: видение Виталика (Ethereum) и видение Дэна (Bitshares/Graphene/Steem). Виталик является сторонником денежного наказания в случае мошенничества валидатора. Философия Дэна заключается в том, что главное для акционера - это его репутация, и нет необходимости иметь дополнительный депозит для каждого майнера.
Мы имеем следующие варианты:
1. Построить собственный блокчейн с нуля.
Слишком долго и трудоемко.
2. Модернизировать существующую технологию:
* Ethereum
Casper PoS все еще не читаем.
* Bitshares/Graphene/Steem
Представляет DPoS и может быть использован прямо сейчас. Обладает большой пропускной способностью и широким сообществом разработчиков.
* Другие PoS, как например NXT
Мы рассмотрели эти варианты и решили, что лучше всего будет взять Graphene в качестве основы и сделать форк из его кода. Нам нужно будет перестроить исходный алгоритм «Proof-of-Stake» блокчейна Graphene, чтобы он работал с условиями токенов MNT. Steem - это форк Graphene и имеет несколько другие функции и настройки.
В настоящее время PoS Graphene работает так:
1. По умолчанию для проверки блока выбраны 101 (21 для Steem) свидетель (т.н. валидаторы);
2. Награда делится поровну между всеми свидетелями. Не имеет значения, имеет ли один из свидетелей большую долю, чем другой. Если вы находитесь в списке 101 (21) свидетелей, вы получаете равное вознаграждение с остальными из списка. Тем не менее, есть небольшая техническая деталь о блокчейне Steem: один свидетель, называемый также резервным свидетелем, выбирается из всех держателей токенов SteemPower.;
3. Graphene посредством делегации голосует, чтобы избрать 101 активного свидетеля. Вот почему его алгоритм консенсуса называется "делегированным" Proof-of-Stake (DPoS). Система заботится о социальном равенстве. Свидетели, как правило, выбраны голосованием, поэтому они и являются доверенными членами сообщества.
Конечно, и у Graphene, и у Steem есть свои недостатки.
Продолжение следует…