В предыдущей части мы описали основную идею децентрализованной цифровой валюты и её практическую реализацию в виде Биткойна. Как и любая новая концепция, Биткойн на практике столкнулся с множеством проблем связанных протоколом работы сети и защиты целостности базы. В этой статье мы обсудим текущие ограничения сети, альтернативные валюты с решениями тех, или и иных проблем Биткойна, и почему блокчейном заинтересовался большой бизнес.
Часть 1. Биткойн
Часть 2. Другие (не)популярные разновидности Биткойна, блокчейн
Часть 3. Ethereum
Блоки
Биткойн показал не только состоятельность идеи p2p платёжной системы, но еще предложил решение проблемы публичного(децентрализованного) консенсуса. Читателю, на начальном этапе, архитектура Биткойна может показаться чрезмерно усложненной. Например, если есть общие правила и мы можем просто игнорировать некорректные/мошеннические транзакции, то зачем нужны блоки и майнинг? Для этого нам нужно понять как реализованы транзакция и предотвращение двойного расходования(double-spending) средств.
Транзакция
В Биткойне, при формировании транзакции на входе объединяется множество предыдущих транзакций, и на выходе осуществляются переводы на другие счета(см рисунок). Переводы, что получаются на выходе называются непотраченными транзакциями(UTXO), пока не войдут в другую транзакцию.
При создании новой транзакции, UTXO расходуется целиком, но если нужно потратить только часть, то просто добавляется еще один перевод с остатком на свой же собственный счёт.
Если у нас не будет уверенности в валидности предыдущей транзакции, то нам придется каждый раз перепроверять всю цепочку транзакций, вплоть до момента эмиссии. Во избежание этого, транзакции пакуются в блок, который, в свою очередь, запечатывается красивым хэшем и линкуется другими блоками с двух сторон. Это дает нам некую гарантию того, что транзакция, попавшая в блок, является валидной, и на неё уже можно ссылаться.
Просуммировав все UTXO адресованных на некий счёт мы можем узнать его баланс, следовательно, в любой момент времени, сумма всех UTXO равна общему количеству денег в системе.
Двойное расходование
В децентрализованных системах сложно синхронизировать записи всех пользователей, возникают проблемы с очередностью транзакций и двойным расходованием. Представим ситуацию, когда некий пользователь, запускает (почти) одновременно несколько транзакций используя один и тот же UTXO. Из-за задержек сети, участники получат эти сообщения с разной очередностью, а то и вовсе могут пропустить часть(см схему).
Конечно, если бы у нас была система предоставляющее всем участникам универсальное-точное время, мы могли бы избежать эту путаницу, но это обратно централизация от который мы изначально отказались. Для решения этой проблемы были придуманы блоки и майнинг, которые определяют и очередность, и подтверждение этих транзакций. Одновременно майнятся несколько ветвей, но сложность майнинга корректируется так, что в течение 3-4 блоков вперёд вырывается одна ветка, которая закрепляет все транзакции в истории навсегда.
Proof-of-Work
Как мы помним из предыдущей статьи, PoW защищает целостность базы. Но что такое атака 51% и какие действия в теории могут быть выполнены если у кого-то(назовем его злоумышленником) появятся внушительные ресурсы.
Злоумышленник сможет наращивать цепь быстрее остальных(и забирать львиную долю вознаграждения), но только честным способом. Корректность блока проверить легко, и как только обнаружится такая деятельность добросовестные участники будут игнорировать такие блоки и транзакции.
- Злоумышленник может отменить транзакцию и вернуть свои деньги(см схему).
В целом, такое положение дел на коротком промежутке времени особо не навредит, кроме как откат собственных транзакций и блокирования чужих. Но из-за того, что большую часть вознаграждения будет забирать один участник другие майнеры разбегутся, а вот это и означает конец сети.
В 2014 году пул Ghash.io аккумулировал 51% мощности на несколько часов, и часть майнеров самостоятельно вышли из пула чтобы не подрывать доверие к Биткойну.
Другие механизмы децентрализованного консенсуса
Одним из главных недостатков PoW является энергозатратность. В качестве энергоэффективной альтернативы был разработан протокол консенсуса Proof-of-Stake, где вероятность создания следующего блока выше у участника с большей долей. Здесь очень хорошо описан этот механизм и другие виды консенсуса.
Текущие проблемы Биткойна
По правилам сети, в среднем, 1 блок создается за 10 минут. Советуют ждать около шести блоков чтобы транзакция считалась явно закрепленной в блокчейне, а это уже час времени. По сравнению с межбанковским переводом это конечно очень быстро, но все равно не подходит для мелкой коммерции.
Размер блока ограничен одним мегабайтом, учитывая время создания блока, майнерам выгоднее обслуживать транзакции с высокой комиссией. Недавно, была попытка обновить протокол изменив структуру и размер блока, что в итоге привела к разветвлению сети на классический Биткойн(BTC) и на БиткойнКэш(BCH).
Еще одним недостатком является высокий порог вхождения для майнеров, уже нет смысла заниматься майнингом без ASIC машин. Вдобавок к этому, майнеры объединяются в пулы ради стабильной прибыли, а это обратно некая централизация.
Разновидности
Namecoin — самый первый форк Биткойна, который позволяет регистрировать имена вписывая их в блокчейн. Есть пространства d/ — для доменных имен в зоне .bit, и id/ для регистрации какого-нибудь названия с сопутствующей информацией. Благодаря публичному консенсусу, в рамках сети, вы гарантированы владением конкретного имени, пока за нее регулярно платите. Такая модель является достойной альтернативой текущей системы ICANN, и в теории избавит от проблем с регистраторами.
Litecoin — один из популярных форков. Транзакция проходит в 4 раза быстрее и низкая комиссия по сравнению с Биткойн. Вдобавок, для PoW был выбран алгоритм, которая должна была усложнить майнинг на GPU картах и ASIC машинах.
PeerCoin — первая валюта с гибридной моделью PoW и PoS.
Zerocoin — полностью анонимная валюта позволяющая отслеживать движение денег.
Ethereum — платформа которая служит виртуальной машиной для децентрализованных приложений. Например, разрабатывается какой-нибудь смарт-контракт, заправляют его деньгами(наподобие комиссии, здесь это называется топливо) и отправляют в сеть. Майнеры, в свою очередь, обрабатывая блоки выполняют байткод этих приложений, и снимают себе топливо с этих приложений в качестве платы за работу.
А что же с блокчейном?
Способ, которым Биткойн хранит данные вкупе с методами консенсуса развился в самостоятельную тему. Перспективы внедрения могут быть в любой сфере где есть необходимость в консенсусе и прозрачной базе:
- Финансы, торговля;
- Страхование, букмекерский бизнес;
- Публичные базы, реестры;
- Голосование, электронное правительство.
В каждой сфере предъявляются свои требования к модели безопасности, приватности данных, механизмам консенсуса в зависимости от участников и природы объектов циркулирующих в блокчейне.
Примером может служить частный межбанковский блокчейн, где исключена анонимность и участники изначально доверяют друг другу. Соответственно, упрощаются механизмы защиты сети, а у банков просто будет инструмент для синхронизации базы и совместного управления некими активами. Другими необходимыми требованиями могут быть обмен приватными данными между участниками, подключение надзорных органов и т. д.
Изначально, блокчейн решал вопрос двойного расходования цифровых активов, но в таких сферах как отслеживание товаров и страхование появляется необходимость в эффективном методе сериализации физических объектов, предотвращающий разные роды мошенничества.
Здесь вы можете подробнее ознакомиться с обзором блокчейн платформ.
В следующей части будет описана платформа Ethereum и разобраны примеры смарт-контрактов.
frees2
Как хакеры в погонах грабят наших эстонских друзей. Когда решают те проблему энергозатратности в связи с дорогим электричеством.
Так же это относится к единичным компьютерам, сдача мощности, по вашей схеме распределения, но трафик виден. Компьютеры забирают в ментовку
ariklus
То есть втихую, без согласования с руководством поставили машины и жрали электроэнергию и занмали площадь?
Barnaby
Но судя по статьям их и нельзя было заключить, суррогаты и все такое.