Сеть доверия: как математика и криптография заменят суды и полицию

Представьте, что вы ищете хорошего автомеханика. Вы не смотрите рекламу, а звоните лучшему другу Пете. Петя говорит: «Я не знаю машин, но мой брат Коля чинит тачки, и вот он клянётся, что в гараже у дяди Ашота делают на совесть». Вы едете к Ашоту, потому что доверяете Пете, а Петя – Коле.
 
В IT «Сеть доверия» («Web of Trust») – это цифровая версия данного принципа. Вместо паспорта с орлом или печати министерства, ваша личность – это цифровой ключ. Его подписывают друзья, коллеги и контрагенты. Образуется огромная криптографическая паутина. Чем больше уважаемых людей за вас поручилось, тем выше ваш вес в обществе. А теперь посмотрим на практические применения этого принципа.  

  1. Кадастр и реестр собственности. Зачем нам чиновники, перекладывающие бумажки за наши же налоги? В системе WoT ваше имущество привязано к цифровому ключу. Вы покупаете дом? Транзакция записывается в распределённую базу данных (как блокчейн) и подписывается: вами, продавцом и, скажем, пятью свидетелями-нотариусами с безупречным рейтингом в Сети доверия. После этого никто не сможет отобрать ваше право на имущество, ведь любая «левая» подпись будет отвергнута.
  2. Гарантия сделок. Допустим, вы покупаете партию товара у незнакомца из другого города. Вы переводите деньги на специальный счет, который откроется только при наличии двух ключей из трёх (мультиподпись 2 из 3). Один ключ у вас, второй у продавца, третий – у выбранного заранее Арбитра. Товар пришёл? Вы с продавцом ставите две подписи – сделка завершена. Продавец прислал кирпич вместо ноутбука? Вы зовёте Арбитра, он смотрит доказательства, и своим ключом возвращает вам деньги.
  3. Арбитраж («частные суды»). Можно задать вопрос: «А что мешает Арбитру сговориться с продавцом и кинуть меня?». Эту проблему решает репутация в Сети доверия. Частное арбитражное агентство живёт только за счёт доверия сторон. Если вскроется, что судья взял взятку, независимые аудиторы понизят его рейтинг в графе WoT. Социальный капитал судьи рухнет к нулю и ни один здравомыслящий человек больше не впишет его в смарт-контракт.
  4. Проблема «безбилетника». Допустим, скинулись на асфальт в посёлке не все, а ездят все. Как заставить платить безбилетников без налоговой полиции? С помощью Сети доверия! Не заплатил донат в дорожный фонд? Никто тебя не штрафует, живи как жил. Только вот алгоритм автоматически обнуляет твой уровень доверия у соседей. При подъезде к шлагбауму посёлка умный датчик лишь скажет: «Ваш ключ не обслуживается, внесите добровольный взнос или катитесь по грунтовке». Жизнь без принуждения, но с естественными последствиями!
  5. Остракизм вместо тюрем. Тюрьмы – это очень дорого (мы за них платим), и они не исправляют людей, а делают из них профессиональных преступников. Куда лучше будет договорной остракизм. Человек кинул партнёров на деньги, и отказался платить компенсацию по решению суда? Авторитетные арбитражи вешают на его открытый ключ крипто-метку: «Мошенник». Его рейтинг в глобальной сети доверия пробивает дно. Срабатывают автоматические протоколы: умные замки в каршеринге не открываются, кассы в супермаркетах отклоняют его транзакции, частные охранные компании не пускают на частные территории. Это страшнее тюрьмы. Любой в такой ситуации пойдёт отрабатывать то, что он задолжал.
  6. Кредитование без банков. Представьте систему микрокредитов, основанную не на том, работает ли человек в офисе официально, а на его истории в Сети доверия. Вам нужны средства на запуск бизнеса? Ваши поручители – это узлы в сети, с которыми вы контактировали последние 5 лет. Люди будут давать вам в долг или инвестировать в ваш стартап напрямую через P2P, видя ваш кристально чистый профиль в Web of Trust.

 
Государство веками внушает нам, что без дубинки мы скатимся в каменный век и перебьём друг друга. Но правда в том, что технологии уже сегодня позволяют нам строить структуры, основанные на добровольности, репутации и математике. Никаких дубинок и налогов – только взаимное уважение и ответственность за каждое цифровое рукопожатие!

Волюнтарист, Битарх

Всего комментов: 13

  1. @bitarchy Да-да, сейчас всё так и работает тут.
    В Фейсбуке есть группы понаехавших в Словакии, например.
    Так там украинцы друг друга наёбывают постоянно. И стандартом считается реклама услуг или товаров без сообщения цены, "цена в личку".

    И так же с автомеханиками тоже. Можно съездить "к нашим ребятам" и сделать на 50% дороже минимум, а можно к словакам.

    Вот так работают все эти "сети доверия" 🙂

    По сути, такая сеть — это ЗАКРЫТЫЙ рынок. Ты знаешь только тех, кого знают твои друзья и знакомые. Нет способа вырваться из своего пузыря и найти что-то лучше.

    • Ты привёл отличный пример не «сети доверия», а её отсутствия. Общая группа в Facebook, общий язык или происхождение сами по себе не создают доверия. Если участник может завести аккаунт, написать «я свой», несколько раз кого-то обмануть и продолжить деятельность без переносимой истории последствий, то где здесь вообще Web of Trust? Что именно в твоём примере удостоверяется, кем подписывается и как учитывается история рекомендаций?

      «Цена в личку» тоже относится не к доверию, а к непрозрачности цены. Если продавец скрывает прайс и пытается назначать разным людям разные суммы, нормальный ответ рынка — сравнивать предложения. WoT этому никак не мешает. Наоборот, история сделок может делать подобную практику заметнее. Каким образом наличие репутационных данных запрещает открыть пять предложений от совершенно посторонних продавцов?

    • Главная подмена находится в словах «ЗАКРЫТЫЙ рынок». Почему он закрытый? Кто запрещает тебе выйти наружу? Кто запрещает учитывать одновременно рекомендации знакомых, историю незнакомого специалиста, цену, гарантию, escrow, отзывы независимых клиентов и предложение конкурента вообще без каких-либо общих связей? Сеть становится закрытой только после добавления правила «доверять разрешено исключительно своему кластеру». Но это отдельное правило, а не свойство Web of Trust.

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

      Есть и простой практический вопрос. Допустим, твой знакомый рекомендует механика за 1500, а совершенно незнакомый тебе специалист предлагает ту же работу за 1000 с залогом, гарантией результата и проверяемой историей сотен сделок. Какое правило WoT заставляет выбрать первого? Если никакое, то тезис «нет способа вырваться из пузыря» просто не следует из описанной системы.

      А реальные закрытые круги рекомендаций страдают именно от недостатка конкурирующей информации. «Наши сказали, что Вася хороший» часто невозможно нормально проверить. Формализованная история может, наоборот, показать, что Вася получил десять рекомендаций от одного тесного круга, трижды провалил сделки с посторонними и после претензий его продолжили рекомендовать те же друзья. То, что в устной «сети доверия» выглядит как десять независимых мнений, внезапно оказывается одним клановым сигналом, размноженным десять раз.

      • @bitarchy > Какое правило WoT заставляет выбрать первого?

        Ну и нафига эта система вообще нужна тогда, если всё равно каждый ищет как ему лучше, без оглядки на неё?

        • Потому что ты подменяешь «система помогает выбирать» на «система выбирает вместо тебя». Если навигатор не запрещает тебе ехать другой дорогой, это не делает навигатор бесполезным. Его ценность именно в том, что он снижает стоимость поиска информации, а окончательное решение остаётся твоим.

          С WoT то же самое. Без неё ты «ищешь как лучше» вслепую: читаешь отзывы, спрашиваешь знакомых, пытаешься понять, кто кому приходится другом, кто реально имел сделки, кто набивает друг другу рейтинг и кто вчера создал новый аккаунт. Сеть доверия нужна не для команды «покупай у Васи», а для того, чтобы часть этой информации была проверяемой и собиралась автоматически. Ты можешь её проигнорировать, но это не делает информацию бесполезной.

          По твоей логике тогда непонятно, зачем вообще нужны кредитные истории, рейтинги продавцов, рекомендации знакомых, технические обзоры и результаты лабораторных тестов. Ведь «каждый всё равно ищет как ему лучше». Разумеется, ищет. Вопрос только в том, ищет он с дополнительной информацией или без неё.

          И ты пропустил главное в приведённом примере. Незнакомый механик за 1000 с проверяемой историей сотен сделок и гарантией может оказаться рациональнее знакомого за 1500. WoT как раз позволяет увидеть эту историю, несмотря на отсутствие общего приятеля. Без формализации у тебя остаётся старое доброе «мне Петя сказал, что Вася нормальный», причём проверить происхождение этой репутации зачастую невозможно.

  2. @bitarchy а потом приходят долбоёбы и превращают всю эту стройную систему в [нейропомои](https://mastodon.ml/@mintbug/116920764700295510), занавес

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

      Что конкретно означает «превращают всю систему в нейропроми»? Если несколько участников начинают использовать идиотские критерии доверия, остальные просто перестают учитывать их подписи, их алгоритм или весь их кластер. Где катастрофа? Они испортили собственную сеть доверия. Это примерно как открыть отвратительный ресторан: существование плохого ресторана не превращает хорошие рестораны в плохие.

      Если же ты предполагаешь, что пришедшие идиоты способны поменять правила сразу для всех, запретить альтернативные клиенты, навязать единый алгоритм и заставить чужих собственников учитывать его результат, то поздравляю: ты только что добавил в модель центральную власть. То есть проблема возникла не из-за Web of Trust, а из-за появления стационарного бандита внутри него.

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

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

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

      • @bitarchy вся соль в том, что в этой системе предполагается использование информационных технологий. Не «нейропроми», а «нейропомои», и значит это то, что в процессе написания программного обеспечения начинают использовать LLM, выдающие заведомо бессмысленный и дефективный код. Тупые люди стреляют себе в колено, уничтожая доверие к проекту и его будущее.

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

        https://mastodon.ml/@livefish/116180673972326326
        https://mastodon.ml/@mintbug/116815882070967551
        https://mastodon.ml/@mintbug/116789850817688127
        https://mastodon.ml/@mintbug/116584084553159245
        https://mastodon.ml/@mintbug/116416668220942364
        https://mastodon.ml/@mintbug/116385649050718814
        https://mastodon.ml/@mintbug/116339636515157335

        • @mintbug @bitarchy язык программирования сменить просто так нельзя, но можно уйти с узла, который изговнился, на нормальный узел, написанный на другом языке. Как я могу, если мне станет плохо в мастодоне, уйти на условную плерому, и при этом не выпасть из сети взаимодействий, до тех пор, пока узлы используют один протокол.

          • Сам по себе другой язык программирования ничего не гарантирует. Если обе реализации совместимы с одним и тем же дефектным протоколом, ты просто переписал тот же дефект другими средствами.

            Mastodon и Pleroma здесь хороший пример переносимости взаимодействий, но даже там переезд далеко не равен бесшовной смене узла. Нужно отдельно решить перенос идентичности, подписчиков, ключей, истории, списков блокировок, локальных данных и доверия к старому серверу. Часть состояния может вообще находиться только на старом узле. Если он умер, взломан или враждебен, «просто уйти» уже заметно сложнее, чем сменить почтовый клиент.

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

        • Ты сейчас вообще сменил предмет спора. Из тезиса «система использует информационные технологии» у тебя каким-то образом получилось «значит, при её разработке обязательно будут использовать LLM». Откуда следует это «значит»? Какой именно элемент Web of Trust требует генеративной модели? Проверка цифровой подписи? Хэширование? Хранение графа связей? Вычисление локального рейтинга? Назови хотя бы один.

          LLM вообще не является необходимой частью такой системы. Можно написать протокол и реализации без единой строки кода, сгенерированной LLM. Можно прямо установить правило проекта «генеративный код не принимаем». Можно иметь несколько независимых реализаций одного открытого протокола на Rust, C, Go или чём угодно ещё. Если одна реализация оказалась мусором, пользователи переходят на другую. Как из существования плохих программистских практик следует невозможность самого протокола?

          Фраза «LLM выдают заведомо бессмысленный и дефективный код» тоже требует доказательства. «Заведомо» означает, что код по определению бессмысленен ещё до проверки. Тогда почему он вообще проходит тесты, компилируется и в огромном числе случаев выполняет поставленную задачу? У LLM действительно бывают галлюцинации, ошибки безопасности и идиотские решения. У людей-программистов, внезапно, тоже. Поэтому нормальная инженерия проверяет результат тестами, ревью, статическим анализом, fuzzing, аудитом и формальной верификацией там, где она оправданна. Вопрос «кто набрал исходник» вторичен по отношению к вопросу «какие свойства итоговой программы проверены».

          Особенно забавно выражение «целые языки программирования заражаются раком». Как технически язык заражается использованием LLM? Спецификация языка меняется? Семантика оператора сложения начинает зависеть от ChatGPT? Компилятор перестаёт исполнять спецификацию? Или ты имеешь в виду, что в экосистеме появляется много плохого кода? Тогда это проблема конкретных библиотек и проектов, а не языка как такового. Ты опять берёшь совершенно разные уровни системы и склеиваешь их одним страшным словом.

          И да, язык действительно не всегда можно «сменить как перчатки». Но зачем его обязательно менять? Критический протокол вообще не обязан зависеть от одной реализации на одном языке. TLS не перестаёт быть TLS оттого, что один клиент написан на C, другой на Rust, третий на Java. OpenPGP тоже определяется протоколом, а не священным единственным исходником. Что мешает WoT иметь несколько клиентов, которые проверяют одни и те же подписи и читают один формат данных?

          Более того, твоя претензия неожиданно работает сильнее против централизованных систем СБ. Если один государственный реестр написан плохо, закуплен у единственного подрядчика и обязателен для миллионов людей, сменить его действительно трудно. У пользователя нет права сказать «ваш клиент дырявый, я признаю другой реестр». Вот там неудачная технология масштабируется принудительно. В добровольной системе плохой клиент хотя бы должен конкурировать с хорошим, а плохой протокол можно просто не принимать.

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

          • @bitarchy критика не означает противоположную позицию. В целом система выглядит интересной и разумной; я лишь хочу донести мысль о том, что не стоит недооценивать человеческую глупость, а хитрые математические алгоритмы на веру считать корректными и просто работающими. Если на информационные технологии делается действительно высокая ставка, следует чрезвычайно внимательно относится к внутренней кухне подобных инструментов.

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

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