Тебе не нужен блокчейн: восемь популярных случаев использования и почему они не работают? Перевод
Примерно год назад в блоге И. Иванитского была сделана следующая публикация - https://blog.smartdec.net/you-do-not-need-blockchain-eight-popular-use-cases-and-why-they-do-not-work-f2ecc6cc2129. Ниже - её вольный перевод...
Введение
В наши дни люди прибегают к блокчейну по разным причинам. С тех пор, как я начал проводить аудиты безопасности смарт-контрактов в середине 2017 года, наблюдал это воочию. Особой категорией является как раз "использование блокчейна" там, где это кажется логичным и выгодным, но на самом деле содержит проблемы, которые затем распространяются от одного стартапа к другому. Приведу несколько примеров таких проблем и неэффективных решений, чтобы вы (разработчик/клиент/инвестор) знали, что делать, когда кто-то предлагает использовать блокчейн таким образом.
Отказ от ответственности
Описанные случаи использования и проблемы возникают на начальной стадии. Не утверждаю, что эти проблемы невозможно решить. Однако важно понимать, какие решения предлагают создатели системы для конкретных задач.
Несмотря на то, что термин "использование блокчейна" выглядит странно и я не уверен, что блокчейн можно использовать для чего-либо, кроме денег (Bitcoin), буду использовать это словосочетание без кавычек.
People are resorting to blockchain for all kinds of reasons these days.
1. Управление цепочками поставок
Допустим, вы заказали некоторые товары, а перевозчик гарантирует соблюдение определённых условий транспортировки, например, поддержание вашего товара в состоянии холода. Предлагаемое решение заключается в установке в грузовике датчика, который будет следить за температурой в холодильнике и регулярно передавать данные в блокчейн. Таким образом, можете быть уверены, что обещанные условия соблюдены на протяжении всего маршрута.
Проблема здесь не в блокчейне, а в датчике. Будучи частью физического мира, датчик легко обмануть. Например, недобросовестный перевозчик может охлаждать только малую часть (холодильника) внутри грузовика, в которой и будет размещён датчик, оставляя товар в неохлаждаемой части грузовика, чтобы (просто) сэкономить расходы.
Я бы описал эту проблему как: блокчейн - не Интернет вещей (IoT).
Мы вернёмся к этому заявлению ещё несколько раз. Несмотря на то, что блокчейн не позволяет модифицировать данные, он не может гарантировать их правильность.
Единственным исключением являются внутренние транзакции, когда системе не нужны данные реального мира: при этом вся необходимая информация уже находится в пределах оосновной цепи, что позволяет системе проверять данные (например, что по адресу имеется достаточно средств для проведения транзакции).
Системы, которые подают данные в блоокчейн извне, называются "оракулами"... До тех пор, пока не будет найдено решение проблемы с оракулами, любая попытка управления цепочкой поставок на основе блокчейна, как в случае, описанном выше, буде бессмысленна, как и попытка спроектировать самолёт, не разработав сначала надёжный двигатель...
2. Гарантия подлинности объекта
Несмотря на то, что этот случай похож на предыдущий, я хотел бы выделить его, так как он раскрывает несколько иной ракурс.
Скажем, мы делаем уникальные и дорогие товары, такие как часы, вина или автомобили. Мы хотим, чтобы наши клиенты были абсолютно уверены в том, что они покупают что-то сделанное нами, поэтому связываем нашу бутылку вина с токеном и наносим на него QR-код. Теперь каждый этап пути (от производителя, перевозчика, магазина, покупателя) подтверждается отдельной сделкой в блокчейне и покупатель может отслеживать свою бутылку в режиме онлайн.
Однако эта система подвержена очень простой угрозе: нечестный продавец может сделать копию настоящей бутылки с (тем же) токеном, наполнить её вином более низкого качества или вообще украсть (ваше) дорогое вино, либо продать его тому, кому нет дела до токенов. Почему это так просто? Точно! Потому что...
Блокчейн - это не IoT!
Бутылка - физический объект и как таковой может быть подделана, в отличие от цифровой подписи.
3. Гарантия подлинности
Возьмём в качестве ещё одного примера подлинность (университетского) диплома. В этом случае необходимо проверить подлинность утверждения ("Пётр окончил университет"), а не физический объект. Чтобы удостовериться в подлинности диплома и точной дате его выдачи, необходимо проверить цифровую подпись и штамп времени.
Цифровые подписи великолепны, некоторые даже используют асимметричную криптографию, в основе которой лежит "величайшее изобретение 20-го века". Но давайте не будем путать это с блокчейном. Действительно, цифровая подпись существовала и служила нам задолго до того, как блокчейн. Будьте осторожны! Сегодня цифровые подписи часто продаются как часть блок-цепей. Возможно, цифровая подпись - всё, что действительно нужно, а вот блокчен - не совсем соответствует вашим требованиям.
Фиксация же времени ближе к блокчейну. На самом деле, сам по себе блокчейн является самым надёжным методом фиксации времени. Не нужно ничего изобретать: просто поместите хэш своих данных в блокчейн Bitcoin.
Хорошо ли вставлять хеш диплома студента с цифровой подписью нескольких профессоров в блокчейн (того же) Bitcoin'а? Да. Однако, важно не испортить эту систему, используя централизованную проверку через вебсайт или приложение, которое будет точкой (возможного) сбоя.
4. Голосование
Когда речь заходит об использовании блокчейна для голосования, должны чётко понимать, какую проблему хотим решить.
Подделка голосов/аутентификация избирателей. Чтобы решить эту проблему, нужна цифровая подпись, а не блокчейн. Основной проблемой является личный ключ: откуда его взять и как его хранить? Не буду объяснять, почему любая система, в которой ключ генерируется где-либо, кроме как на устройстве конечного пользователя, сломана по своей конструкции. Однако, вдобавок ко всему, также важно иметь открытые исходные коды и должным образом проверенное программное обеспечение, генерирующее ключ, аппаратное обеспечение сторонних производителей (смартфон - самый простой вариант), и пользователя, который может работать с личным ключом.
В то время как разработчик системы может решить первые две проблемы, третья гораздо сложнее. На самом деле, Биткоин может помочь научиться работать с ключами. Действительно, потеря пароля к вашему аккаунту в социальной сети или вашему голосу - это одно, но потеря ключа к вашим собственным деньгам - другая история.
И снова - оракул, который связывает публичный ключ с конкретным человеком, если он нужен для процесса голосования.
Второй вариант - подсчёт голосов публично. Можно с уверенностью предположить, что, скажем, "умные" контракты Ethereum идеально подходят для этого, так как позволяют каждому увидеть, сколько голосов получил тот или иной кандидат. Однако, в данном случае уровень открытости может быть слишком высоким, так как видим, как каждый человек голосует, а значит, можем повлиять на него. Несмотря на то, что система может быть построена таким образом, что каждый голос виден только тому, кто проголосовал, есть ещё одна более сложная проблема: до тех пор, пока избиратели технически способны предъявить доказательства своего выбора, они всё равно могут быть подвергнуты давлению.
UPD: Коллеги уверяют меня, что есть решение: несмешиваемое шифрование.
И здесь, опять-таки, нужны оракулы, чтобы проверить, не было ли ли лишних голосов от несуществующих избирателей.
5. Доказательство авторства
Скажем, Художник А хочет использовать блокчейн, чтобы зарегистрировать, что определённая картина - его. Он фотографирует её, помещает хэш фотографии в блокчейн, а затем - загружает в блог. Теперь, если Художник Б утверждает, что картина принадлежит ему, Художник А может легко доказать своё авторство, показав фотографию и хэш.
В этом случае есть две потенциальные проблемы:
- Во-первых, Художник Б может сказать, что он не знал о блокчейне и поэтому не мог использовать его для регистрации своего авторства. Следовательно, эта процедура может сработать только в том случае, если станет обычной практикой.
- Во-вторых, Художник Б может вломиться в мастерскую Художника А, сфотографировать картину и поместить хэш в блокчейн вместо Художника А.
Причина в том, что... Блокчейн - не IoT!
ем не менее, в целом, этот случай использования имеет смысл. Тем не менее, он не требует ничего, кроме блокчейна (того же) Bitcoin.
Примечание: я говорю только о доказательстве авторства, так как понятие интеллектуальной собственности, на мой взгляд, является глупостью.
6. Земельный кадастр
Ещё одним предлагаемым способом является увязка токенов с землевладением. С этим связаны, по крайней мере, два вопроса.
Действия по обеспечению соблюдения (прав внутри такого реестра). В то время как нечто может быть передано по принципу "равный-равному" (P2P), право собственности на землю и её передача должны быть зарегистрированы регулирующим органом, который всегда может физически посетить вашу землю и обеспечить исполнение воли.
Что случится с регистрацией внутри блокчейна, если регулирующий орган будет настаивать на том, чтобы вы передали свою землю? Первый вариант: в записи о блокчейне указано, что вы являетесь владельцем земли, что уже не так (с правовой точки зрения); второй вариант: регулирующий орган может сделать свою собственную запись и таким образом переписать вашу, что означает, что блокчейн не работает.
Это критический момент, так как блкчейн продвигается как инструмент, защищающий от мошеннической деятельности, как регулирующих органов, так и любых отдельных должностных лиц.
Централизованное развитие и поддержка. Кто будет развивать такую систему и узлы её? Если работу будет выполнять сам регулирующий орган или его контрагент, то такая система не будет децентрализована. Децентрализованный протокол плюс централизованное развитие равняется централизованному протоколу.
Кроме того, каждый раз, когда кто-то предлагает вам блокчейн, спрашивайте себя:
Можно ли вместо этого использовать распределённую базу данных?
Если ответ "Да", то зачем вообще использовать блокчейн?
Действительно, блокчейн медленнее и более ресурсоёмкий. Кроме того, специалисты по разработке и интеграции БД стоят гораздо дешевле и их проще найти, рабочий продукт легче проверить, а поддержка системы тоже дешевле.
Учитывая все эти проблемы, считаю, что распределённая база данных является лучшим выбором для земельного кадастра, хотя она определённо должна стать более надёжной и открытой.
Похоже, что этот конкретный случай использования уже стал реальностью. Bitfury недавно объявила о запуске системы земельного кадастра, построенной на основе Exonum, и собирается сделать то же самое в Украине и в Молдове. Как ни странно, не смог найти никаких технических деталей этого, а это значит, что Битфьюри почему-то не спешит ими похвастаться.
7. Межбанковские переводы
Этот случай является хорошим ответом на вопрос: "а нужен ли вам блокчейн?"... Хотя Bitcoin может быть использован здесь, банки вряд ли сделают свои взаимные платежи публично видимыми. Поэтому, можно предложить проприетарное решение, где только банки могут вводить данные, поддерживать узлы и проверять операции всех других сторон.
Отличается ли эта система от распределённой базы данных с контролем доступа? Да, отличается, но только когда речь идёт о разногласиях между сторонами. Здесь вопрос в том, согласятся ли банки с консенсусом, предложенным системой, или же они обратятся в суд? Если банки могут выбрать второй вариант (т.е. они никогда не подписывали соглашение о безоговорочном принятии всех решений, предлагаемых системой), то такая система не имеет смысла.
Кроме того, всё это дело будет бессмысленным, если регулирующие органы запретят или ограничат использование таких систем или дадут указание судам отказаться от данных системы.
8. Токен в знак протеста
Да, точно! Вообще-то, пишу про ICO в 2019 году. Чтобы доказать свою дальнейшую актуальность, позвольте просто отметить, что 28 января BitTorrent провёл успешное ICO.
Имею в виду, что некоторые стартапы выпускают токены и говорят, что дают вам право на долю в их компаниях/прибыль/опционы и т.д.. Проблема в том:
Блокчейн - это не IoT!
В отличие от венчурных инвесторов или регулирующих органов, блокчейн не будет привлекать стартап к ответственности или отвечать перед своими инвесторами. Обещание в виде токена само по себе не обязывает учредителей компании что-либо делать - то, что видели много раз во время ICO-бума (помните Ламбо?). В этом отношении ICO больше похоже на массовое финансирование, чем на IPO.
Несмотря на то, что продецентрализованные учреждения против регуляторного контроля, должен признать, что таких систем в этой области пока практически нет, а это означает, что вы должны либо идти за существующими инструментами, либо идти за основателями (трастовых) компаний.
Теперь позвольте описать некоторые перспективные примеры использования.
Умные контракты
Давайте будем честными: никто на самом деле не знает, что такое умные-контракты и для чего они нужны, так как эта концепция всё ещё находится в зачаточном состоянии. Ethereum действительно впереди. К тому времени, когда появился децентрализованный Bitcoin, люди уже знали и привыкли к электронным деньгам; к тому времени, когда получили децентрализованные смарт-контракты, работающие на Ethereum, всё ещё боролись с бумажными контрактами, в то время как централизованных смарт-контрактов просто ещё не существовало. Можем попробовать перескочить сразу на два шага, но для этого нужно время и жизнеспособная концепция.
Лично я верю, что "умные" контракты найдут свою нишу. Поэтому уже работаю в этой области. Однако это моя личная вера, которая пока не подтверждена и не опровергнута...
Больше примеров
Приведенные выше примеры - только те, которые смог вспомнить и подытожить.
Возможно,забыл или просто не слышал о некоторых случаях. Поэтому буду благодарен, еслиприведёте больше примеров в комментариях ниже. Возможно,продолжу эту статью. Подпишитесь на мой Medium (https://blog.smartdec.net) или Twitter, чтобы узнать об этом.
Данная статья создана компанией SmartDec, командой безопасности, специализирующейся на статическом анализе, декомпиляции и безопасной разработке кода.
Не стесняйтесь использовать SmartCheck, наш интеллектуальный инструмент для обеспечения безопасности контрактов на языке Solidity, и следуйте за нами на Medium. Мы также доступны для разработок и аудиторских работ.
**P.S. От переводчика: как по мне - статья хоть и приводит хорошие примеры - в целом основана на сплошных гипотезах, ряд из которых не работают сами по себе: скажем, про художника, который что-то там украл у другого художника. Как показывает жизнь: технологии тут ни при чём, но это никак не отменяет преимуществ блокчейна. **