Что мы всё о биткоинах, да о биткоинах? Новые разработки в сфере криптовалют не стоят на месте. На Хабре вроде бы ещё не освещалась подробно концепция Proof of Stake, которая призвана восполнить недостатки традиционной Proof of Work. А ведь ей уже больше двух лет.
В этой статье я хочу рассказать вам о:
- концепции 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 — это такой способ хранить кошелёк, при котором вы не зависите от файлов в принципе. Вся необходимая информация для полного доступа хранится у вас в голове. Это не новая, но по-своему имеющая право на жизнь концепция. Работает это следующим образом. Вы придумываете очень длинный пароль, создаёте свой кошелёк, и теперь с помощью этого пароля вы можете войти в этот кошелёк абсолютно с любого клиента сети. Выбранный вами пароль однозначно преобразуется в приватный ключ, с помощью которого вы и получаете доступ к кошельку. Таким образом, хранить на каком-либо носителе не нужно абсолютно ничего — все ваши деньги надёжно хранятся в криптовалютной сети, а пароль для доступа к ним — только в вашей голове. Только пароль нужно придумывать действительно длинный. Не используйте фразы, которые были где-либо когда-либо опубликованы. Рекомендуется подобрать длинную фразу, которую вы можете легко запомнить, и изменить её неожиданным и глупым образом. Например, добавить лишних букв, знаков препинания, какую-нибудь ещё информацию. Главное, убедитесь, что не забудете придуманное. :)
Как попробовать
Клиент сети 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 раз.
Автор: sapp