💾 Archived View for causa-arcana.com › blog › 2020 › 06 › 04 › decentralized-vs-distributed.html captured on 2022-07-16 at 13:48:34.

View Raw

More Information

⬅️ Previous capture (2022-04-29)

🚧 View Differences

-=-=-=-=-=-=-

<!DOCTYPE html>
<html class="h-100" lang="ru">
  <head>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
    <meta name="viewport" content="width=device-width,
                                   initial-scale=1,
                                   maximum-scale=1,
                                   shrink-to-fit=no,
                                   user-scalable=no"/>

    <title>Децентрализованные сервисы против распределённых | Causa Arcana</title>

    <link rel="canonical" href="https://causa-arcana.com/blog/2020/06/04/decentralized-vs-distributed.html"/>
    <link rel="alternate"
          type="application/rss+xml"
          title="Causa Arcana"
          href="https://causa-arcana.com/blog/feed.xml"/>

    <meta name="description" content="
 
  
  
    Более правильная, но менее известная схема, показывающая разницу между централизованными, децентрализованными и распределёнными сетями.
  
 


В данной статье я расскажу про два подхода к созданию сервисов, не зависящих
от единственно..."/>
    <meta name="twitter:card" content="summary"/>
    <meta name="twitter:site" content="@causa_arcana"/>
    <meta name="twitter:creator" content="@causa_arcana"/>
    <meta name="twitter:title" content="Децентрализованные сервисы против распределённых | Causa Arcana"/>
    <meta name="twitter:description" content="
 
  
  
    Более правильная, но менее известная схема, показывающая разницу между централизованными, децентрализованными и распределёнными сетями.
  
 


В данной статье я расскажу про два подхода к созданию сервисов, не зависящих
от единственно..."/>
    <meta name="twitter:image" content="https://causa-arcana.com/assets/images/blog/preview/decentralized-vs-distributed.png"/>
    <meta property="og:type" content="website"/>
    <meta property="og:url" content="https://causa-arcana.com/blog/2020/06/04/decentralized-vs-distributed.html"/>
    <meta property="og:title" content="Децентрализованные сервисы против распределённых | Causa Arcana"/>
    <meta property="og:description" content="
 
  
  
    Более правильная, но менее известная схема, показывающая разницу между централизованными, децентрализованными и распределёнными сетями.
  
 


В данной статье я расскажу про два подхода к созданию сервисов, не зависящих
от единственно..."/>
    <meta property="og:image" content="https://causa-arcana.com/assets/images/blog/preview/decentralized-vs-distributed.png"/>

    <link href="../../../../assets/images/logo-small.jpg" rel="icon" type="image/jpg" />
    <link href="../../../../assets/stylesheets/site.css" rel="stylesheet" />
  </head>

  <body class="d-flex flex-column h-100">
    <header>
      <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container-fluid">
<a href="../../../../index.html" class="navbar-brand">      <img src="../../../../assets/images/logo-small.jpg" width="30" height="30" alt="Логотип" />
      Causa Arcana
</a>
    <div class="navbar-collapse">
      <ul class="navbar-nav me-auto">
        <li class="nav-item">
<a href="../../../feed.html" class="nav-link  active ">            Блог
</a>        </li>

        <li class="nav-item">
<a href="../../../../sources.html" class="nav-link ">            Источники
</a>        </li>

        <li class="nav-item">
<a href="../../../../git.html" class="nav-link ">            Git
</a>        </li>

        <li class="nav-item">
<a href="../../../../team/index.html" class="nav-link ">            Наша команда
</a>        </li>
      </ul>
    </div>
  </div>
</nav>

    </header>

    <main>
        <article class="cl-blog-article container mt-4 mb-5">
    <header>
      <h1>Децентрализованные сервисы против распределённых</h1>

      <p>
        <small class="text-muted">
  <time datetime="2020-06-04T11:22:00Z">
     4 Июнь, 2020 11:22
  </time>
</small>

&bull;

<small class="text-muted">
  Александр Котов
</small>

  &bull;

    <a href="https://link.medium.com/HJP6SuXqQ7"><i class="fab fa-medium"></i> Medium</a>

<br/>

  <span class="badge bg-secondary me-2">
    децентрализация
  </span>
  <span class="badge bg-secondary me-2">
    криптоанархизм
  </span>
  <span class="badge bg-secondary me-2">
    цензура
  </span>
  <span class="badge bg-secondary me-2">
    технологии
  </span>

      </p>
    </header>

    <div class="blog-article--main mt-5 text-break">
      <div class="d-flex justify-content-center">
 <figure class="nice-figure">
  <img src="../../../../assets/images/blog/decentralized-vs-distributed.png"
       alt="Более правильная, но менее известная схема, показывающая разницу между централизованными, децентрализованными и распределёнными сетями."/>
  <figcaption>
    Более правильная, но менее известная схема, показывающая разницу между централизованными, децентрализованными и распределёнными сетями.
  </figcaption>
 </figure>
</div>

<p>В данной статье я расскажу про два подхода к созданию сервисов, не зависящих
от единственного центрального узла, и сравню их перспективы. Я пока не ставлю
целью создание подробной классификации подходов с примерами, хотя надеюсь
сделать это в будущем.</p>

<p>Под <strong>сервисами</strong> я понимаю как привычные веб-приложения, для доступа к которым
нужно зайти на веб-сайт, так и распределённые сети, предоставляющие услуги
через клиентские приложения, устанавливаемые на компьютер или смартфон.
В последнее время разница между этими понятиями стирается, и для нашего
исследования она не имеет значения.</p>

<h2>Классификация</h2>

<h3>Централизованные сервисы</h3>

<p>В централизованном сервисе имеется одна высшая <strong>инстанция, принимающая
решения</strong> (англ. authority). Не имеет значения, насколько много у него
физических серверов. Сейчас любой нагруженный сервис использует множество
серверов в разных частях света (от англ. CDN &ndash; Content Delivery Network)
для более быстрой доставки содержимого до пользователя. Однако, решения
о возможности размещения информации, об ограничении доступа к ней принимаются
владельцами сервиса.</p>

<p>Примеры таких сервисов знакомы каждому. Я приведу несколько сервисов
с указанием услуги, которую они предоставляют, чтобы читателю была понятна
дальнейшая классификация:</p>

<ul>
<li>Blogger, Medium &ndash; текстовые блоги.</li>
<li>YouTube, Vimeo, Dailymotion &ndash; размещение видео.</li>
<li>SoundCloud &ndash; размещение аудио.</li>
<li>Dropbox, Google Disk, iCloud &ndash; размещение произвольных файлов.</li>
<li>GitHub Gist, Google Docs &ndash; размещение и редактирование текстовых документов.</li>
</ul>

<p>Названия некоторых из этих сервисов могут вызвать множество неприятных
ассоциаций. Централизованные сервисы часто бывают замечены в цензуре, в утечке
незашифрованных данных из-за нарушения прав доступа, в передаче данных
правоохранительным органам.</p>

<h3>Децентрализованные сервисы</h3>

<p>В децентрализованном сервисе имеется множество инстанций, принимающих решения.
Пользователь может выбрать того поставщика услуг, которого считает лучше.
Наиболее известные примеры:</p>

<ul>
<li><a href="https://mediawiki.org">MediaWiki</a> &ndash; движок, на котором работает Wikipedia.
Если вас не устраивает её политика, вы можете поднять собственные сервер
или воспользоваться множеством готовых хостингов wiki-сайтов.</li>
<li>RSS позволяет пользователям создавать ленты новостей из самых различных
источников, никак не связанных между собой.</li>
</ul>

<p>Одной из разновидностей децентрализованных сервисов являются <strong>федеративные</strong>
сервисы. В них множество независимых серверов объединяются в одну сеть,
и пользователь любого сервера имеет доступ к информации, размещённой во всей
сети. Это позволяет получить <strong>сетевой эффект</strong>, который очень важен
для развития технологии. Он заключается в том, что полезность сети зависит
экспоненциально от количества пользователей. В качестве примера можно привести
телефонию, которая тем ценнее для абонента, чем с большим количеством абонентов
он может связаться. Кстати, телефония также может быть примером федеративной
сети, если углубиться в технические детали её реализации.</p>

<p>Вероятно, именно благодаря сетевому эффекту в последние годы федеративная
архитектура стала весьма популярна среди программистов, создающих аналоги
централизованных сервисов. Вот несколько примеров таких систем:</p>

<ul>
<li><a href="https://matrix.org">Matrix</a> &ndash; мессенджер (собственный одноимённый протокол).</li>
<li><a href="https://joinpeertube.org">PeerTube</a> &ndash; видео-хостинг (протокол ActivityPub).</li>
<li><a href="https://joinmastodon.org">Mastodon</a> &ndash; микроблог, аналог Twitter (протокол
ActivityPub).</li>
<li><a href="https://diasporafoundation.org">Diaspora</a> &ndash; социальная сеть (собственный
одноимённый протокол).</li>
</ul>

<p>При всех преимуществах федеративной архитектуры, в ней по прежнему возможна
цензура, как на уровне отдельных пользователей (удаление аккаунта пользователя
владельцем сервера), так и на уровне федерации (блокировка одного сервера
другим). Первое заставляет выбирать сервер с подходящими правилами вместо более
технически надёжного и совершенного. Второе сильно снижает сетевой эффект.</p>

<h3>Распределённые сервисы</h3>

<p>В распределённом сервисе отсутствует инстанция, принимающая решения. Также можно
сказать, что такой инстацией является вся сеть, принимающая решения
автоматически за счёт своей архитектуры. Благодаря этому правила являются
универсальными и не зависят от человеческого фактора и содержания хранимой
или передаваемой информации. Часто информация в сети зашифрована, и отдельные
участники сети не знают, какую именно информацию они хранят или передают.
Примеры распределённых сетей:</p>

<ul>
<li><a href="https://bitcoin.org">Bitcoin</a> и другие криптовалюты &ndash; основаны на технологии
blockchain. Участники сети получают оплату за подтверждение финансовых
(и не только) транзакций, навсегда сохраняющихся в истории сети.</li>
<li><a href="https://ipfs.io">IPFS</a> (InterPlanetary File System) &ndash; глобальное хранилище
информации. Работает как временный кэш, но также возможно использование
специальных сервисов (платных или волонтёрских), гарантирующих сохранность
информации.</li>
<li><a href="https://torproject.org">Tor</a> &ndash; анонимная сеть для обхода блокировок через
выходные узлы (англ. exit node) и доступа к скрытым сервисам внутри сети
(англ. hidden service). В обоих случаях ни один узел сети, кроме конечного,
не знает, какая информация передаётся через сеть. Кому передаётся информация
не знает даже конечный узел.</li>
</ul>

<p>Разработка распределённых сервисов для самых базовых услуг гораздо сложнее, чем
разработка децентрализованных, потому что их работу не гарантирует одна
или множество инстанций. В них должны согласовываться противоречивые интересы
множества участников сети. По этой причине они не столь распространены, как
федеративные сервисы.</p>

<p>Для реализации более сложных функций в распределённых сетях используется
<strong>многослойная архитектура</strong>. Базовый слой обеспечивает бесперебойные хранение
и передачу информации, а работающие поверх него слои уже обеспечивают
бизнес-логику. Так, например, работает
<a href="https://lightning.network">Lightning Network</a> поверх Bitcoin. Так устроен
и Интернет (см. <a href="https://ru.wikipedia.org/wiki/Сетевая_модель_OSI">модель OSI</a>
и стек <a href="https://ru.wikipedia.org/wiki/TCP/IP">TCP/IP</a>).</p>

<h2>Проблемы и перспективы</h2>

<p>Давайте рассмотрим, какая мотивация движет участниками децентрализованных
и распределённых сетей, что обеспечивает их работу.</p>

<p>Основной мотивацией является независимость от централизованных частных сервисов,
которые могут устанавливать произвольные правила, в том числе цензурировать
информацию, показывать рекламу или требовать оплату. Однако,
в децентрализованной сети пользователи по прежнему зависят от воли того
поставщика, которого они выбрали. Это называется <strong>привязкой к поставщику</strong>
(англ. vendor lock-in). Пользователи вкладывают ресурсы в продвижение своего
содержимого на выбранной платформе, их ссылки ведут на эту платформу.</p>

<p>Причин для цензуры в децентрализованных сервисах может быть множество. Конечно,
никто не хочет давать площадку оскорбительному содержимому. Это касается как
волонтёрских сервисов, которые существуют исключительно по доброй воле их
владельца или доноров, так и платных сервисов, которые зависят от мнения
клиентов.</p>

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

<h2>Принцип нейтральности технологий</h2>

<p>Принцип звучит так: информационные технологии должны быть нейтральны
по отношению к содержанию информации.</p>

<p>Известным частным случаем его является <strong>принцип сетевого нейтралитета</strong> (англ.
network neutrality). Он заключается в том, что сетевые провайдеры не отдают
предпочтение одному трафику перед другим. Как либертарианец я не одобряю такой
принцип в виде закона, однако полностью поддерживаю его как часть договора между
клиентом и поставщиком услуг. В последние годы о нём часто пишут в СМИ во всём
мире. По этим публикациям можно понять, насколько он важен для развития
Интернета и для общества.</p>

<p>Как можно понять из предшествующего технического описания, распределённые
системы позволяют реализовать этот принцип гораздо лучше, чем
децентрализованные. Хорошо сказал об этом Caleb James DeLisle, ведущий
разработчик технологии cjdns:</p>

<figure class="nice-blockquote">
  <blockquote>
    <p>
      В основе cjdns лежит вера в то, что социальные проблемы, такие как
      необоснованные изъятия доменов и массовые прослушки, являются результатом
      устаревших протоколов, дающих слишком большую власть в руки малого количества
      людей.
    </p>
  </blockquote>
  <figcaption>
    <a href="https://www.fsf.org/blogs/licensing/interview-with-caleb-james-delisle-of-cjdns">
      https://www.fsf.org/blogs/licensing/interview-with-caleb-james-delisle-of-cjdns
    </a>
  </figcaption>
</figure>

<p>Я считаю, что будущее именно за распределёнными сервисами. Только они дают
достаточные гарантии сохранности информации, чтобы пользователи были готовы
доверять им свою информацию.</p>

<p>Значит ли это, что пользователи обязаны видеть оскорбительное содержимое?
Конечно же нет. Уже упомянутая многослойная архитектура позволяет существовать
рейтинговым сервисам и агентствам, которые пользователь может использовать,
чтобы не видеть нежелательную информацию или чтобы потенциально недостоверная
информация была помечена специальным образом.</p>

    </div>
  </article>

    </main>

    <footer class="mt-auto py-4 bg-dark text-light">
      <div class="container">
  <div class="d-sm-none">
    <div class="row row-cols-1">
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://t.me/causa_arcana" class="link-light"><i class="fab fa-telegram"></i> Канал в Telegram</a></li>
              <li><a href="https://t.me/causa_arcana_chat" class="link-light"><i class="fab fa-telegram"></i> Чат в Telegram</a></li>
              <li><a href="https://www.youtube.com/c/CausaArcana" class="link-light"><i class="fab fa-youtube"></i> YouTube</a></li>
              <li><a href="https://medium.com/causa-arcana" class="link-light"><i class="fab fa-medium"></i> Medium</a></li>
              <li><a href="https://qoto.org/@causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> Mastodon</a></li>
              <li><a href="https://diode.zone/video-channels/causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> PeerTube</a></li>
              <li><a href="https://matrix.to/#/#causa-arcana:matrix.org" class="link-light"><i class="far fa-comments"></i> Matrix</a></li>
              <li><a href="https://twitter.com/causa_arcana" class="link-light"><i class="fab fa-twitter"></i> Twitter</a></li>
          </ul>
        </div>
    </div>
  </div>

  <div class="d-none d-sm-block d-md-none">
    <div class="row row-cols-2">
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://t.me/causa_arcana" class="link-light"><i class="fab fa-telegram"></i> Канал в Telegram</a></li>
              <li><a href="https://t.me/causa_arcana_chat" class="link-light"><i class="fab fa-telegram"></i> Чат в Telegram</a></li>
              <li><a href="https://www.youtube.com/c/CausaArcana" class="link-light"><i class="fab fa-youtube"></i> YouTube</a></li>
              <li><a href="https://medium.com/causa-arcana" class="link-light"><i class="fab fa-medium"></i> Medium</a></li>
          </ul>
        </div>
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://qoto.org/@causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> Mastodon</a></li>
              <li><a href="https://diode.zone/video-channels/causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> PeerTube</a></li>
              <li><a href="https://matrix.to/#/#causa-arcana:matrix.org" class="link-light"><i class="far fa-comments"></i> Matrix</a></li>
              <li><a href="https://twitter.com/causa_arcana" class="link-light"><i class="fab fa-twitter"></i> Twitter</a></li>
          </ul>
        </div>
    </div>
  </div>

  <div class="d-none d-md-block d-lg-none">
    <div class="row row-cols-3">
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://t.me/causa_arcana" class="link-light"><i class="fab fa-telegram"></i> Канал в Telegram</a></li>
              <li><a href="https://t.me/causa_arcana_chat" class="link-light"><i class="fab fa-telegram"></i> Чат в Telegram</a></li>
              <li><a href="https://www.youtube.com/c/CausaArcana" class="link-light"><i class="fab fa-youtube"></i> YouTube</a></li>
          </ul>
        </div>
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://medium.com/causa-arcana" class="link-light"><i class="fab fa-medium"></i> Medium</a></li>
              <li><a href="https://qoto.org/@causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> Mastodon</a></li>
              <li><a href="https://diode.zone/video-channels/causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> PeerTube</a></li>
          </ul>
        </div>
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://matrix.to/#/#causa-arcana:matrix.org" class="link-light"><i class="far fa-comments"></i> Matrix</a></li>
              <li><a href="https://twitter.com/causa_arcana" class="link-light"><i class="fab fa-twitter"></i> Twitter</a></li>
          </ul>
        </div>
    </div>
  </div>

  <div class="d-none d-lg-block">
    <div class="row row-cols-4">
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://t.me/causa_arcana" class="link-light"><i class="fab fa-telegram"></i> Канал в Telegram</a></li>
              <li><a href="https://t.me/causa_arcana_chat" class="link-light"><i class="fab fa-telegram"></i> Чат в Telegram</a></li>
          </ul>
        </div>
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://www.youtube.com/c/CausaArcana" class="link-light"><i class="fab fa-youtube"></i> YouTube</a></li>
              <li><a href="https://medium.com/causa-arcana" class="link-light"><i class="fab fa-medium"></i> Medium</a></li>
          </ul>
        </div>
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://qoto.org/@causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> Mastodon</a></li>
              <li><a href="https://diode.zone/video-channels/causa_arcana" class="link-light"><i class="fab fa-mastodon"></i> PeerTube</a></li>
          </ul>
        </div>
        <div class="col">
          <ul class="list-unstyled mb-0">
              <li><a href="https://matrix.to/#/#causa-arcana:matrix.org" class="link-light"><i class="far fa-comments"></i> Matrix</a></li>
              <li><a href="https://twitter.com/causa_arcana" class="link-light"><i class="fab fa-twitter"></i> Twitter</a></li>
          </ul>
        </div>
    </div>
  </div>

  <hr/>

  <div class="row">
    <div class="col-12 col-lg-9">
      <p class="mb-0">
        <i class="fas fa-rss-square"></i>
        RSS:
        <a href="https://causa-arcana.com/blog/feed.xml" class="text-reset">https://causa-arcana.com/blog/feed.xml</a>
      </p>

      <p class="mb-0">
        <i class="fab fa-creative-commons-by"></i>
        Содержимое доступно на условиях лицензии <a rel="license" href="https://creativecommons.org/licenses/by/4.0/" class="text-reset">Creative Commons Attribution</a>.
      </p>

      <p class="mb-0">
        <i class="far fa-envelope"></i>
        Связь с администрацией:
        <a href="mailto:admin@causa-arcana.com" class="text-reset">
          admin@causa-arcana.com
        </a>
      </p>
    </div>

    <div class="col-12 col-lg-3">
      <hr class="d-block d-lg-none"/>

      <img src="../../../../assets/images/badge-ipv6.svg" height="24" class="me-2" alt="IPv6" />

<a href="https://no-js.club" target="_blank" class="me-2">        <img src="../../../../assets/images/badge-no-js-club.svg" height="24" alt="no-JS Club" />
</a>
<a href="https://1mb.club" target="_blank" class="me-2 link-light">        <span>[1MB&nbsp;Club]</span>
</a>    </div>
  </div>
</div>

    </footer>
  </body>
</html>