ББ-077: Игорь Яловой (Zeppelin) о mass adoption среди разработчиков

Zeppelin — одна из старейших компаний в экосистеме Ethereum, авторы де-факто стандартных шаблонов для ERC-20-токенов и востребованные аудиторы смарт-контрактов. В этом выпуске обсуждаем с Игорем Яловым из Zeppelin безопасность смарт-контрактов и перспективы массового распространения блокчейн-технологий.

  • 00:20 где базируется Zeppelin?
  • 00:58 чем отличаются Zeppelin, OpenZeppelin и ZeppelinOS?
  • 03:30 находили ли уязвимости в контрактах OpenZeppelin (спойлер: нет)
  • 05:22 кто делает внешний аудит для Zeppelin?
  • 06:00 какие аудиты делает Zeppelin?
  • 06:45 аудит компилятора Solidity
  • 07:50 что такое ZeppeinOS (скоро Open Zeppelin Platform) и обновляемость контрактов
  • 09:10 недостатки обновляемости? использование DELEGATECALL и совместимость с мультисигами
  • 16:30 mass adoption среди пользователей и среди разработчиков
  • 17:32 как меняется developer experience?
  • 19:58 то, что писали два года назад, это песочница?
  • 22:57 инструменты для безопасности могут заменить аудитора?
  • 24:10 CoinPledge
  • 27:10 как устроена работа Zeppelin? ищут разработчиков!
  • 31:00 SECURITY.md: как репортить уязвимости?
  • 32:00 Solidity Hot Loader
  • 36:21 Gas Stations Network: как оплачивать транзакцию за пользователя (децентрализованно)
  • 42:25 как платить комиссию релеерам?
  • 45:42 чем интересна тема governance?
  • 53:55 чем Moloch лучше грантов Ethereum Foundation
  • 56:45 криптография и насилие (а также наркоторговля)
  • 1:01:12 о слежке со стороны корпораций (take back control!)
  • 1:07:03 что больше всего мешает mass adoption’у?
  • 1:10:30 массовое распространение может не настать?
  • 1:13:58 связано ли распространение биткойна и эфириума?
  • 1:15:00 вопрос слушателя: просветительская деятельность Zeppelin
  • 1:18:10 анонс: воркшоп по Open Zeppelin Platform в Москве летом

Ссылки:

basicblockradio.com

 — Привет, друзья. Это Базовый Блок, подкаст про блокчейн. Сегодня с вами я, Иван Иваницкий, и Евгений Марченко в качестве соведущего. Привет, Евгений.

 — Всем привет.

 — И в гостях у нас сегодня Игорь Яловой из Zeppelin. Привет, Игорь.

 — Привет. Здравствуйте, слушатели. 

 — Спасибо большое, что согласился к нам прийти. 

Zeppelin — вообще глобальная компания. У нас есть всего один офис в Буэнос-Айрес, потому что основатель оттуда. Но компания распределена — у нас есть люди в Австралии, вот я в Москве, есть в Штатах, Нью-Йорке, в Сан-Франциско. Почти все они работают не в офисе. То есть, в виворке. Вот я жду, пока виворк московский откроется, они обещали открыться ещё в мае, но что-то всё никак.

 — В смысле коворкинг?

Да, да.  Чтобы ходить в коворкинг. Но дома в Москве очень удобно работать. Просто не тратишь время туда, обратно. Спасает.

 — Это да.

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

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

 — Контрибуторов за пределами Zeppelin?

Да. То есть, Zeppelin выполняет больше функцию модерации, аудита, чтобы код соответствовал высоким требования. Но очень много контрибуторов, которые в течение длительного времени вносят какие-то правки и развивают проект. 

 — А какое к нему отношение внутри компании? И насколько важную он сейчас роль играет для Zeppelin?

Отношение? Все его любят. Играет, конечно же, важную роль, потому что это очень узнаваемый продукт, то есть все знают про OpenZeppelin и более того, даже из-за этого были некие сложности с брендингом, потому что компания называлась просто «Zeppelin» и когда ты приезжаешь куда-то, тебе говорят: «О, это OpenZeppelin». Соответственно..

 — Должен признаться, я сам грешен и долгое время думал, что компания называется OpenZeppelin.

На DevCon меня спрашивал, я общался с кем-то из твоих коллег и у меня задали вопрос на засыпку: «Чем отличается Zeppelin, OpenZeppelin и ZeppelinOS? Я мужественно ответил на этот вопрос, не перепутал, но я так понял, некоторые люди вполне не различают и путают эти понятия? 

Да, я поражен, что ты не перепутал, потому что даже в самом Zeppelin это вызывает много недоразумений. И более того, я не знаю, мы анонсировали это или нет, но у нас очередно ребрендинг приближается и всё будет называться OpenZeppelin именно по этой причине. 

 — То есть, просто решили на корню эту проблему. 

Соответственно, вот у меня маечка из ZeppelinOS —  это уже устаревшая маечка, потому что Zeppelin у нас будет называться  OpenZeppelin Platform. Библиотека с контрактом будет называться OpenZeppelin или просто  OpenZeppelin Contracts для того, чтобы не вводить людей в заблуждение.

 — У меня на самом деле было ещё парочку вопросов про  OpenZeppelin, который смарт-контракты. Во-первых, это такая библиотека, которая стала стандартом по сути. Дефолтный такой источник типичных контрактов. Было ли такое, что в коде находились какие-то уязвимости, баги и надо было как-то менять, править это, но при этом, когда такой проект используется всюду, уже нельзя просто сказать: «А, знаете, у нас тут уязвимость критическая, поэтому поправьте, пожалуйста. А, смарт-контракты уже задиплоены, да? Ваши проблемы». Были ли какие-то такие проблемы, такие истории? 

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

То есть, ваши контракты, конечно, безопасны, но в половине случаев их пытаются модифицировать и пусть лучше там будет проверок больше, чем достаточно, да? Если даже половину из них сломают, выкинут и ещё что-то, всё равно контракты, наверное, останутся безопасными. 

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

Круто.

Ты сказал, что проводится внешний аудит платформы перед каждым обновлением.

Библиотеки.

Библиотеки, да. Смарт-контрактов. Внешний аудит — это в смысле  Zeppelin заказывает у какой-то третьей конторы платный аудит просто, да?

Да, у  Zeppelin есть партнеры и другие аудиторы, потому что аудитор не может сам себе делать аудит, это было б психологическим заболеванием практически.

Известная проблема.

Соответственно,  Zeppelin иногда заказывает у своих партнеров-аудиторов аудит практически любого продукта, который мы выпускаем. Без этого никак.

Zeppelin тоже делает сейчас сам аудиты? 

Да. 

И вы делаете аудиты какого типа продуктов?

Всё, что связано с блокчейном. Не всё, в основном мы фокусируемся на Ethereum, но рассматриваем и другие сферы. Но там очень важно, чтобы в нашей команде были достающие компитенции. Могу привести пример — если, например, проект использует какую-то очень глубокую криптографию уровня «Мы запилили свой протокол», то мы скорее всего не будем делать этот аудит, потому что у нас нет супер экспертов в криптографии супер низкого уровня. И плюс, это всегда очень рискованно, потому что когда кто-то пытается изобрести свою криптографию — это.. Очень легко придумать протокол, который ты не сможешь сломать. Тяжело придумать протокол, который никто не может сломать.

Я так понимаю, вы ещё делали аудит компилятора Solidity и это был какой-то безумно долгий проект?

Да. 

Можешь немножко рассказать про это?

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

Но сделать комментарий, который релально был кодом.

Да. Но чтобы сразу расставить все точки над i — я тогда ещё не работал в Zeppelin. Я работаю в Zeppelin только с января этого года, поэтому я один из таких новоиспеченных.. Не один из новоиспеченных сотрудников. Zeppelin просто сейчас активно нанимает сотрудников с начала этого года и я уже давно не новоиспеченный сотрудник, потому что там после меня люди присоединились. Я знаю про этот аудит, но, опять же, супер подробности я вам не могу рассказать.

Слушай, а вот если говорить о тебе. Можешь в двух словах описать чем ты сейчас занимаешься в Zeppelin?

Да, конечно. Я работаю на то, что называется ZeppelinOS или Open Zeppelin Platform, как скоро будет. Это платформа, которая преследует цель упростить и дать возможность для разработки блокчейн приложений в целом для разработчиков. И одна из ключевых фичей, отличий от похожих других платформ, Truffle или Embark, — это фокус на то, что называется upgradeability, способность апгрейдить контракты после того, как вы их задеплоили. Почему это важно мы можем обсудить, если вы хотите. Я считаю, что это достаточно важно. Дело в том, как мы все знаем, в основном контракты — они не меняются. То есть, если вы задеплоили свой контракт, а потом обнаружили, что надо было аудит сделать до этого и бросились делать аудит. Или вам кто-то на Reddit пишет, что у вас тут уязвимость. Даже если деньги не исчезли, то изменить код конракта будет невозможно. Это одна из проблем. А вторая проблема — это что всё меняется, бизнес требования меняются и нам нужно добавить какие-то фичи в контракт, а возможности такой уже нет.

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

Конечно. Я думаю, стоит зайти с самого начала — что идея апгрейда смарт контрактов, она не новая и существует несколько подходов, как это делать. И в ZeppelinOS мы используем подход, которые использует инструкцию EVM машины, называемую DELEGATECALL, которая вызывает код другого контракта на твоем аккаунте, над твоими данными, как собственный. Таким образом используя эту инструкцию, ты можешь менять реализацию своего контракта, при это твой аккаунт сохраняет данные. Существуют другие подходы, где, например, используют хранилище данных, как отдельный контракт, но я сейчас не буду в это ударяться. Скажу так, что после достаточно длительного исследования в Zeppelin мы решили, что DELEGATECALL — это оптимальный подход, если сравнивать его с другими подходами. А потом, в чем преимущество использования ZeppelinOS, хотя сам подход upgradeability через DELEGATECALL, он укладывается в принципе в одну статью, на medium есть несколько статей, можете прочитать. Собственно, есть Зепелиновские статьи. Там достаточно всё понятно, но от того, что понятно это не избавляет вас от необходимости написать Solidity код, написать весь сопутствующий код, который будет эти контракты создавать, менеджить и достаточно много работы, которую мы уже проделали. Проект является опенсорсным и этот код прошел аудит. И, собственно, другие, кому было интересно, они пытались найти уязвимости и, вроде, пока всё с этим хорошо. Это почему это использовать. И как это работает? Ещё раз, у вас есть сама реализация, есть прокси и вызовы идут в прокси. И когда вы делаете апгрейд, у вас меняется реализация, но все ваши вызовы и другие идут в прокси. И из-за банальной проблемы, которые кажутся банальными, но они чисто практически вызывают много затруднений. Например, большинство проектов, они используют multisig wallet. Я не знаю, как это будет по-русски. Кстати, сразу извиняюсь перед нашими слушателями. Я совершенно не владею техническим русским языком, поэтому..

Его нет.

Я тоже multisig — это multisig и есть. 

Хорошо. И, соответственно, multisig wallet должен владеть этой прокси и посылать ей транзакции «Давайте сделаем апгрейд или то ещё». Но некоторые multisig wallet, например, не умеют подписывать произвольные транзакции. И потом мы в Zeppelin очень быстро поняли, что если у тебя очень много прокси разных, вроде их 20. Чтобы проапгрейдить их все.. Например, поменять им всем владельца, да? То есть, вот девелопер их задеплоил и говорит: «Давайте дадим контроль фаундерам, например. Кому нужно». И он должен, соответственно, эти 20 вызовов как-то руками делать. Соответственно, вот все эти вопросы, они решаются в ZeppelinOS, чтобы.. Там у нас есть CI. Чтобы ты просто используя CI-команды, мог это вообще всё делать или писать скрипты, как все драматизируют, и вообще мыслить на принципиально другом уровне. Это немного про проект. А теперь отвечая на вопрос «А какие трейдофы?» Конечно, они есть. И главный трейдоф — это расходы, потому что когда ты вызываешь контракт через прокси, есть, что называется gas overhead, и я его даже считал в прошлом месяце, по-моему. На форуме у нас есть ответ на этот вопрос. Я сейчас не помню, какая цифра, но она существует. Соответственно, каждый твой вызов к этому контракту, он становится дороже. И, соответственно, если у тебя какой-то проект, где очень-очень много транзакций, то есть это экономика какого-то большого масштаба. Этот, даже пусть маленький процент, поскольку касса стоит денег, он конвертируется в какую-то реальную сумму. Так же deployment контракта. deployment прокси контрактов, он выгоден, когда ты, например, делаешь кошелек для пользователей и ты один раз задеплоил сам кошелек, и у тебя потом много прокси, много прокси — и ты каждому пользователю раздал прокси. Ты здесь экономишь, потому что ты один раз задеплоил весь код самого контракта. Это понятно? 

Понятно. Я просто именно Parity, извините.

Да, парити — это..

Известный пример такого подхода.

Да, но вот они.. Ладно. Они не использовали ZeppelinOS и облажались. 

ДАЖЕ НЕ Zeppelin. Насколько я знаю, у них не было аудита. То есть, не было аудита. Я не могу представить, что аудиторы не заметили незащищенный конструктор. Насколько я знаю, не было аудита у Парити.

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

Да.

Я просто смотрел код.

К слову о кошельках, вот другой известный кошелек Gnosis multisig. Не знаю, знаете или нет. Много кто использует. Как раз Zeppelin делал им аудит. Поэтому мы их везде указываем, как кошелек. Возвращаясь к выгоде, если у вас, например, не кошелек и миллион прокси для миллиона пользователей — очень выгодно. Вы сэкономили ( 14:29 , неразборчиво). Но если у вас другой проект. Например, у вас очень большие контракты и вам каждый контракт нужен всего один, то вы деплоите и контракт, и прокси к нему. И получается, что это больше газа требует. То есть, нужно деплоить не сам контракт, а прокси ещё. Это в плане денег газа недостаток. И в плане управления всем этим — мы сейчас активно работаем, чтобы как раз это было как можно проще, но есть определенные именно практических больше усилий требуется,  чтобы этой системы. Когда у тебя есть просто контракт, ты просто вызываешь методы этого контракта и ни о чем не думаешь. Когда у тебя есть контракт и прокси, и у него есть одна, другая пегментация — ты тратишь больше времени, чтобы понять, где у тебя все эти адреса, записать их.Как раз мы решаем эти проблемы. А если у тебя прям очень много прокси, у нас сейчас есть прокси-админы. То есть, это такой контракт, который управляет всеми остальными прокси, чтобы тебе не нужно было каждое свое прокси в проекте менять владельца при необходимости. 

То есть, я правильно понимаю, что если я хочу upgradeable контракт и согласился с тем, что я хочу использовать тот же самый подход, и я рассматриваю два варианта — использовать ZeppelinOS и не использовать, написать всё руками. Код задеплоеный будет в общем одинаковый, и расходы будут одинаковые. Разница в том, что в ZeppelinOS будет использовать аудированный код, все скрипты, который мне пришлось бы писать руками — деплои и апдейты, на java script, скажем так, они уже будут более менее тоже написаны. И как такового, если я согласен на такой дизайн, оверхеда никакого не будет, зато у меня будет меньше именно всякого такого болеерплейда и обслуживающего, скажем так, кода. Потому что это уже заложено в систему, получается?

Да, мы когда думали в каком вообще направлении надо двигаться, сейчас главная проблема блокчейна — это называется mass adoption. Но у mass adoption есть две стороны, потому что есть две группы людей — это есть пользователи, а есть разработчики. И с mass adoption у разработчиков тоже есть определенные проблемы. Любой человек, который когда-нибудь писал приложение на блокчейне, он сразу поймет о чем я говорю, потому что если сравнивать разработку на айфи с разработкой на том же React — это просто неба и земля. Настолько комфортней разработка под обычный веб, чем разработка на эфире, где часто у тебя вместо stack overflow, у тебя ещё есть на github, причем ещё есть на проекте, который не работает. Причем, ты там пишешь «У вас тут баги и что-то не работает», тебе пишут: «Да, мы знаем, но сорян, пока нет времени». И то, что мы пытаемся сделать.. Вот я в частности занимаюсь film developer experience, такая глобальная цель видения — это сделать разработку для разработчиков на эфире и вообще на блокчейне максимально комфортной. Чтобы они чувствовали себя просто супер комфортно.

Можешь рассказать, ты над этим работаешь или хочешь, как минимум, работать? Ты должно быть следишь вообще тогда за тем, как меняется developer experience  Какие изменения ты бы мог там сказать за последние полгода или может быть год произошли?

Инструменты для разработки становятся лучше, то есть они объективно улучшаются, становится меньше каких-то меньше каких-то непонятных, грубых ошибок. Если взять основные фреймворки, тот же Truffle, Ganache, Remix — они все развиваются и уровень ошибок меняется. Да, ошибки не исчезают никуда, но если взять год, два года назад были совсем какие-то нелепые ситуации и ошибки, а сейчас с таким можно реже столкнуться. И становится всё больше и больше того, что я назвал — комфорта и утилитарности. Появляется очень много проектов. Опять же, эко-система растет не только вглубь, не только Truffle становится лучше или вестмен, но и вширь. То есть, появляются какие-то новые фреймворки, которых раньше не было принципиально. Вот я недавно видел фреймворк для тестирования. По-моему, он назывался Waffle. То есть, есть Truffle, есть Ganache, а это называется Waffle. И, соответственно, у Embark появился Debugger. До этого Debugger единственный был у Truffle, если я не ошибаюсь. А вот пару месяцев назад видел, что у Embark появился очень неплохой Debugger для EVM-кода. Ещё в Remix есть Debugger, конечно же.

В Ремиксе есть, да.

Да. Соответственно, появляется очень много именно командных утилит, которые делают кучу рутины, которую ты раньше должен был делать сам. Например, если тебе нужны ответы на какие-то вопросы, например: «Покажи мне все транзакции этого контракта за последний месяц». Казалось бы, тривиальная задача, потому что ответ очевиден, но без определенной утилиты.. То есть, это надо сесть и писать код. 

То есть, это надо либо коду, либо Etherscan, получается? Раньше по крайне мере надо было.

Да, но Etherscan руками. А если это нужно как-то автоматизировать, то нужно было сесть, написать код на Nojs, Web3js, который к энфурижи приконнектится и эти данные вытащит, куда-то сложит. А сейчас вот есть утилиты и можно одну команду написать, и он тебе json отгрузит.

Удобно, да.

Я вот о чем подумал. Мы говорим о том, что сообщество развивается, инфраструктура развивается, и что сейчас есть такие тулы, которых не было год назад, два года назад. Но понятно, что для серьезной промышленной разработки эти тулы по большому счету необходимы. И необходимы скорее всего даже такие, которых ещё нет. Можно ли в этом контексте говорить, что то, что разрабатывали и как разрабатывали 2 года назад — это априори не серьезная промышленная разработка, а скорее какой-то ресерч или песочница или что-то такое?

Я бы сказал, что и да, и нет. Да — потому что это прям очевидно, очень такие нулевые дни в эко-системе. Если сравнивать эко-систему Дотнета (20:38, неразборчиво), jsэкосистему с эко-системой Эфира, прям супер очевидно, что это всё просто начало начал. Но с другой стороны люди швыряют миллионы долларов в проекты и сказать, что это не продакшн нельзя, потому что.. Конечно, нет такого прям супер глобального использования, но какое-то использование есть. Сейчас вот есть Maker, который вчера читал. Они, по-моему, на 75 миллионов долларов вышли в свое пуле. Или что-то такое. Какая-то приличная сумма.

Вчера смотрел, было 82 миллиона долларов у них.

Ой, даже больше, да? Есть различные проекты, где обороты уже в миллионы долларов и поэтому сказать: «Нет, ребят, извините, это не продакшн, это эксперименты» — у меня не поворачивается язык. С другой стороны, вот эти первые компании, они несут на себе все самые большие риски, потому что пока их экосистема и методики всё не отработано.. Знаете, как методички безопасности пишутся кровью, так же и в Эфире — все лучшие принципы проэктирования, они отрабатываются чужими хаками.

Чужими деньгами оплачиваются.

Да, чужими деньгами оплачиваются. Причем, по очень высоким рейтам, прям очень высоким рейтам.

Кстати, в последнее время, по-моему, не было таких громких атак, когда десятки миллионов, сотни миллионов — такого в 2019 году, по-моему, вообще не было.

Какую-то же биржу ограбили недавно. Binance ограбили.

Там API сломали, там не смарт-контракт.

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

У меня в одном кошельке Эфира, совсем давным-давно, когда Эфир был дешевым и я ещё очень много экспериментировал, у меня тогда было миллион кошельков. У меня до сих пор этот кошелек лежит, я боюсь. Да, у меня есть кошелек, в котором лежит 50 эфира и я не могу вспомнить на него пароль.

Наверное, обидно. 

Да, были же даже истории, как чувак на мусорку лазил за своим компом, на котором какие-то сотни биткоинов. Так что, здесь это ещё не худший вариант.

А вот тогда, если возвращаться к developer experience, понятно, что в первую очередь развиваются инструменты, которые помогают писать код, писать с меньшим количеством ошибок. А вот что бы ты сказал про инструменты, которые заточены именно под безопасность? Про их эффективность, по их использование, про их роль в разработке в системе вообще?

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

Ты пользуешься этими инструментами?

Нет. На самом деле, в Zeppelin есть несколько команд и есть команда аудиторов, которая занимается аудитами. То есть, там периодически происходят какие-то ротации, но я не занимаюсь сейчас аудитами, потому что мне интересно развивать Zeppelin Platform, в частности developer experience. У меня прям болит от того, что всё это так сложно. У меня есть свой хобби проект. И я когда его писал ещё, я тогда настрадался, поэтому мне эта тема очень близка.

А что за проект? Может, мы оставим ссылочку в шоуноутах, если хочешь о нем рассказать слушателям.

Да, всегда люблю рассказать о своих проектах. Это хобби-проект, то есть никакой коммерции, он опенс-сорс, лежит на Гитхабе. Называется CoinPledge. И идея проекта заключается в том, что я долго думал, какое можно придумать реальное применение блокчейну, неси, купить ему бесполезный токен и потом, может быть, разбогатеете, но скорее всего нет. И родилась идея этого проекта. Мы все хотим быть лучше в этой жизни, достигать каких-то целей. И идея CoinPledge заключается в том, что ты ставишь себе какую-то цель, желательно публичную. Например, «я хочу сходить в спортзал 52 раза в году, раз в неделю». И ты выбираешь себе ментора — это обычно твой друг или знакомый, который есть. И весь проект работает на блокчейне, там вообще не силен два кода. И ты делаешь этот плэдж на блокчейне и делаешь какую-то ставку в виде эфира. Например, в 1 эфира. Или сколько можно. Естественно, показываешь, что не так важна сумма. И ментор потом уже решает выполнил ты свой плэдж или нет. И если ты выполнил, ты получаешь деньги обратно. Если ты его не выполнил, деньги отправляются мне ха-ха. Конечно же нет. Шучу. Деньги отправляются в твой личный фонд, бонусный фонд. И ты не можешь из него достать смарт-контракты. Короче, ребят, не надо вламываться ко мне домой, я не могу раздавать деньги. Он попадает в бонусный этот фонд. И если ты делаешь себе следующий плэдж и он успешен — ты получаешь половину обратно. Делаешь ещё один плэдж — ещё половина обратно. Так до какой-то суммы маленькой и потом получаешь всё обратно, если делаешь много подряд. Но если проигрываешь, то фонд снова пополняется. То есть, эти деньги делаются недоступными, но делая новые плэджи, ты можешь вернуть их обратно. Вот такая вот идея проекта. Мы с друзьями играем, нам очень весело.

И как? Побеждаете или фонд растет?

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

C ZeppelinOS  начинаешь ценить свое время.

Да, ты ценишь свое время, но ты понимаешь, что нужно как-то объективнее оценивать многие задачи, которые ты себе ставишь. Вот ссылка, там есть сайт ( 26:45 , название сайта), там есть ссылочка на CoinPledge. Или просто наберите в гугле CoinPledge.

Мне ещё нравится, что вы туда добавили идею азарта. То есть, ты можешь не только проиграть и всё. Ты можешь проиграть, а потом отыграться обратно. Есть поговорка: «Не за то отец сына бил, что тот в карты играл, а за то, что отыгрывался».

Ты сказал, что разные команды есть в Zeppelin внутри. А можешь вообще рассказать про структуру Zeppelin, как вы взаимодействуете? Какую-то такую информацию. 

Да, надеюсь мой lawyer нас потом не посадит, но, я думю, можно рассказать. У нас есть команда аудиторов, которая занимается аудитами, у нас есть команда, которая занимается Open Zeppelin Platform в неё входят все инструменты и продуты, которые мы делаем главные, которые Open Zeppelin Platform или ZeppelinOS. И наша команда, она очень распределенная — то есть, у нас есть люди и в Австралии, и в Северной Америке, в Южной Америке. Вот пока я в России один. Кстати, раз уж мы эту тему затронули, то мы сейчас ищем разработчиков, прям очень ищем. Там основные требования — знать хоть немного эфира и Nojs. И у нас очень хорошие условия — мы полностью remote, и у нас оплачиваемая страховка, спортзал, ланчи, коворкинги и всё, что можно. Поэтому пишите или мне, или Zeppelin. Можете говорить, что я рекомендовал, я буду очень рад. Я очень хочу, чтобы у нас было больше людей из России или из Москвы. То есть, если нас будет хотя бы пару человек, мы уже можем делать встречи Zeppelin.

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

Спасибо. Я извиняюсь, что я со своей рекламой ворвался в подкаст. 

Нет, у нас мы в конце даже говорим: «Если есть объявление или реклама — пожалуйста». Ты просто не стал дожидаться, взял быка за рога. 

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

А сколько примерно человек получается?

Сейчас в Zeppelin приблизительно около 25 человек, но.. У нас вот проблема очень странная, на мой взгляд, я не могу её объяснить. Мы уже почти несколько месяцев не можем никого нанять в нашу команду. Это парадоксально. Дело в том, что в Zeppelin есть определенные ценности, они на сайте там указаны — это committed to excellence, intellection curiosity. И нужно обладать не только техническими навыками, но и соответствовать этим ценностям. Если ты говоришь, что согласен, это важно — работать с людьми, которые разделяют твои взгляды, потому что если.. Или не разделяют твои взгляды, это вызывает сложности. У нас это две основные команды. Также, понятно, есть HR, финансы, лоер, кто занимается коммуникациями, пиаром, ивентами, они всем этим вместе занимаются. Я прям поражен, как они всё это успевают делать. А для коммуникации в основной используем Slack. Мне кажется, достаточно удобно. 

А таск-трейкер у Вас по сути ишью получается в Github.

Да.

Но по крайней мере у технических команд. 

Да, конечно. И более того, у нас все сейчас публичные. Это как раз очень меняет твою перспективную заботу, когда ты пишешь open source. В публичном ишьес, ты не можешь там написать: «А потом сделали ребята». 

И так сойдет!

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

То есть, весь код Zeppelin, он принципиально опенсорс и он принципиально пишется весь в опенсорс?

Да. Все коммиты каждый день, все ишью из опенсорс. У нас бывают какие-то обсуждения в Slack или митинге. А митинги у нас по Zoom происходят.

Я вот сейчас смотрю — недавно Github добавил возможность в каждый репозиторий положить файлик Security.md, в котором будет описано, с кем связываться и как вообще раскрывать уязвимости. Потому что, понятно, если найден — у вас здесь кнопка сползла в сторону, верстка сломалась и ещё что-нибудь такое, то это просто ишью открыл и всё хорошо. А если какие-то проблемы

, связанные с безопасностью, то нельзя сообщить всему свету. То есть, может быть вам стоит их добавить? Я просто проверил — такого файла нет ни в Open Zeppelin, ни в ZeppelinOS пока что. Рекомендую добавить, наверное.

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

Нравится, да? 

Да. Что Microsoft что-то купил и оно не стало хуже — это прям шок.

Будем надеяться, что так будет продолжаться.

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

Давайте я вам ещё расскажу про такой технический код-проект, который вот конкретно я его делал один. Называется он Solidity Hot Loader. Это Loader для вебпака. И в чем идея и почему, мне кажется, это направление имеет смысл? Вот классически цикл разработки — ты пишешь Solidity-код, у тебя локальный блокчейн. Например, Ganache. И ты поменял свой код, ты его должен скомпилировать — например, использовать Truffle. Потом этот код ты загружаешь в локальный блокчейн. Потом этот код ты загружаешь в локальный блокчейн. Как я начал говорить, тот же Truffle, Truffle Migrate, например. И потом, как правило, у тебя не просто код, у тебя есть какие-то в нем данные, ты его чтобы потестировать, как-то поработать с ним — ты ещё должен эти данные туда загрузить. То есть, ты либо руками их нащелкиваешь там в своем приложении, веб-сайте либо у тебя какой-то скрипт. И получается, например, ты одну строчку поменял и весь этот цикл идет по новой. Я считаю, что это вообще недопустимо с точки зрения developer experience. И как эту проблему я постарался решить? Почему он называется  Hot Loader — то есть, это аналогия с веб Hot Loaderами, которые могут модули перезагружать. Что этот older webpack, он наблюдает за файлом Solidity.sol и если этот файл меняется, он его сам перекомпилирует и сам его пушит на блокчейн, то есть у тебя заливается новый контракт. А поскольку в ZeppelinOS у тебя же апгрейдится реализация, но не сами данные, то данные у тебя сохраняются. И таким образом что получается? У тебя, например, есть какое-то приложение — например, Count просто считает: 1, 2, 3. И вот у тебя, например, есть счетчик 100. Ты, например, поменял Solidity код, нажал command + S, то есть сохранил файл. У тебя контракт перекомпилировался, закинулся на блокчейн, а потом Zeppelin имплементацию, но у тебя сохранились твои данные. То есть, ты нажимаешь — у тебя снова функция «добавить 2 кнопку», добавить 2. И она добавляет 2 и у тебя сохраняются эти данные. То есть, это позволяет тебе разрабатывать солидити код, и он у тебя автоматически перезагружается везде, включая Front End. И по ощущениям это прям очень удобно. То есть, я вот вспоминают вот эти вот «перекомпилируй, залей, накати данные» — вот этот цикл..

Предварительные транзакции, чтобы всё проинициализировать потом, да?

Да. Он меня просто убивает. И вот я написал этот Hot Loader. У нас вот есть зепкид. Зепкид — это такой проект, это как тьюториал. То есть, он на ZeppelinOS, но он также использует инфуру, Truffle — все текущие стандарты. И там есть несколько тьюториав, подтьюториав. И вот один из них — он про Hot Loader. То есть, там этот пример с Каунтером. Там есть две кнокпи «добавить» и «убрать» число +1, -1. Изначально работает только кнопка +1. И ты открываешь солидити файл. Метрика его закомментировал, например, что сам напишешь его, откомментируешь, нажимаешь «Сохранить» и у тебя всё обновляется, вэбпак у тебя даже рефрешит браузер. То есть, ты просто нажимаешь «сканить», у тебя страничка сама перезагружается. И у тебя кнопка -1 начинает работать. Нажимаешь. У тебя там выскакивает правило Семи тамаска, нажимаешь пруф и всё, у тебя всё работает. И я думаю, что будущее как-то в эту  сторону должно двигаться — что мы должны сделать именно для разработчиков всё супер простым. Я думаю, что ещё проще надо это сделать.

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

Да. Даже на консенсусе.. Я правда не был в этом году. Но мне коллеги рассказывали, что на консенсусе в этом году много было посвящено вот именно разработке приложений на протоколах. То есть, не на самом Эфириуме, а вот когда есть уже какой-то протокол, который уже написал все эти смарт-контракты и он уже предоставляет API сторонним разработчикам. То есть, приходит ( 36:08 , неразборчиво) разработчик, который вообще буке может ничего не знает. Но он видит, API, а у них там блокчейн, но я даже не хочу думать что это за блокчейн.

Это просто API для него.

Да, для меня просто API. И он делает приложение и у него получается блокчейн приложение. Другое, чем мы ещё занимаемся, много тратим сил и времени, правда. Не я этим занимаюсь, а мои коллеги. Это GSN — это Gas Stations Network. Я не знаете вы что это такое или нет?

Мы в курсе, но лучше расскажи для слушателей.

Да. Соответственно, одна из самых главных проблем не разработчиков, а пользователей, что когда ты хочешь использовать какое-то приложение блокчейн, Эфира в частности, тебе нужен эфир. И эфиров у большинства людей нет. Чтобы купить эфир, это зависит от страны, но в целом это нужен банковский счет, нужна верификация — это сложно. Только если тебе какой-то друг не пришлет. И это является главным блокером для массовой адаптации. То есть, предположим даже если завтра сделают супер приложение, у которого ценность социальная зашкаливающая — оно одновременно лечит рак, кормит бездомных и всё что можно, то люди не смогут его использовать, потому что у них нет эфира. И сейчас есть много попыток решить эту проблему с разных сторон. И GSN — одна из них. Как из названия следует Gas Stations Network — это сеть заправок, так называемых заправок эфира. Идея началась с того, что.. То есть, самая очевидная идея, что если у пользователя нет эфира, то можно оплачивать транзакции за него. Собственно, в другой блокчейн, в другом поручении — в EOS, там же транзакции ничего не стоят. Там разработчики должны оплачивать эти транзакции — это встроено в сам протокол. Но Эфир работает по-другому — нужно оплачивать транзакции. И первая попытка решить это была — это собственно есть API, который про метод транзакции, что можно транзакцию.. То есть, сам человек прописывает в своем приватном ключе его транзакцию, что он хочет сделать, и он её заворачивает.. Но у него денег нет. То есть, он прописывает приватным ключом, на котором ноль эфира, но зато (неразборчиво38:11 ) — я хочу зарегистрироваться на сайте. И он её отдает кому-то, например, рилееру — посреднику. И посредник, у которого есть деньги, он ее заворачивает в транзакцию, которой уже оплачивает эту транзакцию. И потом эта транзакция выкидывается в сеть и тестомайнер видит, что в этой транзакции есть деньги, он её разворачивает, забирает себе комиссию, а потом там внутри ещё одна транзакция, которую он тоже разворачивает и исполняет её. Вот это метод транзакции. Но основная проблема с этими транзакциями изначальная была в том, что.. Я помню, Cryptokitties, ещё кто-то делал какие-то первые вариации, что мы же хотим, чтобы всё было децентрализованным. То есть, нам мало просто решить проблему, нам надо решить её децентрализованно. Вот, например, ваша компания конкретная, она делает свой рилеер. И ваше приложение не телефоне, оно посылает эти метатранзакции вашему собственному, личному серверу, который их заворачивает и отправляет в сеть. Это всё работает, но это не децентрализованное решение в том смысле, что если ваш сервер личный упадет, то приложение перестанет работать, а если у вас не просто приложение, а какой-то протокол, то протокол станет доступным для пользователей.

Грубо говоря, потому что будет некому снабжать эти транзакции газом.

Да. И было такое решение, такое полработы ещё. Оно работает, но оно не децентрализованное. И Gas Stations Network — это как раз попытка решить эту проблему децентрализованным способом. В чем заключается идея? Что есть много рилееров, то есть много узлов, это как майнеры, но второго порядка. То есть, они майнят не транзакции в блок, они майнят мето-транзакции и бросают их в сеть. То есть, вот эти рилееры. Они все, их много, у них есть общий список и они все готовы принимать мето-транзакции, не важно от кого они идут. И тут есть несколько челленджей, которые, на мой взгляд, GSN решает фундаментально. Хотя, конечно, всегда есть какие-то векторы атак и сложности. Но основаная проблема была, что как, например, этим майнерам не ссориться из-за транзакции. То есть, например, если мето-транзакция, все пытаются её, условно, намайнить и в итоге кто-то один побеждает, а остальные потратили своё время. Это плохо. И то, что GSN предлагает — это то, что есть смарт-контракты, он собственно называется реалхаб, то есть весь GSN полностью работает на эфире и он полностью децентрализованный. То есть, вообще нет никакой централизованной части. И вот этот смарт-контракт реалхаб — там все эти рилеер станции регистрируются, то есть она регистрируется и говорит: «Я готов принимать мето-транзакции, у меня такая-то комиссия». Да, конечно, это делается всё за комиссию небольшую. И все эти рилееры, они должны внести свой стейк — то есть, то, чем они рискуют в игре. То есть, то, что называется ( 40:57 неразборчиво). Потому что если они не вносят стейк, то нельзя реализовать никакой слэшн механизм, то есть механизм наказания за плохое поведение. И вот они все регистрируются в этом риалхабе, есть список. И таким образом, там происходит инверсия контроля. То есть, не ты направляешь мне транзакцию и любой псевдомайнер её майнит, а ты сам выбираешь, какой майнер тебе подходит. Таким образом решается проблема того, что все псевдомайнеры не пытаются твою мето-транзакцию поймать. Если вдруг твой рилей оказался ненадежным, то есть ты подался на эту транзакцию, а он ничего не делает или специально ничего не делает — тут как раз работает этот слэшн механизм. Там есть криптографический надежный способ доказать, что рилеер тебе отказал в проведении твой транзакции и за это его система накажет, потому что он внес свой стейк и, соответственно, система будет устойчивой до тех пор, пока есть хотя бы один честный рилеер, потому что если тебе этот не помог, ты идешь к другом и т.д. Вот этот протокол, он реально решает проблему онбординга пользователей. То есть, можно будет скоро сделать.. Причем, скоро — это, я думаю, к концу года это уже должно быть продакшн уровня. Можно будет сделать приложение — то есть, это просто приложение на телефон или на веб-сайт, где пользователь заходит и для него это выглядит как просто фронтенд, но на самом деле это блокчейн приложение на эфире, которое просто децентрализованно.

Ты сказал, что Gas Stations берет комиссию и комиссию она должна брать по идее с пользователя. А мы начали с того, что у пользователя нет эфира.

Да, как можно брать вообще комиссию с пользователя, если он даже не пользователь транзакции. Нет. Она берет комиссию. Она берет комиссию.. Тут же вся идея этого Gas Stations Network в том, что если весь бизнес со стороны посмотреть — ты хочешь делать анбординг пользователей, потому что есть какой-то вэйли в этих пользователях, это не просто случайные пользователи. Например, у меня есть приложение, я решил, что я буду себе загружать пользователей. И в случае с использование GSN, ты как проект оплачиваешь весь газ и все комиссии. То есть, там как это работает? Вот этот рилайхеб, который всех регистрирует псевдомайнеров, он с тебя берет тоже какой-то задаток минимальный, чтобы на несколько транзакций хватило. И как только у тебя твой баланс истощается, ты его должен постоянно пополнять. Если пользователи, соответственно, идут. И более того, там есть ещё полный контроль над тем, кому ты позволяешь оплачивать эти транзакции. То есть, твое приложение.. Ты можешь создать, например, белый список пользователей. То есть, приложение просто регистрируется, ты им всем создаешь эфир адрес, правда пользователь может про это не знать, но это не важно. И ты говоришь: «Я оплачиваю транзакции только пользователям из этого эфира, из этого списка». Соответственно, другие пользователи за твой счет не могут транзакции провести. И плюс не нужно сразу делать большой депозит. То есть, если нам бы пришлось делать большой депозит сразу, это могло привести к рискам. Если похакают близки, а так ты постоянно пополняешь его. А в чем смысл делать это для приложений — это уже задача бизнеса. То есть, например, если у тебя есть какое-то казино. И ты хочешь, чтобы люди играли на блокчейне супер честно, но люди не готовы сами получать эфир, они могут тебе платить PayPal-ом, кредиткой. Твоя компания, уже через банковский счет, на бирже покупает эфир и туда же его закидывает. То есть ты просто решаешь эту проблему. Либо у тебя приложение и ты монетизируешь через сбор данных с пользователя. Пользователь регистрируется, ты оплатил им 10 долларов этого эфира, но ты больше заработал, собирая какие-то данные. 

То есть получается, что подобный бизнес, который решил использовать “ Gas Stations Network, в принципе, может поднять такой свой релеер в эту сеть. И в своем приложении прописать, что: “Обращайся на мою станцию”. И как бы сделать так, чтобы комиссия и заработок станции доставался ему самому. 

Да, но, как показывает практика, мы движемся в сторону микросервисов. Всем всё лень. Когда ты делаешь стартап и у тебя вообще нет времени на поспать…То есть, каждое лишнее движение..

То есть, проще просто заплатить и забыть? 

Да. Я всегда думал, что проще заплатить, когда ты маленький., поначалу, а потом, если все раскручивается, можно сделать свой релеер? Но я тут узнал, что, например, Apple использует сервера amazon, у них нет своих серверов. Они платят 200 миллионов в год за хостинг режима учеток. По-моему, twitter тоже использует amazon. То есть, у многих больших компаний нет своих серверов. Dropbox использует amazon. Так что, возможно, это самое лучшее решение — не думать об этом. 

Перейдем тогда к governance?

 Ты нам перед выпуском сказал, что тебе эта тема интересна. Мог бы обрисовать чем именно? Что тебя привлекает? Зачем ты следишь за этой областью? 

И, наверное, даже что подразумевается в данном случае под governance?

Да, мне эта тема очень интересна. К сожалению, я не занимаюсь ей непосредственно, но я за ней активно слежу. Почему мне интересно? Потому что я думаю, что это будущее. И если совсем так глобально заходить. Как сейчас работает общество? У нас есть некие соглашения, мы называет их законами. И у нас есть инструмент сделать так, чтобы эти соглашения работали — это собственно: суд, полиция, тюрьма, государство. Мы используем насилие, чтобы добиться того, чтобы наши соглашения работали. И это, если честно, с точки зрения user experience не очень процесс. 

Да, соглашения, которые мы, зачастую, еще и не подписывали, то есть, не соглашались на них. 

Да, и в этой системе очень много абсурдных ситуаций случается. Мы все про них читали и, к сожалению, некоторые сталкивались. И есть такая фундаментальная мысль, которая мне очень нравится, что криптография способна выдержать любой уровень насилия. Идея в том, что если у тебя есть публичный ключ, но нет приватного ключа, пол common-а (неразборчиво, 46:57) может знать этот публичный ключ, но от этого он не расшифруется. И соответственно, это дало человечеству фундаментально новую возможность создавать организации и сообщества, которые защищены криптографией. И никакой уровень насилия не способен это остановить. Такого не было раньше в истории человечества. И мне кажется, что поскольку социальный прогресс очень инертный уже много лет,  у нас уже есть технологии, которые позволяют делать вещи, которые мы еще не осознали. То есть никто еще не понял, что сейчас можно жить с такими технологиями, которые есть совсем по-другому. Но поскольку есть социальная инертность исторически огромная, но этого никто не понимает. Я за этим очень слежу и самый начальный пример, я даже не знаю, это governance, но это вот базовый пример это ICO, что все поняли, что можно написать простой smart контракт, что: “Я тебе сейчас дам токен и потом обещаю тебе, что потом что-то там будет. Неважно. А ты мне сейчас денег.”. И такая простая идея собрала миллиарды. Но потом все поняли, что у этого подхода есть недостатки. Мне кажется, что главный недостаток ICО в том, что в стартапах ты много лет работаешь, потом у тебя IPO или тебя купили, ты заработал и все эти годы ты работаешь, и тебе это IPO снится. А в ICO — ты привел ICO, ты собрал деньги и все. Можно дальше не работать. 

Можно закрываться и ехать в банановую республику, да?

Да. Мне кажется, что это обратная мотивация. Это неправильно. И поэтому в 2019-м году, сейчас много всего происходит в DAO — Decentralized Autonomous Organization. Я знаю, что Aragon этим занимается давно. Вот сейчас есть такой проект Moloch DAO. Соответственно, все эти идеи на поверхности. И это даже идеи, они многие не технического характера. Сейчас очень много этим занимается экономистов, социоэкономистов. Тут уже не стоит вопрос «как написать этот код?», потому что есть базовые средства. А стоит вопрос «как сбалансировать систему поощрений и наказаний так, чтобы люди, в соответствии с ней, вели себя так, как мы хотим?». Опять же, возвращаясь к ICO, когда founder-ы получили все деньги и у них кроме честного слова, ответственности и репутации очень мало инициатив. Я всем рекомендую прочитать про Moloch DAO — это очень интересная концепция. И более того, если возвращаться к глобальному видению, я общался недавно с человеком, который работает в ритейле. Я ему говорю, что у вас же там ритейл компания. Он говорит: “В нашей ритейл компании 50% программистов”. У них интернет магазин. И идея в том, что сейчас любая компания становится софтверной компанией. И это всем уже стало очевидно. Но не всем очевидно, что любое государство или то, что называется в английском «state», в широком смысле слова, оно становится софтверным государством. Может, это правда и не про Россию пока сейчас, но мне нравится что сейчас делают госуслуги. 

Россия пока довольно хардверное государство. 

По мировым меркам, Россия — достаточно продвинутое государство в плане IT, мне это нравится. Мое видение такое, что все наши социальные соглашения, т.е. законы, они будут перетекать в софт, так или иначе. Blockchain или не blockchain, но blockchain пока кандидат №1. По тому что, если ты прописал соглашение на blockchain-е, — соглашение, как договор, — то не нужен суд, не нужна полиция, ничего этого не нужно. Ты его не можешь нарушить, т.к. оно гарантируется самой сетью. И, конечно, многие люди могут что-то пообещать и не делать. И да, это правда. Но существуют различные слэш механизмы. Ты можешь внести депозит и сделать жюри коллегиальное, которое будет решать выполнил ты обещание или нет. Если ты не выполнил — ты лишаешься этого депозита. И эта система достаточно хорошо масштабируется. Опять же, я не экономист, но сейчас есть достаточно много размышлений на тему как это организовать. Концепция компании — она вообще инородная. Вот мы говорим, например, юр. лицо, очень смешное слово. Где это юр. лицо? Можно на него посмотреть? Это некая концепция, которую мы выдумали, потому что нам так удобно. И есть огромный список законов, которые это юр. лицо сопровождают. И эти законы меняются, международное право — это супер сложное. То есть, если у вас есть компания в Англии, России, Штатах, на Багамах, то вам нужен отдельный lawyer, который будет делать это международное право. Но blockchain, он глобален с дня “0”. У blockchain-а нет юрисдикции. Тебе не нужен отдельный смарт контракт программиста для США, для России, для Кайманов. Если ты делаешь какой-то контракт, который заменяет тебе компанию — он глобальный. Он работает на все штаты, работает в единой валюте. И тебе не нужны разные бухгалтера, разные юристы. И я думаю, что это будущее компаний. DAO — они могут сильно потеснить структуру организации компаний. В стартапах есть клиф-период. Сначала ты ничего не получаешь, ты ушел, тебе ничего не заплатили. Твой equity, если ты один из фаундеров, а если ты с какого-то года, тебе начинают тоже выплачивать. Твой остается. И везде это делается в форме законов, в штатах. В тех же ICO проектах, эти клифы и этот waste-инг стали прописывать в смарт контракты. И это идеально работает. Тебе просто по времени не платятся твои токены, твой эфир, ты ждешь. 

И суд с полицией тебе не помогут.

Да, тебе ничего не поможет. И я думаю, что это — супер будущее. 

Смотри, ты говоришь, что у нас появились новые инструменты, которые приведут к появлению новых социальных институтов. Если смотреть на то же самое ICO, нет проблемы в том, чтобы собрать эфиры, раздать за них токены, прописать логику, вейстинг. Проблема возникает с тем, что человек может сказать: “Я свои эфиры получил. Зачем мне работать? Пойду на Багамы отдыхать.”. Получается, здесь не хватает института, который есть в традиционном IPO, что к нему, грубо говоря, полиция придет за невыполнение обязательств. Или какого-то децентрализованного института, например, института репутации. Например, что этот человек так дорожил бы  своей репутацией, что не позволил себе потратить деньги вкладчиков. Как ты видишь здесь развитие институтов? Мне кажется, что оно сильно отстает и я пока движения в эту сторону не вижу. Движение вижу только техническое.

 Я определенно вижу движение. Тот же DAO Moloch. Вообще для чего этот проект? Там идея такая, что он будет способствовать развитию экосистемы эфира. Ethereum Foundation как работает? Он дает гранты. И это все не blockchain, не децентрализованный процесс. Там есть комиссия, если я не ошибаюсь, в Ethereum Foundation. Ты им пишешь, что мы делаем open source, он всем поможет. И тебе либо дают деньги, либо нет. И идея таких новых DAO в том, чтобы не давать деньги один раз, а в том, чтобы контролировать то, что люди делают, используя смарт контракты. Если я не ошибаюсь, могу плавать “технически”, то идея Moloch DAO в том, что ты вносишь любой актив, который соответствует ERC20. ты можешь вносить сам эфир или ты можешь вносить, например, токены какого-то проекта, какого-то клауд сервиса. Кто-то может их потратить. И ты получаешь взамен этого долю в виде голосов. И эти голоса используются для принятия решений этой децентрализованной организации. И потом кто-то говорит, что ему нужны какие-то средства из пула — собрали Эфира, детоист, тейблкоинтов, каких-нибудь хард дисков, ещё чего-то.. И он говорит, что «Нужны нам эти ресурсы, чтобы что-то сделать». И все голосуют. Если голосуют “Да”, то они ему даются, а если “нет” — то нет. И когда ты выходишь, ты меняешь свои голоса на какую-то часть ресурсов. И идея такая, что, в отличии от ICO, эти новые DAO, над которыми немного поработали экономисты и социологи. Они пытаются сейчас нащупать эту нишу  именно системы поощрений и наказаний так, чтобы она работала бесконечно. Не так, чтобы какая-то одноразовая акция, быстро нагнали и хайп, собрали деньги и все свободны, а чтобы именно люди как-то участвовали. Причем, смарт контракт — это полный язык, он позволяет тебе делать очень сложные схемы. Даже тяжело вообразить, насколько они будут сложными. Например, ве вот эти блокчейны, которые POS, понятно, что там каждый не будет голосовать. Соответственно, можно делегировать кому-то свои голоса, какому-то другому майнеру. И в этих DAO то же самое. Можно миллион вариантов делать. Например, у меня нет времени во всем этом подробно разбираться. У меня есть друг, например, Петр. Я очень доверяю Петру и делегирую ему голоса. А если я зайду и увижу, что там все плохо, ужасно. Я скажу: “Нет, все, Петр, ты плохо делаешь. Давай мои голоса обратно.”. Если вы читаете твиттер Виталика Бутерина. Я когда открываю твиттер Виталика, мне кажется, что это твиттер экономиста. Это уже не какой-то технологический твиттер, это — твиттер экономиста. 

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

Да, конечно, никто не отменяет старое доброе насилие. Оно будет актуально еще очень долго. Как и в любых практических вопросах, тут главное насколько это все усложняет. Вообще, весь базис безопасности в том, что если взлом защиты стоит дороже того, что спрятано — это не имеет смысла. Нам не нужно сделать криптографию настолько защищенной, чтобы любое насилие, например, уровня ЦРУ, не могло понять. Наверное, это было бы прекрасно. Но если у тебя компания, которая продает пончики, я не думаю, что ЦРУ будет вламываться к фаундерам. 

Ну смотря с чем пончик.

Да, конечно. Есть еще момент такого криптоанархизма. Он в чем  выражается? Что никто не мешает вам создать сообщество, которое будет существовать. Вам не нужно ни у кого спрашивать разрешения. Знаете, вот в царское время был закон “втроем не собираться”, или что-то такое. 

Так в Беларуси до сих пор!

По тому что это заговор, все понятно. Современные уровни, технические, нам позволяют создавать сообщества, которые могут быть полностью зашифрованы. P2P шифрование никто не может их прочитать. И это сообщество может.. То есть, сначала у вас появилась возможность общаться зашифрованно, то есть никто не может влезть в коммуникации вашего сообщества. Но теперь у этого сообщества появляются методы взаимодействия, то есть за пределами просто перечня информации. Мы можем создать себе некий устав, причем я знаю попытки закрытых сообществ на эфириуме появляются, которые там исключительно по публичному ключу. Для всяких кул хакеров. У нас есть абсолютно зашифрованная переписка, никто не может её прочитать. У нас есть смарт контракт, который регулирует наши взаимоотношения: кто что может, кто кому что должен. И мы можем это сообщество создать, вообще ни у кого не спрашивая разрешения. Ни у Роскомнадзора, ни у налоговой, ни у правительства России, ни у правительства США. И это сообщество будет функционировать. Основная проблема в чем? Если посмотреть все эти идеи хиппи, вот этих сообществ, комьюнити, которые разваливались. Эти сообщества были очень плохо продуманы в плане различных атак. Приезжает там халявщик какой-то и говорит, что ничего делать не буду, буду есть и т.д. И без классического насилия (суд, полиция, тюрьма) тяжело было с этим бороться. Но со смарт контрактами появляются сообщества, в которых с этим можно бороться. Пример, может быть, не совсем корректный, но я читал обзоры, был хороший материал у «Ленты» о том, что вся наркоторговля в России перешла на биткойны. Они все используют депозиты и шифрование. Никто друг друга не знает в лицо. Это большая проблема сейчас для служб. И это пример как очень быстро, в очень короткие сроки, преступное сообщество, которое я не одобряю, не поймите меня неправильно, оно перестраивалось так, что оно функционирует на шифровании и взаимодействии за счет депозитов. То есть все мотивации и слэш механизмы реализованы за счет того, что ты теряешь депозит. И я думаю, что это пример того, что это сообщество появилось из-за того, что им это крайне необходимо. Они не могут сделать группу Вконтакте себе. 

И пользоваться сбербанком. 

И пользоваться Сбербанком, да. Но их эффективность показывает, что они испытывают максимальное насилие со стороны государства. Оправданное насилие, в данном случае. Но они показывают, что эта система может выдержать насилие со стороны такого государства, как Россия, которая специализируется в применении насилия к своим гражданам, я бы сказал. Можно создавать и более мирные сообщества. Обсуждать какие-то мирные идеи или еще что-то. И оно будет защищено на нереальном уровне. То есть, уровне, превышающем наши потребности. Я вот, например, не пользуюсь сейчас фейсбуком, инстаграмом, вотсапом. Мне противно, что корпорация зарабатывает безумные деньги. Даже пусть зарабатывает. Мне, например, не нравится, что она майнит мои данные, что какой-то там сидит дельта майнинг и они скоро будут знать когда я в туалет пойду в следующий раз.

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

 Да, фейсбук же говорил, что может на 90% предсказать беременна женщина или нет, по её активности на фейсбуке. И мне это все очень не нравится. Почему? Потому что я вижу это как некое “плохое” будущее. Если все данные о человеке будут получены корпорациями или государствами, то не составит труда превратить этих людей в абсолютных рабов этих корпораций и государств. Это однозначный ответ. И мне кажется, что создание таких сообществ, которые защищены криптографией и могут сами контролировать свои данные — это прям такая супер важная цель.

Криптография дает возможность вернуть контроль обратно.

Да.

Но получается, что необходимая вещь на входе — это анонимность участников. 

Нет. 

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

Да, но практический вопрос — это вопрос защиты и ценности спрятанного. Например, если взять фейсбук. ЦРУ же не будет ходить к каждому человеку, который будет сидеть децентрализованно на фейсбуке. Я не имею ничего такого против государства, государство — совершенно хорошая вещь в определенных смыслах. Идея в том, что государство и большие компании сейчас  не затрачивают усилий, чтобы получать все данные людей (звонки, переписки, поведенческие данные). У нас никакой нет privacy. Когда фейсбук и Apple говорят “privacy” — это очередной selling point для них, на самом деле. Они не подходят к вопросу фундаментально. Они подходят к вопросу так: у нас есть пиар скандал, надо его решить. Оказалось, у нас там пароли лежат в (01:03:44), а, ну бывает. 

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

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

Да, но, опять же, есть более мирный use case, например: Петя дал Васе в долг. И если он дал ему в долг просто наличными, то если Вася не будет отдавать, Пете будет ругаться на Васю, как минимум, может быть, применять какое-то насилие. Или угрожать насилием, если он будет сильно несговорчив. А если мы прочтем какой-то депозит в смарт контракте или заложим там какие-то Васины сбережения, хотя люди, у которых есть сбережения обычно не берут в долг. То тогда эту ситуацию можно будет “разрулить”, не подразумевая насилие даже на горизонте. 

Да. Насколько я знаю, уже реализованы протоколы займа через карутеральные займы, когда ты оставляешь какой-то залог и получаешь в долг.  По моему, этим занимался salt(01:05:27). Ты можешь заложить свои криптоактивы и получить реальные деньги. 

Мейкер DAO — то же самое. 

Да, Мейкер DAO — то же самое. 

Я так понимаю, что там довольно много подобных проектов, то что называется DeFi — Decentralized Finance. Вчера вечером, буквально, попробовал один из этих протоколов. Мне кажется перспективной эта тема, может быть, основное направление для криптовалют в целом. Заменить существующую систему финансово. Мне интересно, что из этого вырастет. Мне кажется DeFi — это долгосрочное направление, оно очень популярно. Но даже сейчас много есть. Я где-то видел хорошую подборку. То есть, у тебя есть аккаунт с эфиром на эфире. Есть stable coin, maker, landing, были инвестиции, еще что-то. То есть, эта экосистема обрастает полным набором сервисов. Я даже думал на тему того, что сейчас уже можно получать зарплату, смотря где ты работаешь, но некоторые люди могут получать зарплату в криптовалюте. Ты можешь получать её в любом месте, откуда удобно. И последний шаг остался — её тратить. Например, если бы я мог тратить криптовалюту, то зачем вообще нужны деньги? Помню на консенсусе анонсировали какой-то большой payment процессор, сказал, что он будет принимать биткойны. Не знаю когда его соберутся внедрять, но у него было около 14 тыс. ритейлеров в США, включая Хоуфудс и еще кучу. Если это произойдет, то появится целая полноценная экосистема. 

Давайте свернем немножко к mass adoption. Как тебе кажется, где здесь находится бутылочное горлышко? Что больше всего мешает mass adoption? На мой взгляд, это то, что ты сказал — перевод из крипты в фиат и обратно, учитывая, что тратим мы в фиате. Еще ты говорил, что нужен mass adoption не только среди пользователей, но и среди разработчиков, поэтому Zeppelin работает над тулами для разработчиков. Но, может быть, на твой взгляд, еще где-то есть главная проблема? 

Конечно, одна из самых главных проблем — это user experience. Это интерфейс и вообще user experience многих blockchain проектов просто ужасен. Сейчас стало получше. Но вспоминая их год, два назад, три года назад — это ужасные интерфейсы пользовательские, где все глючит, ничего не работает. Нужно понимать, что у современных пользователей очень высокие ожидания. Большие компании (фейсбук, инстаграм) тратят на user experience миллионы долларов. Они установили очень высокую планку и этой планке надо соответствовать. Не существует другого способа её обойти. И даже когда я делал CoinPledge, я столкнулся с тем, что когда ты отправляешь  транзакцию, даже если там все моментально подписано, все удобно. Есть очень большой лаг — среднее время процессинга транзакции в эфире 15 секунд. 15 секунд по меркам user experience — это вечность. Это время, за которое пользователь закроет твое приложение, откроет инстаграм, полайкает посты и еще успеет вернуться. Соответственно, мы, как разработчики, должны создавать интерфейсы, которые соответствуют высоким современным стандартам. Причем, эфир в этом плане не может внезапно стать быстрее, ещё что-то. То есть, это все должны быть какие-то решения второго уровня. Нужно использовать сервера, которые кэшируют транзакции, дают моментальный отклик. Другая проблема, с которой я сталкивался —  я использовал инфуру для запросов. И сервера инфуры иногда занимали огромное количество времени, чтобы ответить на какой-то запрос каких-то аккаунтов данных. Бывало у меня доходило до 30-ти секунд, до минуты. Пользователь открывает приложение и видит пустой экран. У меня там не было даже loading надписи, потому что я же думал это какой-то ипиай теста длинным. И ничего не происходит, он просто закрывает приложение. Он не будет этим пользоваться. И мне кажется, что это направление №1. Если даже взять то, что у человека нет эфира. Если у человека есть эфир, он откроет приложение и оно окажется отстойным — он его просто закроет. Я этих людей ни в коем случае не виню. Я тоже такой. Взять даже UI интерфейсы. Сколько существует библиотек UI интерфейсов для разработки? Бесконечное количество. А вот для блокчейна я знаю только rainbowUI, который делает консенсис и, наверное, все. Наверное, какая-то ещё есть  библиотека, я просто о ней не знаю. Идея в том, что сейчас пока мало внимания уделяется этой сфере, но это то, на чем мы должны сосредоточится очень сильно. Наши приложения должны отличаться по своему качеству по user experience от приложений, которые есть в app store-е. 

Как тебе кажется, мы к mass adoption’у неизбежно придем, рано или поздно? Или криптоиндустрия может, грубо говоря, что-то профукать и остаться какой-то супер узкой нишей по интересам или вообще исчезнуть, если не проведет достаточно быструю, мощную работу в сторону adoption-а?  

Я бы хотел сказать, что “не волнуйтесь, все схвачено”, но  я сам в это не верю, потому что есть два примера, которые мне очень нравятся. Мне нравится сфера искусственного интеллекта и виртуальной реальеости —  VR. В 90-х были огромные ожидания TI, что осталось чуть-чуть поднажать и компьютер заговорит и расскажет нам как жить. И в сфере VR то же самое было. Всем казалось, что скоро мы все будем ходить в очках по улице, все будет VR. Вообще в офис не надо будет ездить, какой будет VR. И ничего этого не произошло. Но мне кажется, что это произойдет. Это вопрос времени. В блокчейне мне ситуация кажется лучшей. По тому что в сфере TI и VR нет каких-то фундаментальных технологий. Там не все так очевидно и не понятно что именно делать. В блокчейне сейчас хорошо понятно, что делать. Нужны инструменты для разработчиков, нужен хороший user experience для пользователей,  нужен (01:11:40) boarding. Нужно это делать. Но, в тоже время, технологии не являются неизбежными. В истории человечества есть другой пример с электрическими машинами. В начале 20-го века, в 1900 каких-то годах, электрические машины конкурировали с бензиновыми. У них был перед бензиновыми приоритет. И потом бензиновые победили. И получилось, что они на 100 лет отбросили адаптацию электрических автомобилей и то не факт, что она случится. Хотя, Маск надрывается, конечно. Я думаю, что блокчейн — это будущее, в том или ином виде. Как децентрализованный какой-то lager. Но, как показывает история человечества, будущее не обязано наступать здесь и сейчас. Часто какая-то случайность, какие-то отдельные личности и компании могут определить историю всего человечества. Понятно что делать в блокчейне. Это надо делать. Но вполне возможно, что сейчас так сложится историческая перспектива, что блокчейн будет отброшен назад. То есть станет либо каким-то увлечением каких-то условных элит, либо в какой-то отдельной стране. Какие-то такие вариации вполне возможны. Например, если завтра СЕК решит, что блокчейн — это угроза демократии, всех, у кого есть крипта, нужно расстреливать как террористов. Это, конечно, будет большой проблемой. Нужно понимать, что эти риски присутствуют.

Как на твой взгляд связаны adoption биткойна и эфириума?  Условно, может быть такое, что биткойн заадоптится, а эфир нет или наоборот, или, если это произойдет, то, скорее всего, вместе?  

Я верю в network эффект, т.е. эффект сети. Когда вы покупайте какую-либо криптовалюту, вообще нужно понимать, что вы не покупаете код, потому что его можно форкнуть. И вы не покупаете сервера, потому что их можно задепоить. Вы покупаете, условно говоря, социальную сеть.  В хорошем смысле, не как фейсбук. Т.е. вы покупаете всех этих людей, с их взаимоотношениями, вы в них вкладываетесь и верите, что это будет расти. Соответственно, биткойн и эфир, как две топ валюты, имеют два самых развитых комьюнити. Что меняется в комьюнити эфира? Эфир — это все таки платформа смарт контрактов, т.е. в ней очень много проектов, связанных с биткойном. В самом биткойне тоже существуют различные проекты. Есть лайтнинг и другие. Но экосистема биткойна намного бедней из-за ограниченности самого биткойна как протокола. Это вообще просто пальцем в небо, но мне кажется, что Эфир имеет больше потенциала как сеть. За счет чего эта сеть будет расти? За счет привлечения новых пользователей. Как привлекать новых пользователей? Нужно им что-то предлагать. Чтобы им что-то предлагать, нужно иметь какие-либо сервисы. В этом плане эфириум и другие смарт контракты, справедливости ради, которые тоже имеют блокчейны и смарт контракты, они имеют более выгодное положение, потому что они могут больше предложить своим пользователям. Сделать тот же стейбл койн на том же биткойне — это техническая задача невероятного уровня. Я, например, не представляю как это возможно сделать. А стейбл койнов на эфире — их уже миллион. И в этом плане, я думаю, что у эфира больше потенциал для роста.  Но наличие потенциала не означает, что он разовьется. Это много от чего зависит. 

Закругляя разговор про адопшен, задам вопрос от нашего слушателя TUA. Вопрос звучит так: “Введет ли Zeppelin или планирует какую-либо рекламно-просветительскую деятельность с компаниями, далекими от крипты? Или пока только в рамках крипты?”. 

Да, на самом деле, мы понимаем потребность mass adoption-а и у нас есть взаимоотношения с microsoft, coinbase и даже, упаси боже, с Фейсбуком. Но у нас отношения больше как технического секьюрити консультанта. И плюс, мы, конечно же, хотим, чтобы они использовали наши инструменты. Но при взаимодействии компаний всегда происходит какой-то обмен культурами.  А, ещё GP Morgan. Взять тот же GP Morgan . Он же делает Quorum. Quorum, кто не знает — это форк эфира, который использует POS, там есть приватные транзакции. Казалось бы, зачем GP Morgan занимается этим? Это вообще очень странно, потому что блокчейн — это же смерть для банкиров. Но блокчейн в каком-то смысле, как и все мемы, это какой-то такой вирус. То есть, он заражает умы людей, они начинают об этом думать и им тяжело остановиться. Поэтому GP Morgan развивает блокчейн, потому что произошел этот культурный обмен. Они поняли какую-то ценность блокчейна, какую-то часть его будущего. Поэтому GP Morgan и другие большие корпорации развивают блокчейн, блокчейн технологии. Меня поражает размер всех этих компаний. Если я не ошибаюсь, в GP Morgan блокчейном занимается порядка 200 человек. Для меня это невозможные цифры. 

А в Zeppelin сколько? 

Около 25 человек. 

То есть в одном GP Morgan-е восемь Zeppelin-ов? 

Я все таки думаю, что у нас сильно отличается структура. У нас всё-таки много инженеров. А в GP Morgan-е очень много не инженеров, а сотрудников. Опять же, я ничего не знаю про их структуру.

Просто учитывая, что мы знаем, сколько сделал Zeppelin, страшно представить сколько сделал Morgan. Мне почему-то кажется, что меньше. 

Мне кажется, что они решают свои очень  узкоспециализированные задачи, в первую очередь оптимизируя потенциальную какую-то свою выгоду. Есть очень много проектов, которые развивают свои решения. Фейсбук делает свою криптовалюту. Я уверен, что и там 100 человек этим занимаются, но они делают конкретное решение под конкретную компанию. Телеграм делает свою валюту, они, опять же, решают свою задачу под свой конкретный продукт. Но в целом для блокчейн это крайне хорошо. 

 Евгений, у меня закончились вопросы, может быть, у тебя еще есть? 

Скорее нет. Все, что хотел спросить такого технического, все спросил и услышал, спасибо большое. 

Ой, я очень рад. 

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

Спасибо. Хочу, во-первых, выразить большую благодарность, что меня пригласили на этот подкаст. Очень приятно. И поблагодарить слушателей за потраченное время на этот подкаст. Надеюсь, он вам будет полезен. У меня есть анонс, возвращаясь к деятельности Zeppelin-а для масс, в частности для разработчиков. Я планирую провести workshop по Оpen Zeppelin Platform в Москве, этим летом. Скорее всего, это будет июль, но пока точной даты нету. Поэтому подписывайтесь на наш официальный твиттер, он там будет анонсирован. На мой твиттер, там тоже обязательно анонсирую. Буду рад увидеть всех разработчиков, которым интересна эта тема. Даже не обязательно хорошо разбираться в эфириуме, достаточно просто разбираться в базовых вещах, таких как npm, владеть терминалом и вы сможете поучаствовать. 

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

Спасибо. 

Спасибо большое, что пришел, Игорь. Спасибо большое, Евгений. Друзья, с вами был подкаст “Базовый блок”. Мы поговорили с Игорем Яловым из компании Zeppelin. Подписывайтесь на нас всеми возможными способами. RSS, в подкаст-приложениях, конечно же, в Apple Podcasts, если у вас “яблоко”. Заходите в наш чат, ББ чат в телеграме, подписывайтесь на наш инстаграм, и желаю вам всего доброго. Пока!          

 — Привет, друзья. Это Базовый Блок, подкаст про блокчейн. Сегодня с вами я, Иван Иваницкий, и Евгений Марченко в качестве соведущего. Привет, Евгений.

 — Всем привет.

 — И в гостях у нас сегодня Игорь Яловой из Zeppelin. Привет, Игорь.

 — Привет. Здравствуйте, слушатели. 

 — Спасибо большое, что согласился к нам прийти. 

Zeppelin — вообще глобальная компания. У нас есть всего один офис в Буэнос-Айрес, потому что основатель оттуда. Но компания распределена — у нас есть люди в Австралии, вот я в Москве, есть в Штатах, Нью-Йорке, в Сан-Франциско. Почти все они работают не в офисе. То есть, в виворке. Вот я жду, пока виворк московский откроется, они обещали открыться ещё в мае, но что-то всё никак.

 — В смысле коворкинг?

Да, да.  Чтобы ходить в коворкинг. Но дома в Москве очень удобно работать. Просто не тратишь время туда, обратно. Спасает.

 — Это да.

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

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

 — Контрибуторов за пределами Zeppelin?

Да. То есть, Zeppelin выполняет больше функцию модерации, аудита, чтобы код соответствовал высоким требования. Но очень много контрибуторов, которые в течение длительного времени вносят какие-то правки и развивают проект. 

 — А какое к нему отношение внутри компании? И насколько важную он сейчас роль играет для Zeppelin?

Отношение? Все его любят. Играет, конечно же, важную роль, потому что это очень узнаваемый продукт, то есть все знают про OpenZeppelin и более того, даже из-за этого были некие сложности с брендингом, потому что компания называлась просто «Zeppelin» и когда ты приезжаешь куда-то, тебе говорят: «О, это OpenZeppelin». Соответственно..

 — Должен признаться, я сам грешен и долгое время думал, что компания называется OpenZeppelin.

На DevCon меня спрашивал, я общался с кем-то из твоих коллег и у меня задали вопрос на засыпку: «Чем отличается Zeppelin, OpenZeppelin и ZeppelinOS? Я мужественно ответил на этот вопрос, не перепутал, но я так понял, некоторые люди вполне не различают и путают эти понятия? 

Да, я поражен, что ты не перепутал, потому что даже в самом Zeppelin это вызывает много недоразумений. И более того, я не знаю, мы анонсировали это или нет, но у нас очередно ребрендинг приближается и всё будет называться OpenZeppelin именно по этой причине. 

 — То есть, просто решили на корню эту проблему. 

Соответственно, вот у меня маечка из ZeppelinOS —  это уже устаревшая маечка, потому что Zeppelin у нас будет называться  OpenZeppelin Platform. Библиотека с контрактом будет называться OpenZeppelin или просто  OpenZeppelin Contracts для того, чтобы не вводить людей в заблуждение.

 — У меня на самом деле было ещё парочку вопросов про  OpenZeppelin, который смарт-контракты. Во-первых, это такая библиотека, которая стала стандартом по сути. Дефолтный такой источник типичных контрактов. Было ли такое, что в коде находились какие-то уязвимости, баги и надо было как-то менять, править это, но при этом, когда такой проект используется всюду, уже нельзя просто сказать: «А, знаете, у нас тут уязвимость критическая, поэтому поправьте, пожалуйста. А, смарт-контракты уже задиплоены, да? Ваши проблемы». Были ли какие-то такие проблемы, такие истории? 

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

То есть, ваши контракты, конечно, безопасны, но в половине случаев их пытаются модифицировать и пусть лучше там будет проверок больше, чем достаточно, да? Если даже половину из них сломают, выкинут и ещё что-то, всё равно контракты, наверное, останутся безопасными. 

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

Круто.

Ты сказал, что проводится внешний аудит платформы перед каждым обновлением.

Библиотеки.

Библиотеки, да. Смарт-контрактов. Внешний аудит — это в смысле  Zeppelin заказывает у какой-то третьей конторы платный аудит просто, да?

Да, у  Zeppelin есть партнеры и другие аудиторы, потому что аудитор не может сам себе делать аудит, это было б психологическим заболеванием практически.

Известная проблема.

Соответственно,  Zeppelin иногда заказывает у своих партнеров-аудиторов аудит практически любого продукта, который мы выпускаем. Без этого никак.

Zeppelin тоже делает сейчас сам аудиты? 

Да. 

И вы делаете аудиты какого типа продуктов?

Всё, что связано с блокчейном. Не всё, в основном мы фокусируемся на Ethereum, но рассматриваем и другие сферы. Но там очень важно, чтобы в нашей команде были достающие компитенции. Могу привести пример — если, например, проект использует какую-то очень глубокую криптографию уровня «Мы запилили свой протокол», то мы скорее всего не будем делать этот аудит, потому что у нас нет супер экспертов в криптографии супер низкого уровня. И плюс, это всегда очень рискованно, потому что когда кто-то пытается изобрести свою криптографию — это.. Очень легко придумать протокол, который ты не сможешь сломать. Тяжело придумать протокол, который никто не может сломать.

Я так понимаю, вы ещё делали аудит компилятора Solidity и это был какой-то безумно долгий проект?

Да. 

Можешь немножко рассказать про это?

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

Но сделать комментарий, который релально был кодом.

Да. Но чтобы сразу расставить все точки над i — я тогда ещё не работал в Zeppelin. Я работаю в Zeppelin только с января этого года, поэтому я один из таких новоиспеченных.. Не один из новоиспеченных сотрудников. Zeppelin просто сейчас активно нанимает сотрудников с начала этого года и я уже давно не новоиспеченный сотрудник, потому что там после меня люди присоединились. Я знаю про этот аудит, но, опять же, супер подробности я вам не могу рассказать.

Слушай, а вот если говорить о тебе. Можешь в двух словах описать чем ты сейчас занимаешься в Zeppelin?

Да, конечно. Я работаю на то, что называется ZeppelinOS или Open Zeppelin Platform, как скоро будет. Это платформа, которая преследует цель упростить и дать возможность для разработки блокчейн приложений в целом для разработчиков. И одна из ключевых фичей, отличий от похожих других платформ, Truffle или Embark, — это фокус на то, что называется upgradeability, способность апгрейдить контракты после того, как вы их задеплоили. Почему это важно мы можем обсудить, если вы хотите. Я считаю, что это достаточно важно. Дело в том, как мы все знаем, в основном контракты — они не меняются. То есть, если вы задеплоили свой контракт, а потом обнаружили, что надо было аудит сделать до этого и бросились делать аудит. Или вам кто-то на Reddit пишет, что у вас тут уязвимость. Даже если деньги не исчезли, то изменить код конракта будет невозможно. Это одна из проблем. А вторая проблема — это что всё меняется, бизнес требования меняются и нам нужно добавить какие-то фичи в контракт, а возможности такой уже нет.

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

Конечно. Я думаю, стоит зайти с самого начала — что идея апгрейда смарт контрактов, она не новая и существует несколько подходов, как это делать. И в ZeppelinOS мы используем подход, которые использует инструкцию EVM машины, называемую DELEGATECALL, которая вызывает код другого контракта на твоем аккаунте, над твоими данными, как собственный. Таким образом используя эту инструкцию, ты можешь менять реализацию своего контракта, при это твой аккаунт сохраняет данные. Существуют другие подходы, где, например, используют хранилище данных, как отдельный контракт, но я сейчас не буду в это ударяться. Скажу так, что после достаточно длительного исследования в Zeppelin мы решили, что DELEGATECALL — это оптимальный подход, если сравнивать его с другими подходами. А потом, в чем преимущество использования ZeppelinOS, хотя сам подход upgradeability через DELEGATECALL, он укладывается в принципе в одну статью, на medium есть несколько статей, можете прочитать. Собственно, есть Зепелиновские статьи. Там достаточно всё понятно, но от того, что понятно это не избавляет вас от необходимости написать Solidity код, написать весь сопутствующий код, который будет эти контракты создавать, менеджить и достаточно много работы, которую мы уже проделали. Проект является опенсорсным и этот код прошел аудит. И, собственно, другие, кому было интересно, они пытались найти уязвимости и, вроде, пока всё с этим хорошо. Это почему это использовать. И как это работает? Ещё раз, у вас есть сама реализация, есть прокси и вызовы идут в прокси. И когда вы делаете апгрейд, у вас меняется реализация, но все ваши вызовы и другие идут в прокси. И из-за банальной проблемы, которые кажутся банальными, но они чисто практически вызывают много затруднений. Например, большинство проектов, они используют multisig wallet. Я не знаю, как это будет по-русски. Кстати, сразу извиняюсь перед нашими слушателями. Я совершенно не владею техническим русским языком, поэтому..

Его нет.

Я тоже multisig — это multisig и есть. 

Хорошо. И, соответственно, multisig wallet должен владеть этой прокси и посылать ей транзакции «Давайте сделаем апгрейд или то ещё». Но некоторые multisig wallet, например, не умеют подписывать произвольные транзакции. И потом мы в Zeppelin очень быстро поняли, что если у тебя очень много прокси разных, вроде их 20. Чтобы проапгрейдить их все.. Например, поменять им всем владельца, да? То есть, вот девелопер их задеплоил и говорит: «Давайте дадим контроль фаундерам, например. Кому нужно». И он должен, соответственно, эти 20 вызовов как-то руками делать. Соответственно, вот все эти вопросы, они решаются в ZeppelinOS, чтобы.. Там у нас есть COI. Чтобы ты просто используя COI-команды, мог это вообще всё делать или писать скрипты, как все драматизируют, и вообще мыслить на принципиально другом уровне. Это немного про проект. А теперь отвечая на вопрос «А какие трейдофы?» Конечно, они есть. И главный трейдоф — это расходы, потому что когда ты вызываешь контракт через прокси, есть, что называется gas overhead, и я его даже считал в прошлом месяце, по-моему. На форуме у нас есть ответ на этот вопрос. Я сейчас не помню, какая цифра, но она существует. Соответственно, каждый твой вызов к этому контракту, он становится дороже. И, соответственно, если у тебя какой-то проект, где очень-очень много транзакций, то есть это экономика какого-то большого масштаба. Этот, даже пусть маленький процент, поскольку касса стоит денег, он конвертируется в какую-то реальную сумму. Так же deployment контракта. deployment прокси контрактов, он выгоден, когда ты, например, делаешь кошелек для пользователей и ты один раз задеплоил сам кошелек, и у тебя потом много прокси, много прокси — и ты каждому пользователю раздал прокси. Ты здесь экономишь, потому что ты один раз задеплоил весь код самого контракта. Это понятно? 

Понятно. Я просто именно Parity, извините.

Да, парити — это..

Известный пример такого подхода.

Да, но вот они.. Ладно. Они не использовали ZeppelinOS и облажались. 

ДАЖЕ НЕ Zeppelin. Насколько я знаю, у них не было аудита. То есть, не было аудита. Я не могу представить, что аудиторы не заметили незащищенный конструктор. Насколько я знаю, не было аудита у Парити.

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

Да.

Я просто смотрел код.

К слову о кошельках, вот другой известный кошелек Gnosis multisig. Не знаю, знаете или нет. Много кто использует. Как раз Zeppelin делал им аудит. Поэтому мы их везде указываем, как кошелек. Возвращаясь к выгоде, если у вас, например, не кошелек и миллион прокси для миллиона пользователей — очень выгодно. Вы сэкономили ( 14:29 , неразборчиво). Но если у вас другой проект. Например, у вас очень большие контракты и вам каждый контракт нужен всего один, то вы деплоите и контракт, и прокси к нему. И получается, что это больше газа требует. То есть, нужно деплоить не сам контракт, а прокси ещё. Это в плане денег газа недостаток. И в плане управления всем этим — мы сейчас активно работаем, чтобы как раз это было как можно проще, но есть определенные именно практических больше усилий требуется,  чтобы этой системы. Когда у тебя есть просто контракт, ты просто вызываешь методы этого контракта и ни о чем не думаешь. Когда у тебя есть контракт и прокси, и у него есть одна, другая пегментация — ты тратишь больше времени, чтобы понять, где у тебя все эти адреса, записать их.Как раз мы решаем эти проблемы. А если у тебя прям очень много прокси, у нас сейчас есть прокси-админы. То есть, это такой контракт, который управляет всеми остальными прокси, чтобы тебе не нужно было каждое свое прокси в проекте менять владельца при необходимости. 

То есть, я правильно понимаю, что если я хочу upgradeable контракт и согласился с тем, что я хочу использовать тот же самый подход, и я рассматриваю два варианта — использовать ZeppelinOS и не использовать, написать всё руками. Код задеплоеный будет в общем одинаковый, и расходы будут одинаковые. Разница в том, что в ZeppelinOS будет использовать аудированный код, все скрипты, который мне пришлось бы писать руками — деплои и апдейты, на java script, скажем так, они уже будут более менее тоже написаны. И как такового, если я согласен на такой дизайн, оверхеда никакого не будет, зато у меня будет меньше именно всякого такого болеерплейда и обслуживающего, скажем так, кода. Потому что это уже заложено в систему, получается?

Да, мы когда думали в каком вообще направлении надо двигаться, сейчас главная проблема блокчейна — это называется mass adoption. Но у mass adoption есть две стороны, потому что есть две группы людей — это есть пользователи, а есть разработчики. И с mass adoption у разработчиков тоже есть определенные проблемы. Любой человек, который когда-нибудь писал приложение на блокчейне, он сразу поймет о чем я говорю, потому что если сравнивать разработку на айфи с разработкой на том же React — это просто неба и земля. Настолько комфортней разработка под обычный веб, чем разработка на эфире, где часто у тебя вместо stack overflow, у тебя ещё есть на github, причем ещё есть на проекте, который не работает. Причем, ты там пишешь «У вас тут баги и что-то не работает», тебе пишут: «Да, мы знаем, но сорян, пока нет времени». И то, что мы пытаемся сделать.. Вот я в частности занимаюсь film developer experience, такая глобальная цель видения — это сделать разработку для разработчиков на эфире и вообще на блокчейне максимально комфортной. Чтобы они чувствовали себя просто супер комфортно.

Можешь рассказать, ты над этим работаешь или хочешь, как минимум, работать? Ты должно быть следишь вообще тогда за тем, как меняется developer experience  Какие изменения ты бы мог там сказать за последние полгода или может быть год произошли?

Инструменты для разработки становятся лучше, то есть они объективно улучшаются, становится меньше каких-то меньше каких-то непонятных, грубых ошибок. Если взять основные фреймворки, тот же Truffle, Ganache, Remix — они все развиваются и уровень ошибок меняется. Да, ошибки не исчезают никуда, но если взять год, два года назад были совсем какие-то нелепые ситуации и ошибки, а сейчас с таким можно реже столкнуться. И становится всё больше и больше того, что я назвал — комфорта и утилитарности. Появляется очень много проектов. Опять же, эко-система растет не только вглубь, не только Truffle становится лучше или вестмен, но и вширь. То есть, появляются какие-то новые фреймворки, которых раньше не было принципиально. Вот я недавно видел фреймворк для тестирования. По-моему, он назывался Waffle. То есть, есть Truffle, есть Ganache, а это называется Waffle. И, соответственно, у Embark появился Debugger. До этого Debugger единственный был у Truffle, если я не ошибаюсь. А вот пару месяцев назад видел, что у Embark появился очень неплохой Debugger для EVM-кода. Ещё в Remix есть Debugger, конечно же.

В Ремиксе есть, да.

Да. Соответственно, появляется очень много именно командных утилит, которые делают кучу рутины, которую ты раньше должен был делать сам. Например, если тебе нужны ответы на какие-то вопросы, например: «Покажи мне все транзакции этого контракта за последний месяц». Казалось бы, тривиальная задача, потому что ответ очевиден, но без определенной утилиты.. То есть, это надо сесть и писать код. 

То есть, это надо либо коду, либо Etherscan, получается? Раньше по крайне мере надо было.

Да, но Etherscan руками. А если это нужно как-то автоматизировать, то нужно было сесть, написать код на Nojs, Web3js, который к энфурижи приконнектится и эти данные вытащит, куда-то сложит. А сейчас вот есть утилиты и можно одну команду написать, и он тебе json отгрузит.

Удобно, да.

Я вот о чем подумал. Мы говорим о том, что сообщество развивается, инфраструктура развивается, и что сейчас есть такие тулы, которых не было год назад, два года назад. Но понятно, что для серьезной промышленной разработки эти тулы по большому счету необходимы. И необходимы скорее всего даже такие, которых ещё нет. Можно ли в этом контексте говорить, что то, что разрабатывали и как разрабатывали 2 года назад — это априори не серьезная промышленная разработка, а скорее какой-то ресерч или песочница или что-то такое?

Я бы сказал, что и да, и нет. Да — потому что это прям очевидно, очень такие нулевые дни в эко-системе. Если сравнивать эко-систему Дотнета (20:38, неразборчиво), jsэкосистему с эко-системой Эфира, прям супер очевидно, что это всё просто начало начал. Но с другой стороны люди швыряют миллионы долларов в проекты и сказать, что это не продакшн нельзя, потому что.. Конечно, нет такого прям супер глобального использования, но какое-то использование есть. Сейчас вот есть Maker, который вчера читал. Они, по-моему, на 75 миллионов долларов вышли в свое пуле. Или что-то такое. Какая-то приличная сумма.

Вчера смотрел, было 82 миллиона долларов у них.

Ой, даже больше, да? Есть различные проекты, где обороты уже в миллионы долларов и поэтому сказать: «Нет, ребят, извините, это не продакшн, это эксперименты» — у меня не поворачивается язык. С другой стороны, вот эти первые компании, они несут на себе все самые большие риски, потому что пока их экосистема и методики всё не отработано.. Знаете, как методички безопасности пишутся кровью, так же и в Эфире — все лучшие принципы проэктирования, они отрабатываются чужими хаками.

Чужими деньгами оплачиваются.

Да, чужими деньгами оплачиваются. Причем, по очень высоким рейтам, прям очень высоким рейтам.

Кстати, в последнее время, по-моему, не было таких громких атак, когда десятки миллионов, сотни миллионов — такого в 2019 году, по-моему, вообще не было.

Какую-то же биржу ограбили недавно. Binance ограбили.

Там API сломали, там не смарт-контракт.

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

У меня в одном кошельке Эфира, совсем давным-давно, когда Эфир был дешевым и я ещё очень много экспериментировал, у меня тогда было миллион кошельков. У меня до сих пор этот кошелек лежит, я боюсь. Да, у меня есть кошелек, в котором лежит 50 эфира и я не могу вспомнить на него пароль.

Наверное, обидно. 

Да, были же даже истории, как чувак на мусорку лазил за своим компом, на котором какие-то сотни биткоинов. Так что, здесь это ещё не худший вариант.

А вот тогда, если возвращаться к developer experience, понятно, что в первую очередь развиваются инструменты, которые помогают писать код, писать с меньшим количеством ошибок. А вот что бы ты сказал про инструменты, которые заточены именно под безопасность? Про их эффективность, по их использование, про их роль в разработке в системе вообще?

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

Ты пользуешься этими инструментами?

Нет. На самом деле, в Zeppelin есть несколько команд и есть команда аудиторов, которая занимается аудитами. То есть, там периодически происходят какие-то ротации, но я не занимаюсь сейчас аудитами, потому что мне интересно развивать Zeppelin Platform, в частности developer experience. У меня прям болит от того, что всё это так сложно. У меня есть свой хобби проект. И я когда его писал ещё, я тогда настрадался, поэтому мне эта тема очень близка.

А что за проект? Может, мы оставим ссылочку в шоуноутах, если хочешь о нем рассказать слушателям.

Да, всегда люблю рассказать о своих проектах. Это хобби-проект, то есть никакой коммерции, он опенс-сорс, лежит на Гитхабе. Называется CoinPledge. И идея проекта заключается в том, что я долго думал, какое можно придумать реальное применение блокчейну, неси, купить ему бесполезный токен и потом, может быть, разбогатеете, но скорее всего нет. И родилась идея этого проекта. Мы все хотим быть лучше в этой жизни, достигать каких-то целей. И идея CoinPledge заключается в том, что ты ставишь себе какую-то цель, желательно публичную. Например, «я хочу сходить в спортзал 52 раза в году, раз в неделю». И ты выбираешь себе ментора — это обычно твой друг или знакомый, который есть. И весь проект работает на блокчейне, там вообще не силен два кода. И ты делаешь этот плэдж на блокчейне и делаешь какую-то ставку в виде эфира. Например, в 1 эфира. Или сколько можно. Естественно, показываешь, что не так важна сумма. И ментор потом уже решает выполнил ты свой плэдж или нет. И если ты выполнил, ты получаешь деньги обратно. Если ты его не выполнил, деньги отправляются мне ха-ха. Конечно же нет. Шучу. Деньги отправляются в твой личный фонд, бонусный фонд. И ты не можешь из него достать смарт-контракты. Короче, ребят, не надо вламываться ко мне домой, я не могу раздавать деньги. Он попадает в бонусный этот фонд. И если ты делаешь себе следующий плэдж и он успешен — ты получаешь половину обратно. Делаешь ещё один плэдж — ещё половина обратно. Так до какой-то суммы маленькой и потом получаешь всё обратно, если делаешь много подряд. Но если проигрываешь, то фонд снова пополняется. То есть, эти деньги делаются недоступными, но делая новые плэджи, ты можешь вернуть их обратно. Вот такая вот идея проекта. Мы с друзьями играем, нам очень весело.

И как? Побеждаете или фонд растет?

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

C ZeppelinOS  начинаешь ценить свое время.

Да, ты ценишь свое время, но ты понимаешь, что нужно как-то объективнее оценивать многие задачи, которые ты себе ставишь. Вот ссылка, там есть сайт ( 26:45 , название сайта), там есть ссылочка на CoinPledge. Или просто наберите в гугле CoinPledge.

Мне ещё нравится, что вы туда добавили идею азарта. То есть, ты можешь не только проиграть и всё. Ты можешь проиграть, а потом отыграться обратно. Есть поговорка: «Не за то отец сына бил, что тот в карты играл, а за то, что отыгрывался».

Ты сказал, что разные команды есть в Zeppelin внутри. А можешь вообще рассказать про структуру Zeppelin, как вы взаимодействуете? Какую-то такую информацию. 

Да, надеюсь мой lawyer нас потом не посадит, но, я думю, можно рассказать. У нас есть команда аудиторов, которая занимается аудитами, у нас есть команда, которая занимается Open Zeppelin Platform в неё входят все инструменты и продуты, которые мы делаем главные, которые Open Zeppelin Platform или ZeppelinOS. И наша команда, она очень распределенная — то есть, у нас есть люди и в Австралии, и в Северной Америке, в Южной Америке. Вот пока я в России один. Кстати, раз уж мы эту тему затронули, то мы сейчас ищем разработчиков, прям очень ищем. Там основные требования — знать хоть немного эфира и Nojs. И у нас очень хорошие условия — мы полностью remote, и у нас оплачиваемая страховка, спортзал, ланчи, коворкинги и всё, что можно. Поэтому пишите или мне, или Zeppelin. Можете говорить, что я рекомендовал, я буду очень рад. Я очень хочу, чтобы у нас было больше людей из России или из Москвы. То есть, если нас будет хотя бы пару человек, мы уже можем делать встречи Zeppelin.

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

Спасибо. Я извиняюсь, что я со своей рекламой ворвался в подкаст. 

Нет, у нас мы в конце даже говорим: «Если есть объявление или реклама — пожалуйста». Ты просто не стал дожидаться, взял быка за рога. 

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

А сколько примерно человек получается?

Сейчас в Zeppelin приблизительно около 25 человек, но.. У нас вот проблема очень странная, на мой взгляд, я не могу её объяснить. Мы уже почти несколько месяцев не можем никого нанять в нашу команду. Это парадоксально. Дело в том, что в Zeppelin есть определенные ценности, они на сайте там указаны — это committed to excellence, intellection curiosity. И нужно обладать не только техническими навыками, но и соответствовать этим ценностям. Если ты говоришь, что согласен, это важно — работать с людьми, которые разделяют твои взгляды, потому что если.. Или не разделяют твои взгляды, это вызывает сложности. У нас это две основные команды. Также, понятно, есть HR, финансы, лоер, кто занимается коммуникациями, пиаром, ивентами, они всем этим вместе занимаются. Я прям поражен, как они всё это успевают делать. А для коммуникации в основной используем Slack. Мне кажется, достаточно удобно. 

А таск-трейкер у Вас по сути ишью получается в Github.

Да.

Но по крайней мере у технических команд. 

Да, конечно. И более того, у нас все сейчас публичные. Это как раз очень меняет твою перспективную заботу, когда ты пишешь open source. В публичном ишьес, ты не можешь там написать: «А потом сделали ребята». 

И так сойдет!

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

То есть, весь код Zeppelin, он принципиально опенсорс и он принципиально пишется весь в опенсорс?

Да. Все коммиты каждый день, все ишью из опенсорс. У нас бывают какие-то обсуждения в Slack или митинге. А митинги у нас по Zoom происходят.

Я вот сейчас смотрю — недавно Github добавил возможность в каждый репозиторий положить файлик Security.md, в котором будет описано, с кем связываться и как вообще раскрывать уязвимости. Потому что, понятно, если найден — у вас здесь кнопка сползла в сторону, верстка сломалась и ещё что-нибудь такое, то это просто ишью открыл и всё хорошо. А если какие-то проблемы

, связанные с безопасностью, то нельзя сообщить всему свету. То есть, может быть вам стоит их добавить? Я просто проверил — такого файла нет ни в Open Zeppelin, ни в ZeppelinOS пока что. Рекомендую добавить, наверное.

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

Нравится, да? 

Да. Что Microsoft что-то купил и оно не стало хуже — это прям шок.

Будем надеяться, что так будет продолжаться.

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

Давайте я вам ещё расскажу про такой технический код-проект, который вот конкретно я его делал один. Называется он Solidity Hot Loader. Это Loader для вебпака. И в чем идея и почему, мне кажется, это направление имеет смысл? Вот классически цикл разработки — ты пишешь Solidity-код, у тебя локальный блокчейн. Например, Ganache. И ты поменял свой код, ты его должен скомпилировать — например, использовать Truffle. Потом этот код ты загружаешь в локальный блокчейн. Потом этот код ты загружаешь в локальный блокчейн. Как я начал говорить, тот же Truffle, Truffle Migrate, например. И потом, как правило, у тебя не просто код, у тебя есть какие-то в нем данные, ты его чтобы потестировать, как-то поработать с ним — ты ещё должен эти данные туда загрузить. То есть, ты либо руками их нащелкиваешь там в своем приложении, веб-сайте либо у тебя какой-то скрипт. И получается, например, ты одну строчку поменял и весь этот цикл идет по новой. Я считаю, что это вообще недопустимо с точки зрения developer experience. И как эту проблему я постарался решить? Почему он называется  Hot Loader — то есть, это аналогия с веб Hot Loaderами, которые могут модули перезагружать. Что этот older webpack, он наблюдает за файлом Solidity.sol и если этот файл меняется, он его сам перекомпилирует и сам его пушит на блокчейн, то есть у тебя заливается новый контракт. А поскольку в ZeppelinOS у тебя же апгрейдится реализация, но не сами данные, то данные у тебя сохраняются. И таким образом что получается? У тебя, например, есть какое-то приложение — например, Count просто считает: 1, 2, 3. И вот у тебя, например, есть счетчик 100. Ты, например, поменял Solidity код, нажал command + S, то есть сохранил файл. У тебя контракт перекомпилировался, закинулся на блокчейн, а потом Zeppelin имплементацию, но у тебя сохранились твои данные. То есть, ты нажимаешь — у тебя снова функция «добавить 2 кнопку», добавить 2. И она добавляет 2 и у тебя сохраняются эти данные. То есть, это позволяет тебе разрабатывать солидити код, и он у тебя автоматически перезагружается везде, включая Front End. И по ощущениям это прям очень удобно. То есть, я вот вспоминают вот эти вот «перекомпилируй, залей, накати данные» — вот этот цикл..

Предварительные транзакции, чтобы всё проинициализировать потом, да?

Да. Он меня просто убивает. И вот я написал этот Hot Loader. У нас вот есть зепкид. Зепкид — это такой проект, это как тьюториал. То есть, он на ZeppelinOS, но он также использует инфуру, Truffle — все текущие стандарты. И там есть несколько тьюториав, подтьюториав. И вот один из них — он про Hot Loader. То есть, там этот пример с Каунтером. Там есть две кнокпи «добавить» и «убрать» число +1, -1. Изначально работает только кнопка +1. И ты открываешь солидити файл. Метрика его закомментировал, например, что сам напишешь его, откомментируешь, нажимаешь «Сохранить» и у тебя всё обновляется, вэбпак у тебя даже рефрешит браузер. То есть, ты просто нажимаешь «сканить», у тебя страничка сама перезагружается. И у тебя кнопка -1 начинает работать. Нажимаешь. У тебя там выскакивает правило Семи тамаска, нажимаешь пруф и всё, у тебя всё работает. И я думаю, что будущее как-то в эту  сторону должно двигаться — что мы должны сделать именно для разработчиков всё супер простым. Я думаю, что ещё проще надо это сделать.

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

Да. Даже на консенсусе.. Я правда не был в этом году. Но мне коллеги рассказывали, что на консенсусе в этом году много было посвящено вот именно разработке приложений на протоколах. То есть, не на самом Эфириуме, а вот когда есть уже какой-то протокол, который уже написал все эти смарт-контракты и он уже предоставляет API сторонним разработчикам. То есть, приходит ( 36:08 , неразборчиво) разработчик, который вообще буке может ничего не знает. Но он видит, API, а у них там блокчейн, но я даже не хочу думать что это за блокчейн.

Это просто API для него.

Да, для меня просто API. И он делает приложение и у него получается блокчейн приложение. Другое, чем мы ещё занимаемся, много тратим сил и времени, правда. Не я этим занимаюсь, а мои коллеги. Это GSN — это Gas Stations Network. Я не знаете вы что это такое или нет?

Мы в курсе, но лучше расскажи для слушателей.

Да. Соответственно, одна из самых главных проблем не разработчиков, а пользователей, что когда ты хочешь использовать какое-то приложение блокчейн, Эфира в частности, тебе нужен эфир. И эфиров у большинства людей нет. Чтобы купить эфир, это зависит от страны, но в целом это нужен банковский счет, нужна верификация — это сложно. Только если тебе какой-то друг не пришлет. И это является главным блокером для массовой адаптации. То есть, предположим даже если завтра сделают супер приложение, у которого ценность социальная зашкаливающая — оно одновременно лечит рак, кормит бездомных и всё что можно, то люди не смогут его использовать, потому что у них нет эфира. И сейчас есть много попыток решить эту проблему с разных сторон. И GSN — одна из них. Как из названия следует Gas Stations Network — это сеть заправок, так называемых заправок эфира. Идея началась с того, что.. То есть, самая очевидная идея, что если у пользователя нет эфира, то можно оплачивать транзакции за него. Собственно, в другой блокчейн, в другом поручении — в EOS, там же транзакции ничего не стоят. Там разработчики должны оплачивать эти транзакции — это встроено в сам протокол. Но Эфир работает по-другому — нужно оплачивать транзакции. И первая попытка решить это была — это собственно есть API, который про метод транзакции, что можно транзакцию.. То есть, сам человек прописывает в своем приватном ключе его транзакцию, что он хочет сделать, и он её заворачивает.. Но у него денег нет. То есть, он прописывает приватным ключом, на котором ноль эфира, но зато (неразборчиво38:11 ) — я хочу зарегистрироваться на сайте. И он её отдает кому-то, например, рилееру — посреднику. И посредник, у которого есть деньги, он ее заворачивает в транзакцию, которой уже оплачивает эту транзакцию. И потом эта транзакция выкидывается в сеть и тестомайнер видит, что в этой транзакции есть деньги, он её разворачивает, забирает себе комиссию, а потом там внутри ещё одна транзакция, которую он тоже разворачивает и исполняет её. Вот это метод транзакции. Но основная проблема с этими транзакциями изначальная была в том, что.. Я помню, Cryptokitties, ещё кто-то делал какие-то первые вариации, что мы же хотим, чтобы всё было децентрализованным. То есть, нам мало просто решить проблему, нам надо решить её децентрализованно. Вот, например, ваша компания конкретная, она делает свой рилеер. И ваше приложение не телефоне, оно посылает эти метатранзакции вашему собственному, личному серверу, который их заворачивает и отправляет в сеть. Это всё работает, но это не децентрализованное решение в том смысле, что если ваш сервер личный упадет, то приложение перестанет работать, а если у вас не просто приложение, а какой-то протокол, то протокол станет доступным для пользователей.

Грубо говоря, потому что будет некому снабжать эти транзакции газом.

Да. И было такое решение, такое полработы ещё. Оно работает, но оно не децентрализованное. И Gas Stations Network — это как раз попытка решить эту проблему децентрализованным способом. В чем заключается идея? Что есть много рилееров, то есть много узлов, это как майнеры, но второго порядка. То есть, они майнят не транзакции в блок, они майнят мето-транзакции и бросают их в сеть. То есть, вот эти рилееры. Они все, их много, у них есть общий список и они все готовы принимать мето-транзакции, не важно от кого они идут. И тут есть несколько челленджей, которые, на мой взгляд, GSN решает фундаментально. Хотя, конечно, всегда есть какие-то векторы атак и сложности. Но основаная проблема была, что как, например, этим майнерам не ссориться из-за транзакции. То есть, например, если мето-транзакция, все пытаются её, условно, намайнить и в итоге кто-то один побеждает, а остальные потратили своё время. Это плохо. И то, что GSN предлагает — это то, что есть смарт-контракты, он собственно называется реалхаб, то есть весь GSN полностью работает на эфире и он полностью децентрализованный. То есть, вообще нет никакой централизованной части. И вот этот смарт-контракт реалхаб — там все эти рилеер станции регистрируются, то есть она регистрируется и говорит: «Я готов принимать мето-транзакции, у меня такая-то комиссия». Да, конечно, это делается всё за комиссию небольшую. И все эти рилееры, они должны внести свой стейк — то есть, то, чем они рискуют в игре. То есть, то, что называется ( 40:57 неразборчиво). Потому что если они не вносят стейк, то нельзя реализовать никакой слэшн механизм, то есть механизм наказания за плохое поведение. И вот они все регистрируются в этом риалхабе, есть список. И таким образом, там происходит инверсия контроля. То есть, не ты направляешь мне транзакцию и любой псевдомайнер её майнит, а ты сам выбираешь, какой майнер тебе подходит. Таким образом решается проблема того, что все псевдомайнеры не пытаются твою мето-транзакцию поймать. Если вдруг твой рилей оказался ненадежным, то есть ты подался на эту транзакцию, а он ничего не делает или специально ничего не делает — тут как раз работает этот слэшн механизм. Там есть криптографический надежный способ доказать, что рилеер тебе отказал в проведении твой транзакции и за это его система накажет, потому что он внес свой стейк и, соответственно, система будет устойчивой до тех пор, пока есть хотя бы один честный рилеер, потому что если тебе этот не помог, ты идешь к другом и т.д. Вот этот протокол, он реально решает проблему онбординга пользователей. То есть, можно будет скоро сделать.. Причем, скоро — это, я думаю, к концу года это уже должно быть продакшн уровня. Можно будет сделать приложение — то есть, это просто приложение на телефон или на веб-сайт, где пользователь заходит и для него это выглядит как просто фронтенд, но на самом деле это блокчейн приложение на эфире, которое просто децентрализованно.

Ты сказал, что Gas Stations берет комиссию и комиссию она должна брать по идее с пользователя. А мы начали с того, что у пользователя нет эфира.

Да, как можно брать вообще комиссию с пользователя, если он даже не пользователь транзакции. Нет. Она берет комиссию. Она берет комиссию.. Тут же вся идея этого Gas Stations Network в том, что если весь бизнес со стороны посмотреть — ты хочешь делать анбординг пользователей, потому что есть какой-то вэйли в этих пользователях, это не просто случайные пользователи. Например, у меня есть приложение, я решил, что я буду себе загружать пользователей. И в случае с использование GSN, ты как проект оплачиваешь весь газ и все комиссии. То есть, там как это работает? Вот этот рилайхеб, который всех регистрирует псевдомайнеров, он с тебя берет тоже какой-то задаток минимальный, чтобы на несколько транзакций хватило. И как только у тебя твой баланс истощается, ты его должен постоянно пополнять. Если пользователи, соответственно, идут. И более того, там есть ещё полный контроль над тем, кому ты позволяешь оплачивать эти транзакции. То есть, твое приложение.. Ты можешь создать, например, белый список пользователей. То есть, приложение просто регистрируется, ты им всем создаешь эфир адрес, правда пользователь может про это не знать, но это не важно. И ты говоришь: «Я оплачиваю транзакции только пользователям из этого эфира, из этого списка». Соответственно, другие пользователи за твой счет не могут транзакции провести. И плюс не нужно сразу делать большой депозит. То есть, если нам бы пришлось делать большой депозит сразу, это могло привести к рискам. Если похакают близки, а так ты постоянно пополняешь его. А в чем смысл делать это для приложений — это уже задача бизнеса. То есть, например, если у тебя есть какое-то казино. И ты хочешь, чтобы люди играли на блокчейне супер честно, но люди не готовы сами получать эфир, они могут тебе платить PayPal-ом, кредиткой. Твоя компания, уже через банковский счет, на бирже покупает эфир и туда же его закидывает. То есть ты просто решаешь эту проблему. Либо у тебя приложение и ты монетизируешь через сбор данных с пользователя. Пользователь регистрируется, ты оплатил им 10 долларов этого эфира, но ты больше заработал, собирая какие-то данные. 

То есть получается, что подобный бизнес, который решил использовать “ Gas Stations Network, в принципе, может поднять такой свой релеер в эту сеть. И в своем приложении прописать, что: “Обращайся на мою станцию”. И как бы сделать так, чтобы комиссия и заработок станции доставался ему самому. 

Да, но, как показывает практика, мы движемся в сторону микросервисов. Всем всё лень. Когда ты делаешь стартап и у тебя вообще нет времени на поспать…То есть, каждое лишнее движение..

То есть, проще просто заплатить и забыть? 

Да. Я всегда думал, что проще заплатить, когда ты маленький., поначалу, а потом, если все раскручивается, можно сделать свой релеер? Но я тут узнал, что, например, Apple использует сервера amazon, у них нет своих серверов. Они платят 200 миллионов в год за хостинг режима учеток. По-моему, twitter тоже использует amazon. То есть, у многих больших компаний нет своих серверов. Dropbox использует amazon. Так что, возможно, это самое лучшее решение — не думать об этом. 

Перейдем тогда к governance?

 Ты нам перед выпуском сказал, что тебе эта тема интересна. Мог бы обрисовать чем именно? Что тебя привлекает? Зачем ты следишь за этой областью? 

И, наверное, даже что подразумевается в данном случае под governance?

Да, мне эта тема очень интересна. К сожалению, я не занимаюсь ей непосредственно, но я за ней активно слежу. Почему мне интересно? Потому что я думаю, что это будущее. И если совсем так глобально заходить. Как сейчас работает общество? У нас есть некие соглашения, мы называет их законами. И у нас есть инструмент сделать так, чтобы эти соглашения работали — это собственно: суд, полиция, тюрьма, государство. Мы используем насилие, чтобы добиться того, чтобы наши соглашения работали. И это, если честно, с точки зрения user experience не очень процесс. 

Да, соглашения, которые мы, зачастую, еще и не подписывали, то есть, не соглашались на них. 

Да, и в этой системе очень много абсурдных ситуаций случается. Мы все про них читали и, к сожалению, некоторые сталкивались. И есть такая фундаментальная мысль, которая мне очень нравится, что криптография способна выдержать любой уровень насилия. Идея в том, что если у тебя есть публичный ключ, но нет приватного ключа, пол common-а (неразборчиво, 46:57) может знать этот публичный ключ, но от этого он не расшифруется. И соответственно, это дало человечеству фундаментально новую возможность создавать организации и сообщества, которые защищены криптографией. И никакой уровень насилия не способен это остановить. Такого не было раньше в истории человечества. И мне кажется, что поскольку социальный прогресс очень инертный уже много лет,  у нас уже есть технологии, которые позволяют делать вещи, которые мы еще не осознали. То есть никто еще не понял, что сейчас можно жить с такими технологиями, которые есть совсем по-другому. Но поскольку есть социальная инертность исторически огромная, но этого никто не понимает. Я за этим очень слежу и самый начальный пример, я даже не знаю, это governance, но это вот базовый пример это ICO, что все поняли, что можно написать простой smart контракт, что: “Я тебе сейчас дам токен и потом обещаю тебе, что потом что-то там будет. Неважно. А ты мне сейчас денег.”. И такая простая идея собрала миллиарды. Но потом все поняли, что у этого подхода есть недостатки. Мне кажется, что главный недостаток ICО в том, что в стартапах ты много лет работаешь, потом у тебя IPO или тебя купили, ты заработал и все эти годы ты работаешь, и тебе это IPO снится. А в ICO — ты привел ICO, ты собрал деньги и все. Можно дальше не работать. 

Можно закрываться и ехать в банановую республику, да?

Да. Мне кажется, что это обратная мотивация. Это неправильно. И поэтому в 2019-м году, сейчас много всего происходит в DAO — Decentralized Autonomous Organization. Я знаю, что Aragon этим занимается давно. Вот сейчас есть такой проект Moloch DAO. Соответственно, все эти идеи на поверхности. И это даже идеи, они многие не технического характера. Сейчас очень много этим занимается экономистов, социоэкономистов. Тут уже не стоит вопрос «как написать этот код?», потому что есть базовые средства. А стоит вопрос «как сбалансировать систему поощрений и наказаний так, чтобы люди, в соответствии с ней, вели себя так, как мы хотим?». Опять же, возвращаясь к ICO, когда founder-ы получили все деньги и у них кроме честного слова, ответственности и репутации очень мало инициатив. Я всем рекомендую прочитать про Moloch DAO — это очень интересная концепция. И более того, если возвращаться к глобальному видению, я общался недавно с человеком, который работает в ритейле. Я ему говорю, что у вас же там ритейл компания. Он говорит: “В нашей ритейл компании 50% программистов”. У них интернет магазин. И идея в том, что сейчас любая компания становится софтверной компанией. И это всем уже стало очевидно. Но не всем очевидно, что любое государство или то, что называется в английском «state», в широком смысле слова, оно становится софтверным государством. Может, это правда и не про Россию пока сейчас, но мне нравится что сейчас делают госуслуги. 

Россия пока довольно хардверное государство. 

По мировым меркам, Россия — достаточно продвинутое государство в плане IT, мне это нравится. Мое видение такое, что все наши социальные соглашения, т.е. законы, они будут перетекать в софт, так или иначе. Blockchain или не blockchain, но blockchain пока кандидат №1. По тому что, если ты прописал соглашение на blockchain-е, — соглашение, как договор, — то не нужен суд, не нужна полиция, ничего этого не нужно. Ты его не можешь нарушить, т.к. оно гарантируется самой сетью. И, конечно, многие люди могут что-то пообещать и не делать. И да, это правда. Но существуют различные слэш механизмы. Ты можешь внести депозит и сделать жюри коллегиальное, которое будет решать выполнил ты обещание или нет. Если ты не выполнил — ты лишаешься этого депозита. И эта система достаточно хорошо масштабируется. Опять же, я не экономист, но сейчас есть достаточно много размышлений на тему как это организовать. Концепция компании — она вообще инородная. Вот мы говорим, например, юр. лицо, очень смешное слово. Где это юр. лицо? Можно на него посмотреть? Это некая концепция, которую мы выдумали, потому что нам так удобно. И есть огромный список законов, которые это юр. лицо сопровождают. И эти законы меняются, международное право — это супер сложное. То есть, если у вас есть компания в Англии, России, Штатах, на Багамах, то вам нужен отдельный lawyer, который будет делать это международное право. Но blockchain, он глобален с дня “0”. У blockchain-а нет юрисдикции. Тебе не нужен отдельный смарт контракт программиста для США, для России, для Кайманов. Если ты делаешь какой-то контракт, который заменяет тебе компанию — он глобальный. Он работает на все штаты, работает в единой валюте. И тебе не нужны разные бухгалтера, разные юристы. И я думаю, что это будущее компаний. DAO — они могут сильно потеснить структуру организации компаний. В стартапах есть клиф-период. Сначала ты ничего не получаешь, ты ушел, тебе ничего не заплатили. Твой equity, если ты один из фаундеров, а если ты с какого-то года, тебе начинают тоже выплачивать. Твой остается. И везде это делается в форме законов, в штатах. В тех же ICO проектах, эти клифы и этот waste-инг стали прописывать в смарт контракты. И это идеально работает. Тебе просто по времени не платятся твои токены, твой эфир, ты ждешь. 

И суд с полицией тебе не помогут.

Да, тебе ничего не поможет. И я думаю, что это — супер будущее. 

Смотри, ты говоришь, что у нас появились новые инструменты, которые приведут к появлению новых социальных институтов. Если смотреть на то же самое ICO, нет проблемы в том, чтобы собрать эфиры, раздать за них токены, прописать логику, вейстинг. Проблема возникает с тем, что человек может сказать: “Я свои эфиры получил. Зачем мне работать? Пойду на Багамы отдыхать.”. Получается, здесь не хватает института, который есть в традиционном IPO, что к нему, грубо говоря, полиция придет за невыполнение обязательств. Или какого-то децентрализованного института, например, института репутации. Например, что этот человек так дорожил бы  своей репутацией, что не позволил себе потратить деньги вкладчиков. Как ты видишь здесь развитие институтов? Мне кажется, что оно сильно отстает и я пока движения в эту сторону не вижу. Движение вижу только техническое.

 Я определенно вижу движение. Тот же DAO Moloch. Вообще для чего этот проект? Там идея такая, что он будет способствовать развитию экосистемы эфира. Ethereum Foundation как работает? Он дает гранты. И это все не blockchain, не децентрализованный процесс. Там есть комиссия, если я не ошибаюсь, в Ethereum Foundation. Ты им пишешь, что мы делаем open source, он всем поможет. И тебе либо дают деньги, либо нет. И идея таких новых DAO в том, чтобы не давать деньги один раз, а в том, чтобы контролировать то, что люди делают, используя смарт контракты. Если я не ошибаюсь, могу плавать “технически”, то идея Moloch DAO в том, что ты вносишь любой актив, который соответствует ERC20. ты можешь вносить сам эфир или ты можешь вносить, например, токены какого-то проекта, какого-то клауд сервиса. Кто-то может их потратить. И ты получаешь взамен этого долю в виде голосов. И эти голоса используются для принятия решений этой децентрализованной организации. И потом кто-то говорит, что ему нужны какие-то средства из пула — собрали Эфира, детоист, тейблкоинтов, каких-нибудь хард дисков, ещё чего-то.. И он говорит, что «Нужны нам эти ресурсы, чтобы что-то сделать». И все голосуют. Если голосуют “Да”, то они ему даются, а если “нет” — то нет. И когда ты выходишь, ты меняешь свои голоса на какую-то часть ресурсов. И идея такая, что, в отличии от ICO, эти новые DAO, над которыми немного поработали экономисты и социологи. Они пытаются сейчас нащупать эту нишу  именно системы поощрений и наказаний так, чтобы она работала бесконечно. Не так, чтобы какая-то одноразовая акция, быстро нагнали и хайп, собрали деньги и все свободны, а чтобы именно люди как-то участвовали. Причем, смарт контракт — это полный язык, он позволяет тебе делать очень сложные схемы. Даже тяжело вообразить, насколько они будут сложными. Например, ве вот эти блокчейны, которые POS, понятно, что там каждый не будет голосовать. Соответственно, можно делегировать кому-то свои голоса, какому-то другому майнеру. И в этих DAO то же самое. Можно миллион вариантов делать. Например, у меня нет времени во всем этом подробно разбираться. У меня есть друг, например, Петр. Я очень доверяю Петру и делегирую ему голоса. А если я зайду и увижу, что там все плохо, ужасно. Я скажу: “Нет, все, Петр, ты плохо делаешь. Давай мои голоса обратно.”. Если вы читаете твиттер Виталика Бутерина. Я когда открываю твиттер Виталика, мне кажется, что это твиттер экономиста. Это уже не какой-то технологический твиттер, это — твиттер экономиста. 

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

Да, конечно, никто не отменяет старое доброе насилие. Оно будет актуально еще очень долго. Как и в любых практических вопросах, тут главное насколько это все усложняет. Вообще, весь базис безопасности в том, что если взлом защиты стоит дороже того, что спрятано — это не имеет смысла. Нам не нужно сделать криптографию настолько защищенной, чтобы любое насилие, например, уровня ЦРУ, не могло понять. Наверное, это было бы прекрасно. Но если у тебя компания, которая продает пончики, я не думаю, что ЦРУ будет вламываться к фаундерам. 

Ну смотря с чем пончик.

Да, конечно. Есть еще момент такого криптоанархизма. Он в чем  выражается? Что никто не мешает вам создать сообщество, которое будет существовать. Вам не нужно ни у кого спрашивать разрешения. Знаете, вот в царское время был закон “втроем не собираться”, или что-то такое. 

Так в Беларуси до сих пор!

По тому что это заговор, все понятно. Современные уровни, технические, нам позволяют создавать сообщества, которые могут быть полностью зашифрованы. P2P шифрование никто не может их прочитать. И это сообщество может.. То есть, сначала у вас появилась возможность общаться зашифрованно, то есть никто не может влезть в коммуникации вашего сообщества. Но теперь у этого сообщества появляются методы взаимодействия, то есть за пределами просто перечня информации. Мы можем создать себе некий устав, причем я знаю попытки закрытых сообществ на эфириуме появляются, которые там исключительно по публичному ключу. Для всяких кул хакеров. У нас есть абсолютно зашифрованная переписка, никто не может её прочитать. У нас есть смарт контракт, который регулирует наши взаимоотношения: кто что может, кто кому что должен. И мы можем это сообщество создать, вообще ни у кого не спрашивая разрешения. Ни у Роскомнадзора, ни у налоговой, ни у правительства России, ни у правительства США. И это сообщество будет функционировать. Основная проблема в чем? Если посмотреть все эти идеи хиппи, вот этих сообществ, комьюнити, которые разваливались. Эти сообщества были очень плохо продуманы в плане различных атак. Приезжает там халявщик какой-то и говорит, что ничего делать не буду, буду есть и т.д. И без классического насилия (суд, полиция, тюрьма) тяжело было с этим бороться. Но со смарт контрактами появляются сообщества, в которых с этим можно бороться. Пример, может быть, не совсем корректный, но я читал обзоры, был хороший материал у «Ленты» о том, что вся наркоторговля в России перешла на биткойны. Они все используют депозиты и шифрование. Никто друг друга не знает в лицо. Это большая проблема сейчас для служб. И это пример как очень быстро, в очень короткие сроки, преступное сообщество, которое я не одобряю, не поймите меня неправильно, оно перестраивалось так, что оно функционирует на шифровании и взаимодействии за счет депозитов. То есть все мотивации и слэш механизмы реализованы за счет того, что ты теряешь депозит. И я думаю, что это пример того, что это сообщество появилось из-за того, что им это крайне необходимо. Они не могут сделать группу Вконтакте себе. 

И пользоваться сбербанком. 

И пользоваться Сбербанком, да. Но их эффективность показывает, что они испытывают максимальное насилие со стороны государства. Оправданное насилие, в данном случае. Но они показывают, что эта система может выдержать насилие со стороны такого государства, как Россия, которая специализируется в применении насилия к своим гражданам, я бы сказал. Можно создавать и более мирные сообщества. Обсуждать какие-то мирные идеи или еще что-то. И оно будет защищено на нереальном уровне. То есть, уровне, превышающем наши потребности. Я вот, например, не пользуюсь сейчас фейсбуком, инстаграмом, вотсапом. Мне противно, что корпорация зарабатывает безумные деньги. Даже пусть зарабатывает. Мне, например, не нравится, что она майнит мои данные, что какой-то там сидит дельта майнинг и они скоро будут знать когда я в туалет пойду в следующий раз.

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

 Да, фейсбук же говорил, что может на 90% предсказать беременна женщина или нет, по её активности на фейсбуке. И мне это все очень не нравится. Почему? Потому что я вижу это как некое “плохое” будущее. Если все данные о человеке будут получены корпорациями или государствами, то не составит труда превратить этих людей в абсолютных рабов этих корпораций и государств. Это однозначный ответ. И мне кажется, что создание таких сообществ, которые защищены криптографией и могут сами контролировать свои данные — это прям такая супер важная цель.

Криптография дает возможность вернуть контроль обратно.

Да.

Но получается, что необходимая вещь на входе — это анонимность участников. 

Нет. 

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

Да, но практический вопрос — это вопрос защиты и ценности спрятанного. Например, если взять фейсбук. ЦРУ же не будет ходить к каждому человеку, который будет сидеть децентрализованно на фейсбуке. Я не имею ничего такого против государства, государство — совершенно хорошая вещь в определенных смыслах. Идея в том, что государство и большие компании сейчас  не затрачивают усилий, чтобы получать все данные людей (звонки, переписки, поведенческие данные). У нас никакой нет privacy. Когда фейсбук и Apple говорят “privacy” — это очередной selling point для них, на самом деле. Они не подходят к вопросу фундаментально. Они подходят к вопросу так: у нас есть пиар скандал, надо его решить. Оказалось, у нас там пароли лежат в (01:03:44), а, ну бывает. 

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

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

Да, но, опять же, есть более мирный use case, например: Петя дал Васе в долг. И если он дал ему в долг просто наличными, то если Вася не будет отдавать, Пете будет ругаться на Васю, как минимум, может быть, применять какое-то насилие. Или угрожать насилием, если он будет сильно несговорчив. А если мы прочтем какой-то депозит в смарт контракте или заложим там какие-то Васины сбережения, хотя люди, у которых есть сбережения обычно не берут в долг. То тогда эту ситуацию можно будет “разрулить”, не подразумевая насилие даже на горизонте. 

Да. Насколько я знаю, уже реализованы протоколы займа через карутеральные займы, когда ты оставляешь какой-то залог и получаешь в долг.  По моему, этим занимался salt(01:05:27). Ты можешь заложить свои криптоактивы и получить реальные деньги. 

Мейкер DAO — то же самое. 

Да, Мейкер DAO — то же самое. 

Я так понимаю, что там довольно много подобных проектов, то что называется DeFi — Decentralized Finance. Вчера вечером, буквально, попробовал один из этих протоколов. Мне кажется перспективной эта тема, может быть, основное направление для криптовалют в целом. Заменить существующую систему финансово. Мне интересно, что из этого вырастет. Мне кажется DeFi — это долгосрочное направление, оно очень популярно. Но даже сейчас много есть. Я где-то видел хорошую подборку. То есть, у тебя есть аккаунт с эфиром на эфире. Есть stable coin, maker, landing, были инвестиции, еще что-то. То есть, эта экосистема обрастает полным набором сервисов. Я даже думал на тему того, что сейчас уже можно получать зарплату, смотря где ты работаешь, но некоторые люди могут получать зарплату в криптовалюте. Ты можешь получать её в любом месте, откуда удобно. И последний шаг остался — её тратить. Например, если бы я мог тратить криптовалюту, то зачем вообще нужны деньги? Помню на консенсусе анонсировали какой-то большой payment процессор, сказал, что он будет принимать биткойны. Не знаю когда его соберутся внедрять, но у него было около 14 тыс. ритейлеров в США, включая Хоуфудс и еще кучу. Если это произойдет, то появится целая полноценная экосистема. 

Давайте свернем немножко к mass adoption. Как тебе кажется, где здесь находится бутылочное горлышко? Что больше всего мешает mass adoption? На мой взгляд, это то, что ты сказал — перевод из крипты в фиат и обратно, учитывая, что тратим мы в фиате. Еще ты говорил, что нужен mass adoption не только среди пользователей, но и среди разработчиков, поэтому Zeppelin работает над тулами для разработчиков. Но, может быть, на твой взгляд, еще где-то есть главная проблема? 

Конечно, одна из самых главных проблем — это user experience. Это интерфейс и вообще user experience многих blockchain проектов просто ужасен. Сейчас стало получше. Но вспоминая их год, два назад, три года назад — это ужасные интерфейсы пользовательские, где все глючит, ничего не работает. Нужно понимать, что у современных пользователей очень высокие ожидания. Большие компании (фейсбук, инстаграм) тратят на user experience миллионы долларов. Они установили очень высокую планку и этой планке надо соответствовать. Не существует другого способа её обойти. И даже когда я делал CoinPledge, я столкнулся с тем, что когда ты отправляешь  транзакцию, даже если там все моментально подписано, все удобно. Есть очень большой лаг — среднее время процессинга транзакции в эфире 15 секунд. 15 секунд по меркам user experience — это вечность. Это время, за которое пользователь закроет твое приложение, откроет инстаграм, полайкает посты и еще успеет вернуться. Соответственно, мы, как разработчики, должны создавать интерфейсы, которые соответствуют высоким современным стандартам. Причем, эфир в этом плане не может внезапно стать быстрее, ещё что-то. То есть, это все должны быть какие-то решения второго уровня. Нужно использовать сервера, которые кэшируют транзакции, дают моментальный отклик. Другая проблема, с которой я сталкивался —  я использовал инфуру для запросов. И сервера инфуры иногда занимали огромное количество времени, чтобы ответить на какой-то запрос каких-то аккаунтов данных. Бывало у меня доходило до 30-ти секунд, до минуты. Пользователь открывает приложение и видит пустой экран. У меня там не было даже loading надписи, потому что я же думал это какой-то ипиай теста длинным. И ничего не происходит, он просто закрывает приложение. Он не будет этим пользоваться. И мне кажется, что это направление №1. Если даже взять то, что у человека нет эфира. Если у человека есть эфир, он откроет приложение и оно окажется отстойным — он его просто закроет. Я этих людей ни в коем случае не виню. Я тоже такой. Взять даже UI интерфейсы. Сколько существует библиотек UI интерфейсов для разработки? Бесконечное количество. А вот для блокчейна я знаю только rainbowUI, который делает консенсис и, наверное, все. Наверное, какая-то ещё есть  библиотека, я просто о ней не знаю. Идея в том, что сейчас пока мало внимания уделяется этой сфере, но это то, на чем мы должны сосредоточится очень сильно. Наши приложения должны отличаться по своему качеству по user experience от приложений, которые есть в app store-е. 

Как тебе кажется, мы к mass adoption’у неизбежно придем, рано или поздно? Или криптоиндустрия может, грубо говоря, что-то профукать и остаться какой-то супер узкой нишей по интересам или вообще исчезнуть, если не проведет достаточно быструю, мощную работу в сторону adoption-а?  

Я бы хотел сказать, что “не волнуйтесь, все схвачено”, но  я сам в это не верю, потому что есть два примера, которые мне очень нравятся. Мне нравится сфера искусственного интеллекта и виртуальной реальеости —  VR. В 90-х были огромные ожидания TI, что осталось чуть-чуть поднажать и компьютер заговорит и расскажет нам как жить. И в сфере VR то же самое было. Всем казалось, что скоро мы все будем ходить в очках по улице, все будет VR. Вообще в офис не надо будет ездить, какой будет VR. И ничего этого не произошло. Но мне кажется, что это произойдет. Это вопрос времени. В блокчейне мне ситуация кажется лучшей. По тому что в сфере TI и VR нет каких-то фундаментальных технологий. Там не все так очевидно и не понятно что именно делать. В блокчейне сейчас хорошо понятно, что делать. Нужны инструменты для разработчиков, нужен хороший user experience для пользователей,  нужен (01:11:40) boarding. Нужно это делать. Но, в тоже время, технологии не являются неизбежными. В истории человечества есть другой пример с электрическими машинами. В начале 20-го века, в 1900 каких-то годах, электрические машины конкурировали с бензиновыми. У них был перед бензиновыми приоритет. И потом бензиновые победили. И получилось, что они на 100 лет отбросили адаптацию электрических автомобилей и то не факт, что она случится. Хотя, Маск надрывается, конечно. Я думаю, что блокчейн — это будущее, в том или ином виде. Как децентрализованный какой-то lager. Но, как показывает история человечества, будущее не обязано наступать здесь и сейчас. Часто какая-то случайность, какие-то отдельные личности и компании могут определить историю всего человечества. Понятно что делать в блокчейне. Это надо делать. Но вполне возможно, что сейчас так сложится историческая перспектива, что блокчейн будет отброшен назад. То есть станет либо каким-то увлечением каких-то условных элит, либо в какой-то отдельной стране. Какие-то такие вариации вполне возможны. Например, если завтра СЕК решит, что блокчейн — это угроза демократии, всех, у кого есть крипта, нужно расстреливать как террористов. Это, конечно, будет большой проблемой. Нужно понимать, что эти риски присутствуют.

Как на твой взгляд связаны adoption биткойна и эфириума?  Условно, может быть такое, что биткойн заадоптится, а эфир нет или наоборот, или, если это произойдет, то, скорее всего, вместе?  

Я верю в network эффект, т.е. эффект сети. Когда вы покупайте какую-либо криптовалюту, вообще нужно понимать, что вы не покупаете код, потому что его можно форкнуть. И вы не покупаете сервера, потому что их можно задепоить. Вы покупаете, условно говоря, социальную сеть.  В хорошем смысле, не как фейсбук. Т.е. вы покупаете всех этих людей, с их взаимоотношениями, вы в них вкладываетесь и верите, что это будет расти. Соответственно, биткойн и эфир, как две топ валюты, имеют два самых развитых комьюнити. Что меняется в комьюнити эфира? Эфир — это все таки платформа смарт контрактов, т.е. в ней очень много проектов, связанных с биткойном. В самом биткойне тоже существуют различные проекты. Есть лайтнинг и другие. Но экосистема биткойна намного бедней из-за ограниченности самого биткойна как протокола. Это вообще просто пальцем в небо, но мне кажется, что Эфир имеет больше потенциала как сеть. За счет чего эта сеть будет расти? За счет привлечения новых пользователей. Как привлекать новых пользователей? Нужно им что-то предлагать. Чтобы им что-то предлагать, нужно иметь какие-либо сервисы. В этом плане эфириум и другие смарт контракты, справедливости ради, которые тоже имеют блокчейны и смарт контракты, они имеют более выгодное положение, потому что они могут больше предложить своим пользователям. Сделать тот же стейбл койн на том же биткойне — это техническая задача невероятного уровня. Я, например, не представляю как это возможно сделать. А стейбл койнов на эфире — их уже миллион. И в этом плане, я думаю, что у эфира больше потенциал для роста.  Но наличие потенциала не означает, что он разовьется. Это много от чего зависит. 

Закругляя разговор про адопшен, задам вопрос от нашего слушателя TUA. Вопрос звучит так: “Введет ли Zeppelin или планирует какую-либо рекламно-просветительскую деятельность с компаниями, далекими от крипты? Или пока только в рамках крипты?”. 

Да, на самом деле, мы понимаем потребность mass adoption-а и у нас есть взаимоотношения с microsoft, coinbase и даже, упаси боже, с Фейсбуком. Но у нас отношения больше как технического секьюрити консультанта. И плюс, мы, конечно же, хотим, чтобы они использовали наши инструменты. Но при взаимодействии компаний всегда происходит какой-то обмен культурами.  А, ещё GP Morgan. Взять тот же GP Morgan . Он же делает Quorum. Quorum, кто не знает — это форк эфира, который использует POS, там есть приватные транзакции. Казалось бы, зачем GP Morgan занимается этим? Это вообще очень странно, потому что блокчейн — это же смерть для банкиров. Но блокчейн в каком-то смысле, как и все мемы, это какой-то такой вирус. То есть, он заражает умы людей, они начинают об этом думать и им тяжело остановиться. Поэтому GP Morgan развивает блокчейн, потому что произошел этот культурный обмен. Они поняли какую-то ценность блокчейна, какую-то часть его будущего. Поэтому GP Morgan и другие большие корпорации развивают блокчейн, блокчейн технологии. Меня поражает размер всех этих компаний. Если я не ошибаюсь, в GP Morgan блокчейном занимается порядка 200 человек. Для меня это невозможные цифры. 

А в Zeppelin сколько? 

Около 25 человек. 

То есть в одном GP Morgan-е восемь Zeppelin-ов? 

Я все таки думаю, что у нас сильно отличается структура. У нас всё-таки много инженеров. А в GP Morgan-е очень много не инженеров, а сотрудников. Опять же, я ничего не знаю про их структуру.

Просто учитывая, что мы знаем, сколько сделал Zeppelin, страшно представить сколько сделал Morgan. Мне почему-то кажется, что меньше. 

Мне кажется, что они решают свои очень  узкоспециализированные задачи, в первую очередь оптимизируя потенциальную какую-то свою выгоду. Есть очень много проектов, которые развивают свои решения. Фейсбук делает свою криптовалюту. Я уверен, что и там 100 человек этим занимаются, но они делают конкретное решение под конкретную компанию. Телеграм делает свою валюту, они, опять же, решают свою задачу под свой конкретный продукт. Но в целом для блокчейн это крайне хорошо. 

 Евгений, у меня закончились вопросы, может быть, у тебя еще есть? 

Скорее нет. Все, что хотел спросить такого технического, все спросил и услышал, спасибо большое. 

Ой, я очень рад. 

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

Спасибо. Хочу, во-первых, выразить большую благодарность, что меня пригласили на этот подкаст. Очень приятно. И поблагодарить слушателей за потраченное время на этот подкаст. Надеюсь, он вам будет полезен. У меня есть анонс, возвращаясь к деятельности Zeppelin-а для масс, в частности для разработчиков. Я планирую провести workshop по Оpen Zeppelin Platform в Москве, этим летом. Скорее всего, это будет июль, но пока точной даты нету. Поэтому подписывайтесь на наш официальный твиттер, он там будет анонсирован. На мой твиттер, там тоже обязательно анонсирую. Буду рад увидеть всех разработчиков, которым интересна эта тема. Даже не обязательно хорошо разбираться в эфириуме, достаточно просто разбираться в базовых вещах, таких как npm, владеть терминалом и вы сможете поучаствовать. 

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

Спасибо. 

Спасибо большое, что пришел, Игорь. Спасибо большое, Евгений. Друзья, с вами был подкаст “Базовый блок”. Мы поговорили с Игорем Яловым из компании Zeppelin. Подписывайтесь на нас всеми возможными способами. RSS, в подкаст-приложениях, конечно же, в Apple Podcasts, если у вас “яблоко”. Заходите в наш чат, ББ чат в телеграме, подписывайтесь на наш инстаграм, и желаю вам всего доброго. Пока!          


Добавить комментарий