Главная » Биткоин » Блокчейн для интернета вещей — Часть 1

Блокчейн для интернета вещей — Часть 1

Блокчейн для интернета вещей - Часть 1Джон работает графическим дизайнером. Также он руководит таксомоторной компанией в Мумбаи. У Джона нет офиса; он предпочитает работать дома в Дели. Менеджмент компании предложил Мумбаи как оптимальный город для деятельности на основе его предпочтений. Он не владеет транспортными средствами; они арендуются через третью организацию, где несколько таких же людей, как Джон, объединили свои ресурсы (время, деньги, репутацию, вычисления).

Аппаратное и программное обеспечение автомобилей обновляется автоматически; автомобили самостоятельно принимают решения о том, когда им необходимо техобслуживание, и сообщают друг другу наилучшие маршруты для повышения эффективности. Когда Сима садится в одно из такси Джона и просит отвезти её домой, такси узнаёт её с помощью предоставляемого третьей стороной сервиса проверки личности VerifyB. VerifyB автоматически определяет её важные характеристики, такие как группа крови, страховка, баланс на счету, и отправляет таксомоторному сервису Джона только нужную информацию.

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

Все транзакции в поездке Симы происходят автоматически. Ей не приходится взаимодействовать с портативным устройством. Она села в выбранное такси и назвала свою цель. Компания Джона получила лишь целесообразную информацию о Симе. Джон не узнает её имени, возраста, адреса, друзей, родственников и т. д. Программа для идентификации не разрешает делиться такой информацией и спрашивает согласия Симы, когда появляется странный запрос, например, о её имени или номере телефона. Сима отклоняет запрос и ставит низкую оценку компании Джона. Это не влияет на её поездку. Джон и Сима не знают друг друга и не взаимодействуют друг с другом.

Таксомоторный сервис Джона не является обычной организацией. Компания состоит из Джона – инвестора и программы, которая всем управляет. Никакого человеческого управления нет. Водителей тоже нет; таксопарк состоит из беспилотных автомобилей. У Джона нет большой суммы ликвидности (денег), но он вкладывает вычислительные ресурсы.

Дома у Джона есть ещё одно предприятие, которое продаёт в микросеть избыток электроэнергии, вырабатываемой солнечными панелями, расположенными у него на крыше, а также сдаёт в аренду избыточную пропускную способность своего Wi-Fi. Когда он не дома, он сдаёт своё жильё через программу, которая управляет арендой недвижимости и платит ему за каждую секунду использования его жилья в выбранной им валюте. Умные замки, датчики движения, термостаты и различные другие «умные» устройства выполняют проверку личности, расчёт проведённого в доме времени, расхода воды и электричества, пользования бассейном и т. д. Все устройства органично взаимодействуют друг с другом. Все валютные и другие транзакции записываются и шифруются в распределённом реестре. Джону не нужно доверять третьей стороне. Доверие – нечто само собой разумеющееся. Оно закодировано в системе.

Кодирование доверия

Биткойн, Эфириум или <вставьте любую популярную цифровую валюту> стали часто упоминаться в разговорах благодаря своей впечатляющей прибыльности. Они сделали некоторых людей по-настоящему богатыми. Но, на мой взгляд, интересно в этих валютах другое. Интересен потенциал технологии, лежащей в основе этих валют. Если вы рассматриваете мир через призму денег и думаете о миллиардах долларов, то, пожалуй, вы заблуждаетесь. Думайте о триллионах!

Добро пожаловать в мир блокчейнов!

Блокчейн

Блокчейн – это глобальный распределённый реестр, зависящий от ресурсов пиринговой сети. Можно представить себе блокчейн как очень длинную электронную таблицу. У вас есть копия таблицы, и у вашей подруги Марты есть другая копия. Документ состоит из четырёх столбцов: название фрукта, количество добавленных фруктов, кто добавил фрукт и дата добавления фрукта. Вы добавляете в таблицу запись «2 яблока». Чтобы обе таблицы были идентичны, Марта должна добавить такую же запись «2 яблока». Теперь к вашей маленькой группе хочет присоединиться подруга Марты Сима, поэтому Марта даёт ей копию таблицы. Когда Сима добавляет запись «9 апельсинов», вы с Мартой должны изменить свои копии, чтобы они стали идентичными. Главное правило: никто не может удалять или менять предыдущие записи; участники могут лишь добавлять записи.

Прошло несколько дней, и теперь в вашей группе 20 участников. Марта, одна из создателей группы, ничего не внесла в документ. Она начинает завидовать Симе, которая стала своего рода рок-звездой. В порыве ярости она решает внести в таблицу небольшие изменения. В нескольких местах таблицы она заменяет имя Симы своим. Она даже убеждает 5 других участников сделать то же самое в обмен на какие-то бонусы.

Когда приходит время обновить все таблицы, Джон замечает несоответствие в таблицах Марты и нескольких других участников. Тогда все таблицы сверяются на предмет несоответствий, и оказывается, что 14 из 20 таблиц – идентичные копии, а 6 копий, принадлежащие Марте и её банде, – поддельные. Путём голосования участников достигается консенсус. Марта и её банда вынуждены удалить свои копии и заменить их 14 идентичными копиями. Неприкосновенность документа защищена. Баланс восстановлен.

Консенсус фруктовой таблицы. У других участников оказалось значительно больше идентичных копий таблицы.

Управление 20 участниками всё ещё посильно для команды, но когда число участников в группе превышает 50, поддержание копий быстро становится сложным и неудобным. А теперь представьте себе миллион участников в нашей группе фруктовой таблицы – это кошмар.

Управление миллионом документов становится сложной задачей.

Мы используем компьютерную программу для сверки и обновления всех документов. Но это быстро начинает требовать большого объёма вычислений.

Сима предлагает использовать для поддержания копий компьютерную программу. Эта простая программа сверяет и обновляет копии всех участников при внесении в таблицу новой записи. Она также сопоставляет все копии в сети, чтобы выявить несовпадения в предыдущих записях. Идея Симы разумная, но имеет один большой недостаток. Проверка и обновление миллиона таблиц требует большого объёма вычислений, и вскоре компьютеры некоторых участников начинают ломаться.

Можно получить уникальную хеш-сумму, сложив идентификатор фрукта, умноженный на число единиц, идентификатор пользователя, дату и предыдущий хеш.

Джон предлагает другую идею: вместо того чтобы проверять всю таблицу, можно сверять математически уникальное значение (мы будем называть его хэш-суммой) в каждом документе. Значение получается из столбцов таблицы по определённой формуле. Допустим, мы присваиваем уникальный числовой идентификатор каждому участнику и каждому фрукту. Мы складываем идентификаторы участника и фрукта, а также дату и количество фруктов, и сохраняем это как хэш-сумму первой записи таблицы. Для последующих записей мы используем ту же формулу и добавляем хэш-сумму предыдущей записи. Так начинает формироваться цепочка хэш-сумм, в которой зашифрована вся таблица. Преимущество в том, что компьютерной программе достаточно проверить лишь хэш-сумму последней записи в цепочке таблицы, а не всю таблицу. Если кто-то из участников изменил предыдущие записи таблицы, то ему также нужно изменить все записи цепочки таблицы во всех копиях, что не очень практично.

Мы сверяем документы по их хэш-суммам. Здесь также есть ряд проблем. Каким образом система обрабатывает две одновременных записи? Что если запись добавляется во время обновления цепочки?

Тем не менее, цепочка таблицы также имеет недостаток. Для большой сетевой таблицы обновление документов всех участников в реальном времени также требует большого объёма вычислений, поскольку транзакции и обновление цепочки могут происходить за миллисекунды. Каким образом система обрабатывает две одновременных записи? Что если запись добавляется во время обновления цепочки?

Мы создаём блоки транзакций в цепочке хэш-сумм.

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

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

Новый миропорядок… возможно… возможно нет

Первый блокчейн был придуман анонимным человеком или группой под псевдонимом Сатоши Накамото в 2008 г. Он был реализован в 2009 г. в виде главной составляющей Биткойна. Как и в нашем примере с таблицей фруктов, в оригинальной статье Сатоши Накамото слова блок и цепочка использовались раздельно, но в дальнейшем они популяризировались как единое слово – блокчейн.

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

Много было сказано о возможностях и потенциале данной технологии в сфере финансов: микроплатежи, конвертация валют, денежные переводы, страхование, первичные публичные предложения акций-токенов на блокчейне, альткойны и т. д. Я постараюсь максимально держаться в стороне от этих тем. Отчасти потому, что экспертами по экономике было написано достаточно материала, а отчасти потому, что непосредственная трансформация, которую ощутят люди, скорее всего, произойдёт не в этой сфере. Я действительно верю, что для принятия технологии она должна постепенно войти в мир финансов, как это сделал интернет, вместо того чтобы быть подарком таинственного незнакомца, который должен изменить внешний облик финансов. Опять же, я буду счастлив, если окажусь неправ.

Будет полезнее, если мы перестанем думать о блокчейне как о революционной технологии (которой он действительно является), и начнём думать о нём как об инструменте, который встраивает в системы доверие.

«Любой дизайн, который включает лёгкость и тонкость, воспринимается как нечто меньшее и более скромное. Жалость сменяется уважением, когда полученная эффективность значительно превосходит ожидания», – говорит Джон Маэда в книге «Законы простоты».

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

Начнём с малого

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

Блокчейн называют новым интернетом. Что это значит?

Интернет положил начало новой эре предпринимателей и индустрий. Хотя некоторые считают, что он не исполнил обещания демократичности и равных возможностей для всех заинтересованных лиц. Как было и в предыдущую эру, интернет превратился в монополию, где несколько компаний контролируют большую часть трафика, а следовательно, и большую часть богатства. И всё это ценой конфиденциальности людей, за счёт которых эти компании генерируют богатство. Джарон Ланье в книге «Кому принадлежит будущее» утверждает, что средний класс всё больше лишается прав в онлайн-экономике. Убеждая пользователей предоставлять ценную информацию о себе в обмен на бесплатные сервисы, фирмы способны практически бесплатно копить огромное количество данных. Многие считают, что блокчейн может предоставить способ побудить эти фирмы к подотчётности. Это трудновыполнимая, но нужная задача.

Интернет создавался не для распределения стоимости, а для обмена информацией. Он упростил копирование данных, но не смог обеспечить эффективный перевод стоимости. Деньги отличаются от селфи, твитов или любых других информационных продуктов. Вы можете разослать всем вашим друзьям одно и то же селфи, но не один и тот же доллар. Деньги, которые вы отправляете, должны быть списаны с вашего банковского счёта. Один и тот же доллар нельзя использовать в двух транзакциях. Это называется проблемой двойного расходования. Чтобы можно было вести дела в интернете, существовала потребность в посредниках, которым можно доверять. Этой возможностью воспользовались банки и некоторые технологические компании. Они решили проблему двойного расходования, проводя транзакции через централизованные базы данных одной или нескольких третьих сторон. Каждая третья сторона взимает с транзакций комиссию. Во многих случаях расчёты могут длиться несколько дней. Блокчейн обещает существенно сократить транзакционные издержки и время расчётов без потребности в центральном органе.

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

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


Механизмы консенсуса

Консенсус достигается путём сопоставления хэш-сумм всех копий цепочки. Ввиду этого участники сети должны расходовать много вычислительной мощности на поддержание блокчейна. Группа фруктовой таблицы не является мультинациональной корпорацией. Как же вознаградить людей за ресурсы, потраченные ими на поддержание сети?

Сатоши на основе существующих пиринговых сетей с хитроумной криптографией создал механизм консенсуса, способный решить проблему двойного расходования не хуже доверенной третьей стороны. Для этого сеть Биткойна использует механизм доказательства выполнения работы (proof of work). Майнеры, или участники сети, поддерживающие узлы Биткойна, собирают недавние транзакции в блоки данных, причём каждый блок должен ссылаться на предыдущий. Данный процесс повторяется каждые 10 минут. Проблема в том, что множество майнеров пытаются решить один и тот же блок. Чтобы выбрать майнера, которому будет поручено решение блока транзакций, мы создаём сложную, т. е. требующую большого объёма работы, математическую задачу. Задача часто заключается в поиске действительно длинного числа (хэш-суммы), которое компьютер пытается подобрать методом перебора. Тот, кто первым решит задачу, майнит блок. За майнинг блока майнер получает вознаграждение в биткойнах. После каждой успешной транзакции сложность задачи начинает увеличиваться, т. е. майнерам нужно найти ещё большую хэш-сумму. Сложность задачи также зависит от числа майнеров в сети. Среднестатистическое время поиска хэша составляет примерно 10 минут. В первой версии сети Эфириума также использовалось доказательство выполнения работы. Однако, существуют другие механизмы консенсуса.

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

Доказательство выполнения активности (proof of activity) сочетает в себе доказательство выполнения работы и доказательство владения долей. Случайное число майнеров должно выполнить работу (решить задачу) и подписать блок с помощью криптоключа (валюты), чтобы сделать его действительным.

Доказательство предоставления ресурсов (proof of capacity) требует от майнеров выделить значительный объём жёсткого диска на майнинг, тогда как доказательство осуществления хранения (proof of storage) требует выделения дискового пространство на распределённое облако.

Существуют и другие механизмы, такие как используемый Ripple (XRP) консенсус на основе социальных сетей. Стоимость участника социальной сети определяется числом уникальных участников/узлов, к которым он подключён. Такой механизм является предвзятым, так как новичку для участия нужны социальные навыки и репутация. Консенсуса достигают только авторизованные группы участников. Данная модель делает возможным существование корпоративных структур с подотчётностью на блокчейне.

Сатоши выбрал в качестве экономической базы владельцев вычислительной мощности. Эфириум выбрал владельцев эфира, а Ripple – владельцев социального капитала.

В заключение

Материал получился достаточно объёмным, а потому мы решили поделить его на две части. Вторая часть уже на подходе, и очень скоро будет опубликована. А пока, подписывайтесь на наш телеграм-канал, cледите за новостями. Продолжение следует.

Источник



Categories: Инфраструктура, История, Криптография, Криптофилософия, Основы

Tags: , , , , , , ,