Комментарии 5
Еще в середине 80-х годов было доказано, что для обеспечения устойчивости распределенной системы она должна работать в условиях частичной синхронности.
Небольшая поправка — на самом деле частичная синхронность нужна только для детерминированной системы, в которой гарантируется достижение консенсуса за определенное число раундов. Однако есть полностью асинхронные протоколы, в которых консенсус достигается за случайное число раундов, но при этом матожидание этого числа вполне конечно.
узлы валидаторы голосуют за добавление блока в блокчейн, транслируя сообщение prevote
А что происходит, если propose от ведущего в данном раунде узла не пришел? Шлются nil- prevote по таймауту? Запоминаются ли ситуации, когда какие-то узлы тормозили с отсылкой propose, чтобы реже их выбирать "ведущими"?
Чтобы оценить возможности консенсуса, мы проверяли работу блокчейна на базе двух конфигураций: в одном дата-центре и нескольких, географически распределенных, дата-центрах.
Приходилось ли как-то настраивать таймауты для работы в одном дата-центре и нескольких? Измеряли ли производительность системы, когда некоторые узлы (в пределах 1/3 от общего числа) выключались или тормозили?
В Exonum-блокчейне фиксируются операции с деталями для поездов и данные техпаспорта каждого вагона. Это дает возможность отслеживать перемещение всех запчастей от официальных поставщиков и обнаруживать подделки.
Если не секрет — а кто при этом держит ноды? Какая-то одна организация, или по ноде на контрагента?
Также мы запустили образовательный блокчейн-проект на базе университета «Синергия». Реестр регистрирует и хранит все сведения об успеваемости студентов: оценки, результаты экзаменов и дипломы. По словам наших коллег, такой подход исключает возможность вносить изменения в документы об образовании и помогает экономить на их архивировании и сертификации.
Опять же — кто держит ноды? Если один университет — то возможность вносить изменения в документы все-таки есть, хотя любой держатель observer-ноды легко об этом узнает, но помешать не сможет.
Kонсенсус в Exonum: как он работает