Книги онлайн и без регистрации » Разная литература » Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин

Больше денег: что такое Ethereum и как блокчейн меняет мир - Виталий Дмитриевич Бутерин

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 47 48 49 50 51 52 53 54 55 ... 76
Перейти на страницу:
непредусмотренным поступкам. Блокчейн-приложения не могут полностью отказаться от доверия, но некоторые больше соответствуют этому идеалу, чем другие. Чтобы на практике к нему приблизиться, нам пригодится умение сравнивать различные степени доверия.

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

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

▓ Сколько людей должны вести себя так, как вы ожидаете?

▓ Из какого общего числа людей?

▓ Какие виды мотивации необходимы для того, чтобы эти люди вели себя именно так? Нужно ли им быть альтруистами или достаточно простого стремления к выгоде? Необходимо ли отсутствие координации между ними?

▓ Насколько пострадает система, если поведение не будет соответствовать ожиданиям?

Пока сосредоточимся на первых двух критериях. Нарисуем график.

Общее правило такое: чем темнее цвет на графике, тем лучше. Рассмотрим каждую категорию.

▓ 1 ИЗ 1: есть ровно один актор, и система будет работать, если (и только если) этот актор будет делать то, что от него ожидается. Это традиционная «централизованная» модель, и именно ей мы ищем лучшую альтернативу.

▓ N ИЗ N: «антиутопический» мир. Вы полагаетесь на целую кучу акторов, и каждый из них должен действовать так, как от него ожидают, чтобы система работала. Здесь не предполагается страховки на случай, если кто-то из них не справится.

▓ N / 2 ИЗ N: именно так устроены блокчейны – они работают, если большинство майнеров (или PoS-валидаторов) ведут себя честно. Обратите внимание, что для «N / 2 из N» чем больше N, тем лучше; блокчейн с несколькими майнерами/валидаторами, доминирующими в сети, не столь интересен, как блокчейн с широко рассредоточенными майнерами/валидаторами. Однако мы хотим повысить даже этот уровень безопасности – отсюда и беспокойство по поводу восстановления после атаки 51 %.

▓ 1 ИЗ N: есть много акторов, и система работает до тех пор, пока хотя бы один из них делает то, что вы от него ожидаете. Сюда попадает любая система, основанная на доказательствах мошенничества (fraud proofs), а также схемы доверия (trusted setups), хотя в этом случае значение N часто меньше. Обратите внимание, что здесь лучше иметь как можно больше N!

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

▓ 0 ИЗ N: система работает так, как от нее ожидается, независимо от акторов. В эту категорию попадает самопроверка блока.

Хотя все категории, кроме «0 из N», можно считать «доверительными», они серьезно отличаются друг от друга! Уверенность в том, что один конкретный человек (или организация) будет делать то, что от него ожидают, сильно отличается от уверенности в том, что какой-то человек где бы то ни было будет делать то, что от него ожидают. «1 из N», возможно, гораздо ближе к «0 из N», чем к «N / 2 из N» или «1 из 1». Модель «1 из N» может казаться похожей на «1 из 1», поскольку в обоих случаях мы имеем дело с одним актором, но на деле в них совершенно разные условия: если в системе «1 из N» актор, с которым вы работаете в конкретный момент, пропадет или окажется злодеем, можно будет просто переключиться на другого, тогда как в системе «1 из 1» это будет полный провал.

Обратите внимание, что даже исправность программного обеспечения, которое вы используете, обычно зависит от модели доверия «несколько из N»: предполагается, что кто-нибудь заметит ошибки в коде и сообщит о них. С учетом этого факта желание перейти от «1 из N» к «0 из N» в каком-то другом аспекте приложения часто выглядит как попытка установить в доме мощную стальную дверь и оставить окна открытыми.

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

Вот примеры моделей доверия нескольких протоколов второго уровня[94]. «Малым N» я обозначу набор участников самой системы второго уровня, а «большим N» – участников блокчейна, исходя из того, что сообщество протокола второго уровня обычно меньше сообщества блокчейна. Кроме того, термин «сбой жизнеспособности» здесь ограничен случаями, когда монеты застревают на значительное время; под это определение не подпадает ситуация, когда вы лишены возможности пользоваться системой, но можете почти мгновенно вывести средства.

▓ КАНАЛЫ (ВКЛЮЧАЯ КАНАЛЫ СОСТОЯНИЯ И КАНАЛЫ LIGHTNING NETWORK): доверие «1 из 1» для жизнеспособности (ваш контрагент может временно заморозить ваши средства, хотя можно смягчить ущерб, если разделить монеты между несколькими контрагентами), доверие «N / 2 из большого N» для безопасности (атака 51 % на блокчейн может похитить ваши монеты).

▓ PLASMA (при условии централизованного оператора): доверие «1 из 1» для жизнеспособности (оператор может временно заморозить ваши средства), доверие «N / 2 из большого N» для безопасности (атака 51 % на блокчейн).

▓ PLASMA (при условии полудецентрализованного оператора, например DPoS): «N / 2 из малого N» для жизнеспособности, «N / 2 из большого N» для безопасности.

▓ OPTIMISTIC ROLLUP: «1 из 1» или «N / 2 из малого N» для жизнеспособности (зависит от типа оператора), «N / 2 из большого N» для безопасности.

▓ ZK ROLLUP: «1 из малого N» для жизнеспособности (если оператор не включит вашу транзакцию, вы можете вывести средства, а если оператор в тот же момент не включит ваш вывод средств, он больше не сможет создавать пакеты, и вы сможете вывести средства самостоятельно с помощью любой полной ноды системы роллапа); риски сбоя безопасности здесь отсутствуют.

▓ ZK ROLLUP (С УЛУЧШЕНИЕМ ЛЕГКОГО ВЫВОДА СРЕДСТВ): риски жизнеспособности и безопасности отсутствуют.

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

1 ... 47 48 49 50 51 52 53 54 55 ... 76
Перейти на страницу:

Комментарии
Минимальная длина комментария - 20 знаков. В коментария нецензурная лексика и оскорбления ЗАПРЕЩЕНЫ! Уважайте себя и других!
Комментариев еще нет. Хотите быть первым?