А Bitcoin можно доверять?

А Bitcoin можно доверять?

@GetTheBits

Хорошего тебе настроения, читатель.

Сегодня мы основательно рассмотрим один из краеугольных камней криптовалют. Если вы максималист и фанат крипты, то скорей всего статью не дочитаете. Максималисты в крипто мире подобны религиозным адептам. А как знает любой атеист - вера критики не терпит.

Если же вы любознательный и с критическим мышлением то, как говорят, Wellcome.

Trustless.

Перевести это слово можно как «не нуждающийся в доверии». Трастлесс - одна из рекламируемых характеристик практически любого блокчейна и его сильная сторона.

Изначально, идея была в том, что может не быть доверия между пользователями, например, биткоина.

Достаточно довериться проверенным алгоритмам криптографии, таким как SHA256. А уже комбинация оных сделает невозможным нечестное поведение всех желающих использовать криптовалюту.

Проблема в том, что даже если мы доверяем самим алгоритмам (не думая о черных лебедях среди них), важно не забывать, что сеть состоит не только из теоретических полных нод пользователей. В ней гораздо больше различных винтиков. Начиная с оборудования для майнинга и заканчивая разработчиками софта.

В этой статье, я постараюсь описать возможные точки доверия на примере Биткоина. Т.к. это самый распространенный и простой проект.

Ошибки

Чтобы стать пользователем Биткоин, вам необходимо скачать кошелек Биткоин.

Что такое кошелек? Это программка на вашем компьютере или смартфоне, позволяющая принимать и посылать ваши биткоины другим владельцам Биткоин кошельков.

И уже на этом этапе вам необходимо доверится выбранному кошельку.

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

Что, собственно, и написано на странице разработчиков проекта основного биткоин кошелька BitcoinCore.

«this is a security-critical project where any mistake might cost people lots of money»

«Этот проект очень зависим от безопасности кода. Одна ошибка может обойтись пользователям большим количеством потерянных денег.»

Также возможен умышленный саботаж кода кошелька.

Т.е. ситуация, когда под давлением извне или какой-то другой причине, один или несколько разработчиков кошелька Биткоин добавит в код ошибку намеренно. Или спрограммирует другое неожиданное и разрушительное поведение кошелька.

В теории это может полностью сделать сеть Биткоин неработоспособной на какое-то время.

Именно поэтому наиболее безопасными кошельками считаются кошельки с открытым исходным кодом. Код таких кошельков выложен в свободный доступ в интернет. Каждый желающий с нужными знаниями может проверить их на безопасность прежде, чем использовать такой кошелек самому.

Но вот в чем загвоздка. Качественно проверить тысячи строк кода сложнейшей программы могут единицы людей в мире. Вам же придется довериться уже этим людям, если таковыми навыками проверки вы не обладаете.

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

Примером такого кошелька может служить озвученный кошелек Bitcoin Core.

BitcoinCore

Его разрабатывают те же разработчики, которые уже около декады обновляют и разрабатывают протокол Биткоин. Они продолжают менять и улучшать оригинальный код десятилетней давности. Код самого Сатоши Накамото.

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

За 10 лет были произведены десятки тысяч правок кода. В чем можно убедится, посмотрев даты и количество правок и дополнений на сайте GitHub.

Команда BitcoinCore считается высококлассной командой программистов. Многие из них, к тому же, обладают большим количество биткоинов. Поэтому в их личных интересах писать и допускать качественный код кошелька. Иначе их биткоины могут обесцениться после краха сети.

Но это не убирает необходимости довериться команде.

Вот вам пример. Есть такое соревнование среди программистов Underhanded-C.

На этом соревновании программисты стараются написать зловредный код так, чтобы люди тестирующие и проверяющие этот код не смогли догадаться, что он вредоносный. И это не все.

Самая соль этого соревнования состоит в том, чтобы вписать зловредную ошибку в код таким образом, чтобы при обнаружении она выглядела как обычная опечатка или случайна ошибка, а не злой умысел. На это способны только очень крутые программисты.

Недавний баг в Bitcoin мог бы быть написан именно таким образом. Я говорю об ошибке обнаруженной в сентябре. Ошибка была настолько страшной, что разработчикам пришлось скрывать о ней информацию, пока все не установят исправленное программное обеспечение.

И не важно сколько всего видов биткоин кошельков, майнеров и другого софта существует. Все описанное будет актуально и для них.

Материальные кошельки

Понятно дело, максималисты сейчас скажут, что можно использовать бумажный кошелек и сделать несколько копий. Например, так хранят свои Биткоины братья Винклвоз. Первые крипто миллиардеры в мире.

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

Я знаю о чем вы подумали. Хардварные кошельки вроде Ledger.

И с ними, по сути, все тоже самое что с софтом. А возможно даже хуже.

Вам необходимо довериться программному обеспечению внутри кошелька – прошивке. А также разработчикам его обновляющим. Да и аппаратному дизайну чипов в кошельке вам тоже придется довериться.

Если вы думали, что ошибки бывают только в программах, то хочу вам напомнить совсем недавнюю ошибку во всех процессорах Intel Core. Я говорю об уязвимостях Spectre и Meltdown.

Они позволяли получить доступ к пользовательским данным без согласия пользователя. И самое страшное, что ошибку в аппаратном дизайне не так-то просто исправить как строчку в коде. Нужно выпускать новый чип или плату.

Intel до сих пор полностью не решила озвученную проблему. А прошло уже около 2х лет с момента обнаружения. Да, разработчики прошивки могут закрыть временно такие аппаратные ошибки внесением изменений в код прошивки. То есть, чтобы программа-прошивка в вашем Ledger не давала возможности использовать аппаратную ошибку в чипах этого Ledger.

Но тогда мы возвращаемся к вопросу доверия прошивке устройства и разработчикам. В прошивках Ledger и Trezor уязвимости уже тоже, к слову, находили.

Еще можно вспомнить возможные проблемы и уязвимости в Windows\MacOS\IOS\Android. Ведь вам, как правило, необходима операционная система для запуска ПО кошелька.

Если вы думали, что это все, то как бы не так. На текущий момент мы с вами обсудили только проблемы кошельков. А ведь есть еще и майнеры.

Пулы и майнеры

Майнеры, возможно вы уже знаете, это люди или компании предоставляющие свои вычислительные мощности для поддержания работы и уcиливания безопасности сети Bitcoin. За это они получают награду в Биткоинах пропорциональную мощности предоставленной в сеть. Собственно, именно так появляются новые биткоины пока их не станет 21 000 000 штук.

Так вот. Майнеры используют 2 компонента для своей работы.

1.      Майнинговое оборудование. Сейчас это ASIC устройства. Железо этих устройств и прошивка в 80% случаев создается компанией BItmain.

2.      Пулы. Это удаленные сервера, майнеры подключаются к ним для объединения своих мощностей. Сервера пулов принадлежат сторонним компаниям. На них используется специализированное ПО.

Если вы поняли алгоритм выявления мест доверия, когда мы разбирали кошельки, то сразу заметили такие точки доверия здесь. А именно:

1.      Железо ASIC

2.      Прошивка ASIC

3.      Софт пулов

4.      Железо пулов

5.      И люди за всем этим стоящие.

Последствия от злого умысла или ошибок в этих частях могут носить фатальный характер как минимум для цены Bitcoin.

И здесь тоже уже были прецеденты.

Компанию Bitmain уже уличали в скрытых возможностях выключения в прошивке их майнеров. Такую возможность назвали AntBleed.

Да и с пулами ситуация настораживает. Около половины из них находится в одних руках. Той же компании Bitmain. Как раз столько нужно для единоличной фильтрации сети или обрушения курса в сотню раз.

Именно поэтому недавно было предложено программное обеспечение для пулов BetterHash разработчиком BitcoinCore. Это программное обеспечение должно помочь изолировать возможность владельцев пулов навредить сети Биткоин, даже если у них будет больше половины мощностей во владении. Осталось только заставить пулы его установить.

Как вы думаете все точки доверия мы обсудили? Нет не все. Недавно появилась еще одна.

Lightning Network.

Lightning Network это своеобразное расширение возможностей сети Bitcoin.

Сама сеть Биткоина, как возможно вы уже возможно знаете, при сильной загрузке, не способна обрабатывать транзакции быстро, и самое главное, дешево. А Lightning Network должен решить эти проблемы.

С появлением Lightning Network связана забавная история.

На проблему медленной скорости Биткоина одним из первых указал Дэн Лаример. Автор криптовалюты EOS. Причем он высказал это лично Сатоши Накамото на форуме Bitcointalk.

Дэн Лаример указал, что текущие изьяны Биткоина не позволят использовать его массово как обычную кредитку. Далее Лаример описал идею Lightning Network. Лаример предложил создать сеть микробанков проводящих через себя транзакции быстро и за маленькую комиссию. Собственно, в этом текущая суть Lightning Network.

Lightning Network это надстройка представляющая собой сеть узлов, которые проводят через себя транзакции. LN является вторым опциональным способом перевода средств в сети Биткоина в дополнение к уже существующему.

Узлом может быть в теории каждый, хоть вообще все участники. Но для этого нужно зарезервировать определенное количество биткоинов для этого. Плюс перед отправкой средств нужно оплатить комиссию за намерение (открытие канала) совершать транзакции.

В теории можно обойтись без узлов и сделать отправку от одного пользователя напрямую к другому. Но это нереалистичный сценарий ввиду двойных комиссий (а в Биткоин они достигали 50$ за раз) для каждой отправки и приема средств каждого пользователя. Да и технически это пока очень неудобно.

Ирония состоит в том, что Сатоши не согласился с Ларимером и этим концептом. Но спустя несколько лет Сатоши пропал, а мы наблюдаем ликование Биткоин максималистов запустивших Лайтининг Нетворк.

Проблема Лайтининг Нетворк, которую кстати Лаример и озвучил в предложении Сатоши – доверие узлам-нодам Lightining. А если точнее - доверие софту на узлах и людям его контроллирующим.

В LN огромное количество транзакций гарантировано через себя смогут пропускать только узлы богатые балансом биткоинов и с хорошей технической поддержкой серверов (в перспективе Amazon, Google и подобные).

Есть и другие проблемы, вроде необходимости быть онлайн для принятия платежа. Что увеличивает время нахождения приватного ключа в "горячем режиме".

Вообще протокол Lightning Network все еще активно дорабатывается, и возможно проблемы будут исправлены, но назвать его Trustless пока, увы, нельзя.

Переходим к итогам.

Как вы уже поняли, понятие Trustless к сети Биткоин относится не в полной мере. И еще в меньшей мере к криптовалютам со смарт контрактами. Ведь смарт контракты это еще одна сущность, требующая доверия по тем же пунктам что я описал выше.

По сути, говоря о Trustless, речь идет о субъективной минимизации доверия по сравнению с обычной банковской системой с ее кредитками, ФРС и правительством.

Ликвидировать доверие полностью и создать на 100% Trustless валюту, возможно, сможет только искусственный интеллект когда-то далеко в будущем. Сейчас же идет речь о том, где доверия требуется меньше. В банковской системе или у блокчейн криптовалют. В частности, Биткоина.

Софт и железо используются для транзакций и в банках, с теми же возможными проблемами. Так что тут паритет. Но так как Биткоин убирает необходимость в огромном централизованном пласте банковских и правительственных структур, то доверия, на мой взгляд, он требует меньше.

Но кто-то со мной не согласится. Отдаст преимущество банкам. Например Швейцарским. Ну, автомобили тоже ругали когда-то когда они появились. Предпочитали лошадей и 9 футовый слой навоза на улицах. Всегда есть такие люди.

P.S.

Я не сравнивал в этой статье экономические мотивации, т.к. это отдельная большая тема про рациональное и иррациональное поведение людей. Там тоже не все так однозначно как нам рассказывают криптокиддис.

Если вы дочитали до конца, то несмотря на возможное (если вы фанат крипты) испорченное настроение или даже возмущение, прошу поставить лайк под этой статьей, все же я старался написать ее объективно и потратил достаточно много времени.

Спасибо. :)

#АНАЛИТИКА

Report Page