Книги

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

22
18
20
22
24
26
28
30

1. Не вписывайте в механизм конкретных людей или конкретные результаты.

2. Обеспечьте открытый исходный код и публично проверяемое исполнение.

3. Сделайте механизм простым.

4. Не меняйте механизм слишком часто.

Первый пункт вполне понятен. Возвращаясь к нашим предыдущим примерам, «любой, кто создает блок, получает 2 ETH» – достоверно нейтрально; «Боб получает 1000 монет» – нет. «При отрицательных голосах пост будут показывать реже» – достоверно нейтрально; «из-за предубеждений против голубоглазых людей пост будут показывать реже» – нет. «Боб» – это конкретный человек, а «предубеждение против голубоглазых людей» – это конкретный результат. Боб действительно может быть великим разработчиком, который определил успех какого-либо блокчейн-проекта и заслуживает награды, а дискриминация людей с голубыми глазами – не та идея, которую я бы стал поддерживать (и, надеюсь, вы тоже). Но задача при разработке достоверно нейтрального механизма – не вписывать в него желаемые результаты; они должны появляться сами благодаря действиям участников. На свободном рынке факт того, что продукт Чарли бесполезен, а продукт Дэвида полезен, обнаруживается через механизм цен: постепенно люди перестают покупать продукт Чарли, и тот становится банкротом, а Дэвид получает прибыль, возможность расширяться и производить еще больше товаров. Выходные данные должны в основном определяться входными данными, которые вносят участники, а не правилами, запрограммированными в самом механизме.

Второй пункт тоже довольно прост: необходимо обеспечить доступ к правилам механизма и возможность публично проверять их соблюдение. Обратите внимание, что во многих случаях вам вряд ли захочется публично разглашать входные или выходные данные: в статье «О сговорах» я уже рассматривал преимущества высокого уровня конфиденциальности, когда доказать долю своего участия не получится даже при большом желании. К счастью, проверяемости и конфиденциальности можно достичь за счет комбинации блокчейна и доказательства с нулевым разглашением[68].

По иронии, третий пункт – о простоте – уже не так прост. Чем проще механизм и чем меньше у него параметров, тем меньше возможностей встроить в него скрытые привилегии в пользу той или иной группы людей. Если в механизм встроены пятьдесят хитросплетенных параметров, их будет совсем несложно скомбинировать под желаемый результат, но с одним или двумя параметрами сделать это будет гораздо сложнее. Можно создать привилегии для очень широких групп («демагоги», «богачи» и так далее), но с небольшой группой этого сделать уже не получится. К тому же возможность подстроить механизм под конкретную цель будет недолговечна, поскольку «завеса неведения» между вами в момент А и вашими бенефициарами в момент Б со временем будет увеличиваться, и конкретные ситуации, в которых они будут оказываться, позволят им извлечь из механизма непропорционально большýю выгоду.

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

НЕ ТОЛЬКО НЕЙТРАЛЬНОСТЬ: ВАЖНОСТЬ ЭФФЕКТИВНОСТИ

Крайним формам идеологий, на которые я ссылался в начале этой статьи, часто свойственен ошибочный максималистский подход к нейтральности: если что-то нельзя сделать полностью нейтральным, этого не следует делать вообще! Ошибочность такого подхода в том, что здесь нейтральность в узком смысле достигается ценой отказа от нейтральности в широком смысле. Например, можно гарантировать, что каждый майнер будет вознаграждаться на равных условиях с остальными майнерами (12,5 BTC или 2 ETH за блок), а каждый разработчик – наравне с другими разработчиками (то есть не получать никакого вознаграждения, кроме благодарности за пользу обществу). Но в таком случае придется смириться с тем, что для развития протокола, в отличие от майнинга, почти не будет никаких стимулов. Маловероятно, что последние 20 % майнеров вносят в успех блокчейна больший вклад, чем его разработчики, и все же, по-видимому, именно это подразумевают нынешние механизмы вознаграждения.

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

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

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

Если вас беспокоит, что не до конца нейтральный механизм приведет к потере доверия или перехвату властных полномочий, можно внедрить в него специальные методы защиты. Например, финансировать разработчиков за счет транзакционных сборов, а не эмиссии, что создаст «забор Шеллинга»[69], ограничивающий объем финансирования. Можно добавить временны´е ограничения или «ледниковый период», чтобы со временем вознаграждения исчезали и возобновлялись только после дополнительного подтверждения. Можно реализовать механизм внутри системы «второго уровня»[70], например в роллапе[71] или среде выполнения eth2, где существует сетевой эффект, от которого, однако, можно скоординированно отказаться, если механизм выйдет из строя. Когда мы предвидим возможность ослабления своих позиций, можно снизить риски, обеспечив свободу выхода.

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

Вот некоторые примеры.

▓ Рынки предсказаний, например electionbettingodds.com, как «достоверно нейтральный» источник вероятных результатов ближайших выборов.

▓ Квадратичное голосование и квадратичное финансирование как способ достижения согласия по вопросам управления и общественных благ.

▓ Налоги Харбергера как более эффективная альтернатива чистым правам собственности для распределения невзаимозаменяемых и неликвидных активов.

▓ Прогнозирование пиров[72].

▓ Системы репутации, включающие транзитивные графы доверия.