Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Византийская вина (также интерактивная консистенцию , источник конгруэнтность , ошибка лавины , византийская проблема соглашения , византийская проблемой генералов и византийская недостаточности [1] ) является условием компьютерной системы, в частности , распределенные вычислительные системы, в которой компонента может произойти сбой , и есть несовершенно информация о том, вышел ли из строя компонент. Термин получил свое название от аллегории «Проблема византийских генералов» [2]. разработан для описания ситуации, в которой, чтобы избежать катастрофического отказа системы, субъекты системы должны согласовать согласованную стратегию, но некоторые из этих субъектов ненадежны.

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

Византийская отказоустойчивость ( BFT ) - это надежность отказоустойчивой компьютерной системы к таким условиям.

Характеристики [ править ]

Византийский недостаток - это любой недостаток, который вызывает у разных наблюдателей разные симптомы. [3] Византийский сбой - это потеря системного сервиса из-за византийского сбоя в системах, требующих консенсуса . [4]

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

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

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

Термины «сбой» и «сбой» используются здесь в соответствии со стандартными определениями [5], первоначально созданными объединенным комитетом по «Фундаментальным концепциям и терминологии», сформированным Техническим комитетом IEEE Computer Society по надежным вычислениям и отказоустойчивости и Рабочей группой IFIP 10.4 по Надежные вычисления и отказоустойчивость. [6] Версия этих определений также описана на странице Dependability Wikipedia.

Предостережение [ править ]

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

Формальное определение [ править ]

Настройка: [7] Дана система из n компонентов, t из которых являются нечестными, и предполагается, что между всеми компонентами имеется только двухточечный канал.

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

Имущество:

Считается, что система противостоит византийским ошибкам, если компонент A может передавать значение x , а затем:

  1. Если A честный, то все честные компоненты согласны в значении x .
  2. В любом случае все честные компоненты согласны с одним и тем же значением y .


Варианты:

Проблема была изучена как для синхронной, так и для асинхронной связи.

Предполагается, что приведенный выше граф связи является полным графом (т. Е. Каждый компонент может обсуждать друг с другом), но граф связи может быть ограничен.

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

История [ править ]

Проблема достижения византийского консенсуса была задумана и формализована Робертом Шостаком , который назвал ее проблемой интерактивной согласованности . Эта работа была выполнена в 1978 году в рамках спонсируемого НАСА проекта SIFT [8] в Лаборатории компьютерных наук в SRI International . SIFT (для программной реализации отказоустойчивости) был детищем Джона Венсли и был основан на идее использования нескольких компьютеров общего назначения, которые могли бы обмениваться данными посредством попарного обмена сообщениями для достижения консенсуса, даже если некоторые из компьютеров были неисправны. .

В начале проекта было неясно, сколько всего компьютеров необходимо, чтобы гарантировать, что заговор из n неисправных компьютеров не сможет «помешать» усилиям правильно работающих по достижению консенсуса. Шостак показал, что необходимо минимум 3 n + 1, и разработал двухэтапный протокол обмена сообщениями 3 n + 1 , который будет работать для n = 1. Его коллега Маршалл Пиз обобщил алгоритм для любого n> 0, доказав, что 3 n +1 одновременно необходимо и достаточно. Эти результаты, вместе с более поздним доказательством Лесли Лэмпортом достаточности 3 n с использованием цифровых подписей, были опубликованы в основополагающей статье,Достижение соглашения при наличии неисправностей. [9] За эту работу авторы были удостоены премии Эдсгера В. Дейкстры в 2005 году .

Чтобы упростить понимание интерактивной проблемы согласованности, Лэмпорт придумал красочную аллегорию, в которой группа армейских генералов формулирует план нападения на город. В своей первоначальной версии история описывала генералов как командующих албанской армией. Название было изменено, в конечном итоге остановившись на « Византийском », по предложению Джека Голдберга, чтобы защитить любые потенциальные оскорбления в будущем. [10] Эта постановка проблемы вместе с некоторыми дополнительными результатами была представлена ​​теми же авторами в их статье 1982 г. «Проблема византийских генералов». [11]

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

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

Византийская отказоустойчивость может быть достигнута, если лояльные (исправные) генералы имеют согласие большинства относительно своей стратегии. Отсутствующим сообщениям может быть присвоено значение голоса по умолчанию. Например, отсутствующим сообщениям может быть присвоено значение <Null>. Кроме того, если согласие состоит в том, что <Нулевые> голоса составляют большинство, может использоваться заранее назначенная стратегия по умолчанию (например, отступление). [11]

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

Примеры [ править ]

Несколько примеров византийских неудач приводятся в двух эквивалентных журнальных статьях. [3] [4] Эти и другие примеры описаны на веб-страницах NASA DASHlink. [12] Эти веб-страницы также описывают некоторые явления, которые могут вызывать византийские ошибки.

Византийские ошибки наблюдались нечасто и нерегулярно во время испытаний на выносливость недавно построенных подводных лодок класса « Вирджиния » , по крайней мере, до 2005 года (когда о проблемах сообщалось публично). [13]

Ранние решения [ править ]

Несколько решений были описаны Лэмпортом, Шостаком и Пизом в 1982 году. [11] Они начали с того, что отметили, что проблема генералов может быть сведена к решению проблемы «командир и лейтенанты», где лояльные лейтенанты должны действовать согласованно и что их действия должно соответствовать тому, что приказал командующий, в случае, если командир лоялен:

  • Одно решение рассматривает сценарии, в которых сообщения могут быть подделаны, но которые будут устойчивыми к византийским ошибкам до тех пор, пока количество нелояльных генералов составляет менее одной трети генералов. Невозможность разобраться с одной третью или более предателей в конечном итоге сводится к доказательству того, что проблема одного командира и двух лейтенантов не может быть решена, если командир предатель. Чтобы убедиться в этом, предположим, что у нас есть предательский командир A и два лейтенанта, B и C: когда A говорит B атаковать, а C отступать, а B и C отправляют сообщения друг другу, пересылая сообщение A, ни B, ни C не могут выяснить, кто является предателем, поскольку это не обязательно A - другой лейтенант мог подделать сообщение якобы от A. Можно показать, что если n - общее количество генералов, иt - количество предателей в этом n , тогда есть решения проблемы только тогда, когда n > 3 t и общение синхронное (ограниченная задержка). [14]
  • Второе решение требует неподделанных подписей сообщений. Для систем безопасности критически важных , цифровые подписи (в современных компьютерных системах, это может быть достигнуто на практике с использованием криптографии с открытым ключом ) может обеспечить Византийскую отказоустойчивость в присутствии произвольного числа изменников генералов. Однако для систем, критичных к безопасности (где «безопасность» направлена ​​на интеллектуальные угрозы, а «безопасность» - на неотъемлемые опасности деятельности или миссии), простые коды обнаружения ошибок, такие как CRC, обеспечивают более слабое, но часто достаточное покрытие по гораздо более низкой цене. Это верно как для византийских, так и для невизантийских разломов. Кроме того, иногда меры безопасности ослабляют безопасность, и наоборот. Таким образом, методы криптографической цифровой подписи не являются хорошим выбором для систем, критичных к безопасности, если также не существует особой угрозы безопасности. [15] Хотя коды обнаружения ошибок, такие как CRC, лучше криптографических методов, ни один из них не обеспечивает адекватного покрытия активной электроники в критически важных для безопасности системах. Это иллюстрируется сценарием CRC Шредингера, где защищенное CRC сообщение с одним византийским ошибочным битом представляет разные данные разным наблюдателям, и каждый наблюдатель видит действительный CRC. [3] [4]
  • Также представлена ​​вариация первых двух решений, обеспечивающая отказоустойчивое поведение в некоторых ситуациях, когда не все генералы могут напрямую общаться друг с другом.

Было разработано несколько системных архитектур c. 1980 год, который внедрил византийскую отказоустойчивость. К ним относятся: FTMP Дрейпера, [16] MMFCS Honeywell, [17] и SIFT SRI. [8]

Продвинутые решения [ править ]

В 1999 году Мигель Кастро и Барбара Лисков представили алгоритм «Практическая византийская отказоустойчивость» (PBFT) [18], который обеспечивает высокопроизводительную репликацию византийского конечного автомата, обрабатывая тысячи запросов в секунду с увеличением задержки на доли миллисекунды.

После PBFT было введено несколько протоколов BFT для повышения его надежности и производительности. Например, Q / U, [19] HQ, [20] Zyzzyva, [21] и ABsTRACTs, [22] обращались к вопросам производительности и стоимости; в то время как другие протоколы, такие как Aardvark [23] и RBFT, [24], решали проблемы его надежности. Более того, Adapt [25] попытался использовать существующие протоколы BFT, переключаясь между ними адаптивным способом, чтобы повысить надежность и производительность системы при изменении основных условий. Кроме того, были введены протоколы BFT, которые используют доверенные компоненты для уменьшения количества реплик, например A2M-PBFT-EA [26] и MinBFT.[27]

По мотивам PBFT, Tendermint BFT [28] был представлен для частично асинхронных сетей и в основном используется для блокчейнов Proof of Stake.

Реализации BFT [ править ]

Одним из примеров использования BFT является биткойн , одноранговая система цифровых денег. [29] сеть Bitcoin работает параллельно для создания blockchain с доказательством правильности работы , позволяя системе преодолеть византийские неудачи и достижения согласованного глобального обзора состояния системы.

Некоторые авиационные системы, такие как система управления воздушной информацией Boeing 777 (через его сеть ARINC 659 SAFEbus ), [30] [31] система управления полетом Boeing 777, [32] и системы управления полетом Boeing 787 используют византийскую отказоустойчивость; поскольку это системы реального времени, их византийские решения для отказоустойчивости должны иметь очень низкую задержку. Например, SAFEbus может достичь византийской отказоустойчивости в пределах микросекунды дополнительной задержки.

Некоторые системы полета космических кораблей, такие как SpaceX Dragon [33], учитывают византийскую отказоустойчивость в своей конструкции.

Византийские механизмы отказоустойчивости используют компоненты, которые повторяют входящее сообщение (или только его подпись) другим получателям этого входящего сообщения. Все эти механизмы предполагают, что повторение сообщения блокирует распространение византийских симптомов. Для систем, которые имеют высокую степень критичности к безопасности, эти предположения должны быть подтверждены, чтобы быть верными до приемлемого уровня охвата отказов . При предоставлении доказательств посредством тестирования одна трудность заключается в создании достаточно широкого спектра сигналов с византийскими симптомами. [34] Такое испытание, вероятно, потребует специализированных неисправных форсунок. [35] [36]

Программное обеспечение [ править ]

  • UpRight - это библиотека с открытым исходным кодом для создания сервисов, допускающих как сбои («вверх»), так и византийское поведение («правильно»), которая включает в себя многие из нововведений этих протоколов. [37]
  • Библиотека BFT-SMaRt - это высокопроизводительная византийская отказоустойчивая библиотека репликации конечного автомата, разработанная на Java. Эта библиотека реализует протокол, очень похожий на PBFT, плюс дополнительные протоколы, которые предлагают передачу состояния и реконфигурацию хостов на лету. BFT-SMaRt - это самая последняя попытка реализовать репликацию конечного автомата, которая все еще активно поддерживается. [38]
  • Archistar использует тонкий слой BFT для связи. Он представляет собой прототип безопасной мультиоблачной системы хранения с использованием Java под лицензией LGPLv2. Основное внимание уделяется простоте и удобочитаемости, он призван стать основой для дальнейших исследовательских проектов. [39] [40]
  • Askemos - это параллельная платформа постоянного программирования, собирающая мусор, поверх реплицированных конечных автоматов, которая допускает византийские ошибки. Он является прототипом среды исполнения для смарт-контрактов . [41]

См. Также [ править ]

  • Атомарная фиксация
  • Алгоритм Брукса – Айенгара
  • Список терминов, относящихся к алгоритмам и структурам данных
  • Византийский Паксос
  • Квантовое византийское соглашение
  • Проблема двух генералов

Ссылки [ править ]

  1. ^ Киррманн, Хуберт (б). «Отказоустойчивые вычисления в промышленной автоматизации» (PDF) . Швейцария: Исследовательский центр АББ. п. 94. Архивировано из оригинального (PDF) 26 марта 2014 года . Проверено 2 марта 2015 .
  2. ^ Лэмпорт, Л .; Шостак, Р .; Пиз, М. (1982). «Проблема византийских генералов» (PDF) . Транзакции ACM по языкам и системам программирования . 4 (3): 382–401. CiteSeerX 10.1.1.64.2312 . DOI : 10.1145 / 357172.357176 . Архивировано 13 июня 2018 года (PDF) .  
  3. ^ a b c Дрисколл, К .; Холл, Б .; Paulitsch, M .; Zumsteg, P .; Сивенкрона, Х. (2004). «Настоящие византийские генералы». 23-я Конференция по системам цифровой авионики (IEEE Cat. No. 04CH37576) . С. 6.D.4–61–11. DOI : 10,1109 / DASC.2004.1390734 . ISBN 978-0-7803-8539-9. S2CID  15549497 .
  4. ^ a b c Дрисколл, Кевин; Холл, Брендан; Сивенкрона, Хакан; Зумстег, Фил (2003). «Византийская отказоустойчивость, от теории к реальности». Компьютерная безопасность, надежность и безопасность . Конспект лекций по информатике. 2788 . С. 235–248. DOI : 10.1007 / 978-3-540-39878-3_19 . ISBN 978-3-540-20126-7. ISSN  0302-9743 . S2CID  12690337 .
  5. ^ Avizienis, A .; Laprie, J.-C .; Рэнделл, Брайан ; Ландвер, К. (2004). «Основные понятия и таксономия надежных и безопасных вычислений». Транзакции IEEE о надежных и безопасных вычислениях . 1 (1): 11–33. DOI : 10.1109 / TDSC.2004.2 . hdl : 1903/6459 . ISSN 1545-5971 . S2CID 215753451 .  
  6. ^ «Надежные вычисления и отказоустойчивость» . Архивировано 2 апреля 2015 года . Проверено 2 марта 2015 .
  7. ^ Generalized Communication and SecurityModelsin Byzantine Agreement, Матиас Фитци https://www.crypto.ethz.ch/publications/files/Fitzi03.pdf
  8. ^ а б «SIFT: проектирование и анализ отказоустойчивого компьютера для управления самолетом». Надежность микроэлектроники . 19 (3): 190. 1979. DOI : 10,1016 / 0026-2714 (79) 90211-7 . ISSN 0026-2714 . 
  9. ^ Пиз, Маршалл; Шостак, Роберт; Лэмпорт, Лесли (апрель 1980 г.). «Достижение соглашения при наличии недостатков». Журнал Ассоциации вычислительной техники . 27 (2): 228–234. CiteSeerX 10.1.1.68.4044 . DOI : 10.1145 / 322186.322188 . S2CID 6429068 .  
  10. ^ Лэмпорт, Лесли (2016-12-19). «Проблема византийских генералов» . Транзакции ACM по языкам и системам программирования . SRI International . Проверено 18 марта 2019 .
  11. ^ а б в Лэмпорт, Л .; Шостак, Р .; Пиз, М. (1982). «Проблема византийских генералов» (PDF) . Транзакции ACM по языкам и системам программирования . 4 (3): 387–389. CiteSeerX 10.1.1.64.2312 . DOI : 10.1145 / 357172.357176 . Архивировано 7 февраля 2017 года из оригинального (PDF) .  
  12. ^ Дрисколл, Кевин (2012-12-11). «Реальные сбои системы» . DASHlink . НАСА . Архивировано 2 апреля 2015 года . Проверено 2 марта 2015 .
  13. ^ Уолтер, C .; Ellis, P .; ЛаВэлли, Б. (2005). «Надежная платформа-сервис: отказоустойчивая сервисная архитектура на основе свойств». Девятый международный симпозиум IEEE по системной инженерии с высоким уровнем надежности (HASE'05) . С. 34–43. DOI : 10,1109 / HASE.2005.23 . ISBN 978-0-7695-2377-4. S2CID  21468069 .
  14. ^ Feldman, P .; Микали, С. (1997). «Оптимальный вероятностный протокол для синхронного византийского соглашения» (PDF) . SIAM J. Comput . 26 (4): 873–933. DOI : 10.1137 / s0097539790187084 . Архивировано (PDF) из оригинала 5 марта 2016 года . Проверено 14 июня 2012 .
  15. ^ Paulitsch, M .; Моррис, Дж .; Холл, Б .; Driscoll, K .; Latronico, E .; Купман, П. (2005). «Покрытие и использование циклических кодов избыточности в сверхнадежных системах». 2005 Международная конференция по надежным системам и сетям (DSN'05) . С. 346–355. DOI : 10.1109 / DSN.2005.31 . ISBN 978-0-7695-2282-1. S2CID  14096385 .
  16. ^ Хопкинс, Альберт Л .; Lala, Jaynarayan H .; Смит, Т. Бэзил (1987). «Эволюция отказоустойчивых вычислений в лаборатории Чарльза Старка Дрейпера, 1955–85». Эволюция отказоустойчивых вычислений . Надежные вычисления и отказоустойчивые системы. 1 . С. 121–140. DOI : 10.1007 / 978-3-7091-8871-2_6 . ISBN 978-3-7091-8873-6. ISSN  0932-5581 .
  17. ^ Дрисколл, Кевин; Пападопулос, Грегори; Нельсон, Скотт; Хартманн, Гэри; Рамохалли, Готэм (1984), Многомикропроцессорная система управления полетом (технический отчет), база ВВС Райт-Паттерсон, штат Огайо 45433, США: AFWAL / FIGL Командование систем ВВС США, AFWAL-TR-84-3076CS1 maint: location ( ссылка )
  18. ^ Кастро, М .; Лисков, Б. (2002). «Практическая византийская отказоустойчивость и упреждающее восстановление». ACM-транзакции в компьютерных системах . Ассоциация вычислительной техники . 20 (4): 398–461. CiteSeerX 10.1.1.127.6130 . DOI : 10.1145 / 571637.571640 . S2CID 18793794 .  
  19. Abd-El-Malek, M .; Ganger, G .; Хорошая песня.; Reiter, M .; Уайли, Дж. (2005). «Отказоустойчивые византийские отказоустойчивые услуги». Обзор операционных систем ACM SIGOPS . Ассоциация вычислительной техники . 39 (5): 59. DOI : 10,1145 / 1095809,1095817 .
  20. ^ Каулинг, Джеймс; Майерс, Дэниел; Лисков, Варвара ; Родригес, Родриго; Шрира, Люба (2006). Репликация HQ: протокол гибридного кворума для византийской отказоустойчивости . Труды 7-го симпозиума USENIX по разработке и внедрению операционных систем. С. 177–190. ISBN 1-931971-47-1.
  21. ^ Котла, Рамакришна; Альвиси, Лоренцо; Далин, Майк; Клемент, Аллен; Вонг, Эдмунд (декабрь 2009 г.). «Зызыва: умозрительная византийская отказоустойчивость». ACM-транзакции в компьютерных системах . Ассоциация вычислительной техники . 27 (4): 1–39. DOI : 10.1145 / 1658357.1658358 .
  22. ^ Геррауи, Рашид; Кнежевич, Никола; Вуколич, Марко; Кема, Вивьен (2010). Следующие 700 протоколов BFT . Труды 5-й Европейской конференции по компьютерным системам. EuroSys. Архивировано 2 октября 2011 года . Проверено 4 октября 2011 .
  23. ^ Clement, A .; Wong, E .; Alvisi, L .; Далин, М .; Маркетти, М. (22–24 апреля 2009 г.). Обеспечение устойчивости византийских отказоустойчивых систем к византийским сбоям (PDF) . Симпозиум по проектированию и внедрению сетевых систем. USENIX . Архивировано (PDF) из оригинала 25 декабря 2010 года . Проверено 17 февраля 2010 .
  24. ^ Aublin, P.-L .; Бен Мохтар, С .; Quéma, V. (8–11 июля 2013 г.). RBFT: избыточная византийская отказоустойчивость . 33-я Международная конференция IEEE по распределенным вычислительным системам. Международная конференция по распределенным вычислительным системам . Архивировано из оригинального 5 -го августа 2013 года .
  25. ^ Bahsoun, JP; Guerraoui, R .; Шокер, А. (01.05.2015). «Как сделать протоколы BFT действительно адаптивными» . Симпозиум по параллельной и распределенной обработке (IPDPS), 2015 IEEE International : 904–913. DOI : 10.1109 / IPDPS.2015.21 . ISBN 978-1-4799-8649-1. S2CID  16310807 .
  26. Чун, Бюнг-Гон; Маниатис, Петрос; Шенкер, Скотт; Кубятович, Джон (01.01.2007). «Подтвержденная память, предназначенная только для добавления: заставляя противников придерживаться своего слова». Материалы двадцать первого симпозиума ACM SIGOPS по принципам операционных систем . СОСП '07. Нью-Йорк, Нью-Йорк, США: ACM: 189–204. DOI : 10.1145 / 1294261.1294280 . ISBN 9781595935915. S2CID  6685352 .
  27. ^ Веронезе, GS; Correia, M .; Бессани, АН; Легкое, LC; Вериссимо, П. (1 января 2013 г.). «Эффективная византийская отказоустойчивость». Транзакции IEEE на компьютерах . 62 (1): 16–30. CiteSeerX 10.1.1.408.9972 . DOI : 10.1109 / TC.2011.221 . ISSN 0018-9340 . S2CID 8157723 .   
  28. ^ Buchman, E .; Kwon, J .; Милошевич, З. (2018). «Последние слухи о консенсусе BFT». arXiv : 1807.04938 [ cs.DC ].
  29. ^ «Биткойн - деньги P2P с открытым исходным кодом» . bitcoin.org . Проверено 18 августа 2019 .
  30. ^ М., Паулич; Дрисколл, К. (9 января 2015 г.). «Глава 48: SAFEbus» . В Zurawski, Ричард (ред.). Справочник по технологиям промышленной связи, второе издание . CRC Press. С. 48–1–48–26. ISBN 978-1-4822-0733-0.
  31. ^ Томас А. Henzinger; Кристоф М. Кирш (26 сентября 2001 г.). Встроенное программное обеспечение: Первый международный семинар, EMSOFT 2001, Тахо-Сити, Калифорния, США, 8-10 октября 2001 г. Материалы (PDF) . Springer Science & Business Media. С. 307–. ISBN  978-3-540-42673-8. Архивировано (PDF) из оригинала 22 сентября 2015 года . Проверено 5 марта 2015 .
  32. ^ Е, YC (2001). «Критически важная для безопасности авионика для основной системы управления полетом 777». 20-й DASC. 20-я конференция по системам цифровой авионики (№ по каталогу 01CH37219) . 1 . С. 1C2 / 1–1C2 / 11. DOI : 10,1109 / DASC.2001.963311 . ISBN 978-0-7803-7034-0. S2CID  61489128 .
  33. ^ "ELC: извлеченные уроки SpaceX [LWN.net]" . Архивировано 5 августа 2016 года . Проверено 21 июля 2016 .
  34. ^ Наня, Т .; Гусен, HA (1989). «Византийская модель аппаратной неисправности». IEEE Transactions по автоматизированному проектированию интегральных схем и систем . 8 (11): 1226–1231. DOI : 10.1109 / 43.41508 . ISSN 0278-0070 . 
  35. ^ Мартинс, Роландо; Ганди, Раджив; Нарасимхан, Прия; Pertet, Soila; Казимиро, Антониу; Крейц, Диего; Вериссимо, Пауло (2013). «Опыт внедрения неисправностей в византийском отказоустойчивом протоколе». Промежуточное ПО 2013 . Конспект лекций по информатике. 8275 . С. 41–61. DOI : 10.1007 / 978-3-642-45065-5_3 . ISBN 978-3-642-45064-8. ISSN  0302-9743 .
  36. ^ Патент США 7475318 , Кевин Р. Дрисколл, «Метод испытания на чувствительный входной диапазоне византийских фильтров», выданный 2009-01-06, назначен Honeywell International Inc. 
  37. ^ "Репозиторий Google Code для библиотеки репликации UpRight" . Архивировано из оригинала на 2016-04-15.
  38. ^ "Репозиторий Google Code для библиотеки репликации BFT-SMaRt" . Архивировано из оригинала на 2017-10-29.
  39. ^ "Репозиторий github для проекта Archistar" . 2019-05-28. Архивировано из оригинала на 2015-02-04.
  40. ^ "Репозиторий github для проекта Archistar" . 2019-04-28. Архивировано из оригинала на 2017-06-13.
  41. ^ "Домашняя страница Аскемоса" . Архивировано из оригинала на 2016-05-03.

Внешние ссылки [ править ]

  • Византийская отказоустойчивость в RKBExplorer