24 December 2013

Новые веяния в криптовалютах: 100% proof-of-stake и Nxt

Payment systems
Что мы всё о биткоинах, да о биткоинах? Новые разработки в сфере криптовалют не стоят на месте. На Хабре вроде бы ещё не освещалась подробно концепция Proof of Stake, которая призвана восполнить недостатки традиционной Proof of Work. А ведь ей уже больше двух лет.

nxt

В этой статье я хочу рассказать вам о:
  • концепции Proof of Stake (PoS) и защите от атаки 51%
  • 100% PoS и «майнинге» с любого устройства, не зависящем от вычислительной мощности
  • криптовалюте Nxt, написанной с нуля и реализующей эту концепцию
  • не новой, но и не упоминавшейся на Хабре прежде фишке — brainwallet
  • перспективах нового подхода


Введение


Для майнинга Bitcoin используется концепция Proof of Work, при которой безопасность сети гарантируется вычислительной мощностью участников. Вероятность сгенерировать очередной блок у отдельного майнера прямо пропорциональна его вычислительной мощности. На сеть можно провести атаку 51%, если завладеть вычислительной мощностью, составляющей 51% от общей мощности всех майнеров в сети. Такое, например, произошло с FeatherCoin (форк Bitcoin). Атака 51% не разрушает сеть, но подрывает к ней доверие: она позволяет атакующему использовать одни и те же средства дважды в момент генерации им «неправильного» блока.

Альтернативный подход — Proof of Stakeбыл предложен ещё в июле 2011 года. Здесь у майнера тем больше вероятность сгенерировать новый блок в общую цепь, чем больше валюты он имеет на кошельке. Этот подход используется, например, в форках: PeerCoin, NovaCoin, YaCoin. Он используется в комбинации с основным — Proof of Work — для увеличения стойкости сети к атаке 51%.

Nxt: 100% Proof of Stake


До недавнего времени не существовало криптовалюты с реализацией чистого Proof-of-Stake. Первой такой валютой стал Nxt (произносится «next»). Он написан автором с нуля, в отличие бесчисленного множества форков Bitcoin. Впервые анонсирован в сентябре 2013 года.

Особенности Nxt:
  • клиент написан с чистого листа на Java
  • чистый Proof-of-Stake
  • общий объём монет — 1 миллиард
  • блок генерируется раз в минуту
  • все монеты созданы в самом первом блоке, эмиссии нет
  • майнеры зарабатывают на комиссиях

Преимущества


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

Низкие затраты энергии на работу сети обеспечивают дешёвые транзакции в долгосрочной перспективе. Если рассмотреть Bitcoin, то эмиссия валюты со временем снижается, а основной наградой майнеров становятся комиссии за переводы. Поскольку рентабельность майнинга Bitcoin и так постоянно падает, к этому моменту стоимость оборудования и электричества на один сгенерированный блок будет составлять значительную сумму денег. Это означает, что для окупаемости майнерам придётся брать только транзакции с соответствующе большой комиссией. Таким образом, скорее всего, рабочие комиссии в сети Bitcoin с годами будут ощутимо расти. Что же касается Nxt, минимальная стоимость переводов всегда будет оставаться на уровне себестоимости обработки транзакции, что вообще близко к нулю. Например, сейчас минимальная комиссия за перевод — 1 NXT, и я не вижу причин для роста этой величины.

Стойкость


Как же обстоят дела с безопасностью сети на чистом PoS? Атака 51% становится возможна в случае, если майнер завладеет большей частью всех монет. На первый взгляд это может показаться нелепым, но вдумайтесь: почти всегда купить 51% всех монет — значительно дороже, чем купить железа на 51% мощности сети. А в случае успешного совершения атаки и подрыва доверия к сети, курс валюты значительно падает, а атакующий остаётся с огромным количеством монет, стоящих теперь гроши. В итоге затраты на атаку гораздо выше, а смысла в ней — гораздо меньше. Как с ростом мощности PoW-сети падает вероятность, что кому-то удастся провернуть такую атаку, так и с распределением монет среди множества пользователей PoS-сети падает вероятность, что кому-то удастся завладеть половиной всех монет.

Brainwallet


Brainwallet — это такой способ хранить кошелёк, при котором вы не зависите от файлов в принципе. Вся необходимая информация для полного доступа хранится у вас в голове. Это не новая, но по-своему имеющая право на жизнь концепция. Работает это следующим образом. Вы придумываете очень длинный пароль, создаёте свой кошелёк, и теперь с помощью этого пароля вы можете войти в этот кошелёк абсолютно с любого клиента сети. Выбранный вами пароль однозначно преобразуется в приватный ключ, с помощью которого вы и получаете доступ к кошельку. Таким образом, хранить на каком-либо носителе не нужно абсолютно ничего — все ваши деньги надёжно хранятся в криптовалютной сети, а пароль для доступа к ним — только в вашей голове. Только пароль нужно придумывать действительно длинный. Не используйте фразы, которые были где-либо когда-либо опубликованы. Рекомендуется подобрать длинную фразу, которую вы можете легко запомнить, и изменить её неожиданным и глупым образом. Например, добавить лишних букв, знаков препинания, какую-нибудь ещё информацию. Главное, убедитесь, что не забудете придуманное. :)

Как попробовать


image

Клиент сети Nxt — это приложение, написанное на Java, с доступом через веб-интерфейс. Самый простой способ запустить Nxt-кошелёк — это использовать публичный клиент. Например: https://nxtwallet.com:7875/ или https://162.243.232.67:7875/
На сервере запущен клиент сети и вы можете использовать его для входа в свой кошелёк. Для этого нажмите на символ замочка в левом-верхнем углу и введите свой очень длинный пароль. Так осуществляется доступ к кошельку. Если вы делаете это первый раз, то кошелёк автоматически создаётся. Какой бы клиент вы ни использовали — публичный или локально запущенный — это будет один и тот же кошелёк, если вы вводите один и тот же пароль.

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

Подробная русская инструкция по запуску кошелька на локальной машине есть здесь: bitcointalk.org/index.php?topic=345882.0

Исходники


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

Перспективы


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

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

Полезные ссылки


Block explorer сети Nxt есть здесь: 87.230.14.1/nxt/nxt.cgi?action=10
Официальные ветки на bitcointalk: bitcointalk.org/index.php?topic=303898.0 и bitcointalk.org/index.php?topic=345619.0
Пока единственная биржа NXT/BTC: dgex.com

Кстати, за последние неделю-две его курс на этой бирже вырос приблизительно в 10 раз.

UPD:
У всех возникает вопрос о распределении изначально сгенерированного миллиарда монет. Я забыл осветить этот вопрос. Вот в этом топике при самом первом анонсе криптовалюты было объявлено о публичной раздаче всех монет тем, кто поддержит разработку системы. Максимальный размер перевода был ограничен 1 BTC (а это всего ~$150 на тот момент), количество получаемых вкладчиком NXT пропорционально доле вклада от общей суммы. Всего было собрано ~21 BTC от ~70 человек, поучаствовать в этом мог любой человек. После этого весь миллиард из первого блока разошёлся по этим 70 участникам. Кстати, меня среди них нет: я узнал про Nxt всего неделю назад.

Я считаю, что такой подход гораздо труднее обвинить в жажде наживы, чем, например, те же Ripple или Quark, у которых больше 90% монет продолжают удерживаться создателями. 21 BTC — не такой уж и большой гонорар за реальное новведение и проделываемую автором работу, на мой взгляд.

UPD2:
Наткнулся на видео с неплохой презентацией Nxt:

Tags:nxtproof-of-stakeproof-of-workbitcoin
Hubs: Payment systems
+11
45.3k 104
Comments 50
Popular right now
Профессия Java-разработчик
December 1, 202082,500 ₽SkillFactory
Data Analyst
December 1, 202085,000 ₽SkillFactory
Python для анализа данных
December 2, 202019,000 ₽SkillFactory
Профессия Product Manager
December 2, 2020108,500 ₽Нетология
Профессия Project Manager
December 2, 202098,000 ₽Нетология
Top of the last 24 hours