Ответ на «Самый реалистичный взгляд на блокчейн»

Ответ на «Самый реалистичный взгляд на блокчейн»

@alerdenisov критика статьи на rb.ru

Про блокчейны сейчас пишут все популярные медиа и "эксперты". Прислали ссылку на "полезную" статью: «Самый реалистичный взгляд на блокчейн: 12 тезисов, которые вы должны знать по теме». (оригинал статьи)

Не могу обойти ее стороной. Из 12(11) пунктов 9 пунктов полнейшего бреда. Особено после слов автора: «Про ICO пишут все, но никто ничего не знает»

Оформлю ответ в формате цитата - комментарий:


Тезис: Избавиться от посредников — основной смысл

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

Критика: Аудируемость данных — основной смысл

Блокчейн — устойчивая к изменениям база-данных в среде без доверия с возможностью проверить сохранность и достоверность данных. 

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



Тезис: имея 51% мощности сети можно создать любые нужные транзации

В блокчейне вместо доверенного посредника используются довольно сложные (и остроумные в смысле майнеров и вознаграждения им) алгоритмы достижения консенсуса между множеством агентов-участников блокчейна. Грубо говоря, это как если бы Саша перевел 10 долларов Маше, и верность этой транзакции подтверждали бы не банки-посредники, а все остальные люди голосованием. При этом все эти алгоритмы работают, только если большее количество «голосующих» людей – честны. Отсюда и самая очевидная и известная атака на блокчейн биткоина – если сговорившиеся злоумышленники владеют более чем 50% вычислительных мощностей «майнеров», они могут «проголосовать» за любые нужные им транзакции и не будет никакого способа этому противостоять.

Критика: атака 51% очень опасна, но угроза в другом

Атака 51% позволяет:

  1. Совершить двойное расходование своих средств
  2. Отклонять некоторые или все транзакции в сети (но не создавать)
  3. Монополизировать добычу

А про случай с Сашей и Машей. Блокчейн заставляет проверять данные на валидность. Любая транзакция защищена подписью владельца и подделать ее нельзя. Так, что любые нужные транзации — полнейший бред.



Тезис: в биткоине ничего кроме транзакций денег нет

Оригинальный блокчейн – биткоины – позволял записывать только информацию о транзакциях между разными счетами («кошельками») с биткоинами, то есть потенциально мог заменить только банки (или другие похожие транзакционные системы). Собственно, отсюда и первое применение блокчейна – «замена денег». Хотя де-факто, как мы видим, биткоин никакие не деньги пока, а скорее precious commodity. Не бывает денег с такой безумной волатильностью.

Критика: в биткоине есть смарт контракты

Протокол Биткоин позволяет очень многое. Например, Lighting Network.

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

Про волатильность комментировать не буду, я тут не эксперт.


Тезис: огромное количество копий блокчейна и хранение всех транзакций — жуткий waster of resources

Технически (грубо) блокчейн – это один большой файл, лежащий у вас (и у всех остальных пользователей блокчейна) на диске. В этом файле записаны ВСЕ транзакции и он постоянно растет с добавлением новых при помощи peer-to-peer networking протокола. Отсюда очевидна еще одна проблема – хранить ВСЕ транзакции у КАЖДОГО участника сети – жуткое waste of resources. Более того, когда файл вырастет больше определенного размера, с ним станет сложнее работать + мало кто захочет хранить у себя на домашнем компьютере 1 (10, 100) Тб блокчейна. Что само собой как-то убивает красивую идею отказаться от посредников – если полный блокчейн будут хранить только крупные корпорации, они и станут де-факто посредниками.

Критика: больше копий — выше безопасность, все транзакции — 100% аудируемость

Отличный пример, насколько далекие от разработки (программирования, data\computer science) люди могут не понимать базовых вещей. Пожалуй, этот пункт придется разобрать подробно:

  1. Иметь локально все данные блокчейна (даже 100 тб) куда проще и удобнее, чем если бы они хранились "где-то" еще. Чтобы извлечь необходимую информацию из большого файла, нужно просто знать точный отступ от начала файла. Мы можем очень просто получить блок №11423: просто отступить от начала файла 1048576 (1мб) * 11423 байта и получить необходимую информацию. Дождаться ответа на запрос о данных от стороннего хранилища требует куда больше "сил", а точнее времени.
  2. Хранение всех транзакций является основным преимуществом биткоина как платежного средства. У каждого сатоши в системе есть история и ее можно проследить, а не доверять, что у банка действительно есть твои 10 рублей, а это не просто циферки в интернет-банке.
  3. Waste of Resources? Проверка всех транзакций в блоке биткоина занимает доли секунды на средне мощном компьютере. Жертва даже 10 секундами вычислительных мощностей ради полной аудируемости системы никак не назвать waste of resources. (майнить-то необязательно)
  4. Наличие 26,794 (количество активных на 31 июля узлов) копий блокчейна биткоин гарантирует мне, что хотя бы на парочке мои биточечки, но сохранятся.


Блокчейн эфира
(Ethereum blockchain, Ethereum.org) развил эту тему гораздо дальше и дал возможность исполнять произвольный код внутри блокчейна, что позволило реализовывать так называемые «умные контракты» (smart contracts).

Выполнять инструкции VM Ethereum

С этим тезисом согласен, Этериум совершил прорыв в 2013 году. Разве что, нужно уточнить, что произвольный код выполняется в изолированной песочнице VM Этериума.



Тезис: в смарт контракты можно перенести любой юридический язык

Smart contracts – очень красивая концепция. Вместо того, чтобы заключать сложные договоры с привлечением юристов за $1000 в час, и потом тратить миллионы на разборки в судах в случае нарушения контракта, smart contract автоматически гарантирует исполнение его условий. Теоретически, более-менее любой юридический язык можно перенести в смарт-контракт.

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

Смарт контракты подразумевают 100% детерменизм, и любой юридический язык в него не перенести. Юридические тексты часто страдают от двойных (и более) вариантов прочтений.

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

Например: лицензионный ключ на софт будет автоматически выслан по емейлу только после получения оплаты в эфирах вендором. Или фьючерс на нефть будет автоматически settled между участниками рынка на основании цены на нефть, без необходимости делать clearing у брокеров итп, как это происходит сейчас ( = опять убиваем посредников).

Абсолютно бессмысленный "например", потому что:

  1. Смарт контракт не может отправить емейл. Это изолированная песочница, а смарт контракт исполняется на всех узлах сети.. представьте сколько писем отправилось бы.
  2. Смарт контракты нужны не для автоматизации, а для регулирования. (хотя и с автоматизацией справляются, но цена (газ) дорога)
  3. Лицензионный ключ должен быть добавлен вендором в смарт контракт, после добавления появится возможность его купить. Хранить, кстати, лицензионный ключ можно (и нужно) в открытом виде, чтобы все могли убедиться, что он есть и он валидный, а как защитить свое ПО в таком случае могу рассказать в отдельном после (пишите @alerdenisov в телеграм с запросом)



Тезис: реальных решений на Ethereum никаких нет

Практически все не очень радужно. Во-первых, масштабируемость. Большинство новых ICO и решений на smart-contracts делаются на блокчейне эфира, который поддерживает максимум 15 транзакций в секунду и уже занимает более 100Гб – при том, что реальных решений на нем никаких нет. То есть, при появлении сколько-нибудь популярных сервисов все ляжет очень быстро.

Критика: 147 dapps уже работают на Ethereum

Низкая производительность в proof-of-work — основная причина, почему команда Ethereum двигается в сторону proof-of-stake. 

Инвесторы в ICO понимают, что проекты, которым требуется производительность, выйдут в свет примерно с переходом на PoS.

Ну, а про решений нет. 593 децентрализованных приложений с dapps.ethercasts.com поспорили бы с утверждением. (147 отмечены как Live)



Тезис: консенсус бессилен в вопросе доверия внешним данным.

Во-вторых, остается проблема с доверием внешним данным.В примере с нефтяными фьючерсами – откуда умному контракту брать цену на нефть внутри блокчейна, которой доверяют все участники контракта? Консенсусом ее определять бессмысленно, остается Chicago Mercantile Exchange итп – то есть, опять существующие посредники. Какой смысл убирать одного посредника, но оставлять остальных 25? Или, а что если злоумышленник пошлет цену на нефть внутрь блокчейна, которая выгодна ему?

Критика: алгоритм консенсуса между участниками соглашения эффективный и проверенный способ решения вопроса доверия

Чтобы понять почему и как отправлять в блокчейн информацию из внешних источников нужно погуглить:

1) Byzantine faults 

2) Multisig

3) Light Client

Если вкратце. Стороны соглашения (контракта) устанавливают программное обеспечение (тонкий клиент) задача которого раз в Х времени отправлять актуальную цену на нефть в блокчейн. Если среди сторон окажется один негодяй — его вариант проигнорируется в соответствии Byzantine faults tolerance. И система будет работать (с актуальной ценной) пока количество негодяев не превышает 1\3.

Есть и более изощренные схемы, но даже такая будет работать.



Тезис: никто ничего лучше Ethereum не показал

Заявок о том, что «мы сделаем блокчейн, который поддерживает 100 тыс транзакций в секунду и не растет» было уже несколько, но никто пока ничего не показал. Либо там жуткие компромиссы в смысле уязвимости к атакам на консенсус. Из последнего – очередное ICO собравшее сотни миллионов уже с безумной капитализацией как обычно, www.tezos.com. Но у них хотя бы в разработке уже несколько лет, то есть надежда есть конечно.

Критика: достаточно вглянуть только на Steemit, чтобы убедиться в ложности тезиса

170 000 активных пользователей социального медиа (блог платформа) на блокчейне. В реальном времени. Красивый мониторинг активности: http://steemstream.com/

В дополнение советую взглянуть на данные проекты: bitshares, graphene, exonum, eos.


Тезис: Decentralized Autonomous Organizations — спорная тема, но если навесить AI может много нового получиться

DAOs – decentralized autonomous organizations – еще одно продвигаемое применение блокчейна, этакая замена классическим юридическим лицам, где решения принимаются голосованием участников и смарт-контрактами. Тема отдельная, спорная, но опять же концептуально – навесив сюда еще и AI для принятия решений, может много нового получиться. Скажем, процесс закупок всего чего угодно (очень коррупционный везде, не только в России) можно полностью поручить AI при поддержке автоматического исполнения условий контракта инфраструктурой блокчейна.

Критика: идеальное DAO когда никто не голосует, а потребности в "AI" нету.

Подал на ввод Х (денег, данные) получил на выходе Y (100% и без каких-либо голосований, а уж тем-более AI). Проблема в том, что такие сценарии (100% прогнозируемые) требует сильного изменения привычных бизнес процессов.

Но можно навесить AI, добавить VR и другие модные слова. Так ICO лучше пройдет.


Тезис: делать решения на блокчейне очень просто

Начать делать решения на блокчейне вы можете уже сегодня и очень просто. Язык смарт-контрактов эфира очень простой, есть javascript библиотека, технически, как уже было сказано, это просто файл у вас на компе, с которым вы работаете локально через API, причем локально вам доступно ВСЕ, что есть в блокчейне эфира (удобно), а информация распространяется автоматически всем остальным через peer-to-peer протокол.

Критика: блокчейн — это не просто!

Просто внесу ясность. Информации мало (в сравнении с веб-разработкой, например) и многому обучаться предстоит методом тыквы. А требования к технической подготовке в разы выше, чем в других сферах IT.

Не знаю о какой javascript библиотеке говорит автор, но в написании смарт контрактов вам поможет:

  1. remix.ethereum.org создает VM этериума прямо в браузере и позволяет эмулировать работу смарт контракта.
  2. Локальная нода (geth) и кошелек с возможностью работы с контрактами (mist)

Но, советую смотреть дальше в будущее (вам же еще на обучение время тратить) — EOS, форк\сабчейн Steemit, Graphene, Exonum.


POST SCRIPTUM

Полностью согласен с утверждением автора, что об ICO (и блокчейне) пишут все, но никто ничего не знает.

Общайтесь с авторами проектов, протоколов и активными разработчиками. Это открытые люди, что всегда (и с удовольствием) ответят на вопросы и расскажут детали их проектов.

Другие статьи и информацию о работе блокчейна
можно почерпнуть на канале:

https://t.me/blockchain_engineers


Report Page