Византийский разлом
Византийский сбой — это состояние системы, особенно распределенной вычислительной системы, при котором происходит сбой, при котором разным наблюдателям представляются разные симптомы, включая неполную информацию о том, вышел ли из строя какой-либо компонент системы. Термин получил свое название от аллегории «проблема византийских генералов». [1] разработан для описания ситуации, в которой, чтобы избежать катастрофического сбоя системы, участники системы должны согласовать стратегию, но некоторые из этих участников ненадежны в такой степени, что это приводит к тому, что другие (хорошие) участники не соглашаются со стратегией и они могут не знать о разногласиях.
Византийская ошибка также известна как проблема византийских генералов , проблема византийского соглашения или византийская неудача .
Византийская отказоустойчивость ( BFT ) — это устойчивость отказоустойчивой компьютерной системы или аналогичной системы к таким условиям.
Определение
[ редактировать ]Византийская ошибка — это любая ошибка, имеющая разные симптомы для разных наблюдателей. [2] Византийский сбой — это потеря системной службы из-за византийской ошибки в системах, требующих консенсуса между несколькими компонентами. [3]
Византийская аллегория рассматривает несколько полководцев, атакующих крепость. Генералы должны вместе решить, атаковать или отступить; некоторые могут предпочесть атаковать, а другие предпочитают отступить. Важно то, чтобы все генералы пришли к общему решению, поскольку вялая атака нескольких генералов обернулась бы разгромом и была бы хуже, чем скоординированная атака или скоординированное отступление.
Проблема осложняется наличием коварных генералов, которые могут не только проголосовать за неоптимальную стратегию; они могут делать это выборочно. Например, если голосуют девять генералов, четверо из которых поддерживают атаку, а четыре других — за отступление, девятый генерал может послать голос об отступлении этим генералам в пользу отступления, а голос о нападении — остальным. Те, кто получил голос отступления от девятого генерала, отступят, а остальные нападут (что может не пойти на пользу нападающим). Проблема еще больше усложняется тем, что генералы физически разделены и им приходится отправлять свои голоса через посыльных, которые могут не доставить голоса или подделать фальшивые голоса.
Византийская отказоустойчивость может быть достигнута, если число лояльных (безупречных) генералов более чем в три раза превышает число нелояльных (небезупречных) генералов. Для отсутствующих сообщений может быть присвоено значение голосования по умолчанию. Например, отсутствующим сообщениям можно присвоить «нулевое» значение . Кроме того, если соглашение заключается в том, что нулевые голоса составляют большинство, можно использовать заранее назначенную стратегию по умолчанию (например, отступление). [4]
Типичное отображение этой аллегории на компьютерных системах состоит в том, что компьютеры — это генералы, а их каналы цифровой связи — посланники. Хотя проблема сформулирована в аллегории как проблема принятия решений и безопасности, в электронике она не может быть решена только с помощью криптографических цифровых подписей , поскольку такие сбои, как неправильное напряжение, могут распространяться в процессе шифрования. Таким образом, ошибочное сообщение может быть отправлено так, что некоторые получатели распознают сообщение как ошибочное (плохая подпись), другие увидят, что оно имеет хорошую подпись, а третья группа также увидит хорошую подпись, но с другим содержанием сообщения, чем вторая группа. [2]
История
[ редактировать ]Проблема достижения византийского консенсуса была задумана и формализована Робертом Шостаком , который назвал ее проблемой интерактивной согласованности . Эта работа была проделана в 1978 году в рамках проекта SIFT, спонсируемого НАСА. [5] проект в Лаборатории компьютерных наук SRI International . SIFT (для программно-реализованной отказоустойчивости) был детищем Джона Уэнсли и был основан на идее использования нескольких компьютеров общего назначения, которые будут взаимодействовать посредством парного обмена сообщениями для достижения консенсуса, даже если некоторые из компьютеров были неисправны.
В начале проекта не было ясно, сколько всего компьютеров необходимо, чтобы гарантировать, что заговор n неисправных компьютеров не сможет «помешать» усилиям правильно работающих компьютеров по достижению консенсуса. Шостак показал, что необходимо минимум 3 n+ 1, и разработал двухраундовый протокол обмена сообщениями 3 n+1 , который будет работать для n =1. Его коллега Маршалл Пиз обобщил алгоритм для любого n > 0, доказав, что 3 n +1 одновременно необходимо и достаточно. Эти результаты вместе с более поздним доказательством Лесли Лэмпортом достаточности 3 n с использованием цифровых подписей были опубликованы в основополагающей статье « Достижение соглашения при наличии ошибок». [6] За эту статью авторы были удостоены премии Эдсгера В. Дейкстры 2005 года .
Чтобы облегчить понимание проблемы интерактивной согласованности, Лэмпорт придумал красочную аллегорию, в которой группа армейских генералов формулирует план нападения на город. В оригинальной версии истории генералы были командующими албанской армией . Название было изменено и в конечном итоге остановилось на « Византийском » по предложению Джека Голдберга, чтобы исключить любые потенциальные оскорбления в будущем. [7] Эта формулировка проблемы вместе с некоторыми дополнительными результатами была представлена теми же авторами в их статье 1982 года «Проблема византийских генералов». [4]
смягчение последствий
[ редактировать ]Цель византийской отказоустойчивости — иметь возможность защититься от сбоев компонентов системы с симптомами или без них, которые мешают другим компонентам системы прийти к соглашению между собой там, где такое соглашение необходимо для корректной работы системы.
Остальные работоспособные компоненты византийской отказоустойчивой системы смогут продолжать предоставлять услуги системы, как первоначально предполагалось, при условии, что имеется достаточное количество точно работающих компонентов для поддержания службы.
Если рассматривать распространение отказов только через ошибки, византийские отказы считаются наиболее общим и самым сложным классом отказов среди видов отказов . Так называемый режим отказоустойчивого отказа занимает простейший конец спектра. В то время как режим отказа просто означает, что единственным способом отказа является сбой узла , обнаруженный другими узлами, византийские сбои не подразумевают никаких ограничений на то, какие ошибки могут быть созданы, что означает, что вышедший из строя узел может генерировать произвольные данные, включая данные. это делает его похожим на функционирующий узел для подмножества других узлов. Таким образом, византийские сбои могут сбить с толку системы обнаружения сбоев, что затрудняет отказоустойчивость. Несмотря на аллегорию , византийский сбой не обязательно является проблемой безопасности , связанной с враждебным вмешательством человека: он может возникнуть исключительно из-за физических или программных ошибок.
Термины «неисправность» и «отказ» используются здесь в соответствии со стандартными определениями. [8] Первоначально созданный совместным комитетом по «Фундаментальным концепциям и терминологии», сформированным Техническим комитетом Компьютерного общества IEEE по надежным вычислениям и отказоустойчивости и Рабочей группой IFIP 10.4 по надежным вычислениям и отказоустойчивости. [9] См. также надежность .
Византийская отказоустойчивость касается только согласованности широковещательной передачи, то есть свойства, при котором, когда компонент передает значение всем другим компонентам, все они получают одно и то же значение, или, в случае, если распространитель не согласован, другие компоненты соглашаются. на общих ценностях. Этот вид отказоустойчивости не включает в себя корректность самого значения; например, состязательный компонент, который намеренно отправляет неправильное значение, но последовательно отправляет одно и то же значение всем компонентам, не будет пойман византийской схемой отказоустойчивости.
Решения
[ редактировать ]Несколько ранних решений были описаны Лампортом, Шостаком и Писом в 1982 году. [4] Они начали с того, что отметили, что проблему генералов можно свести к решению проблемы «Командир и лейтенанты», где все лояльные лейтенанты должны действовать в унисон и что их действия должны соответствовать приказу командующего в случае, если командующий лоялен:
- Одно из решений рассматривает сценарии, в которых сообщения могут быть подделаны, но которые будут устойчивы к византийским ошибкам , пока число нелояльных генералов будет меньше одной трети генералов. Невозможность справиться с третью и более предателями в конечном итоге сводится к доказыванию того, что проблема одного командира и двух лейтенантов неразрешима, если командир предатель. Чтобы увидеть это, предположим, что у нас есть командующий-предатель А и два лейтенанта, Б и С: когда А приказывает Б атаковать, а С отступать, а Б и С посылают друг другу сообщения, пересылая сообщение А, ни Б, ни С не могут выяснить, кто является предателем, поскольку это не обязательно А — другой лейтенант мог подделать сообщение якобы от А. Можно показать, что если n — общее количество генералов, а t — количество предателей в этом n , то решения проблемы существуют только тогда, когда n > 3 t и связь синхронна (ограниченная задержка). [10]
- Второе решение требует невозможности подделать подписи сообщений. Для систем, критичных к безопасности , цифровые подписи (в современных компьютерных системах это может быть достигнуто на практике с помощью криптографии с открытым ключом ) могут обеспечить византийскую отказоустойчивость в присутствии произвольного числа генералов-предателей. Однако для критически важных с точки зрения безопасности систем (где «безопасность» направлена на интеллектуальные угрозы, а «безопасность» направлена на внутренние опасности, присущие деятельности или миссии, т. е. сбои, вызванные природными явлениями), коды обнаружения ошибок, такие как CRC , обеспечивают более сильный охват при гораздо более низкая стоимость. (Обратите внимание, что CRC может обеспечить гарантированное покрытие ошибок, чего не может обеспечить криптография. Если бы схема шифрования могла обеспечить некоторую гарантию покрытия ошибок сообщений, она имела бы структуру, которая сделала бы ее небезопасной. [11] ) Но ни цифровые подписи , ни коды обнаружения ошибок, такие как CRC, не обеспечивают известный уровень защиты от византийских ошибок естественного происхождения. В более общем плане меры безопасности могут ослабить безопасность, и наоборот. Таким образом, методы криптографической цифровой подписи не являются хорошим выбором для систем, критически важных для безопасности, если только не существует также конкретной угрозы безопасности. [12] Хотя коды обнаружения ошибок, такие как CRC, лучше криптографических методов, ни один из них не обеспечивает адекватного охвата активной электроники в системах, критически важных для безопасности. Это иллюстрируется сценарием CRC Шрёдингера , где сообщение, защищенное CRC, с одним византийским ошибочным битом представляет разные данные разным наблюдателям, и каждый наблюдатель видит действительный CRC. [2] [3]
- Также представлена вариация первых двух решений, обеспечивающая византийское отказоустойчивое поведение в некоторых ситуациях, когда не все генералы могут напрямую общаться друг с другом.
Все решения BFT требуют нескольких раундов связи. Каждый получатель в раунде связи должен повторить всем остальным получателям то, что он получил. Для f числа византийских При сбоях должно быть как минимум 3f+1 игроков (зоны сдерживания неисправностей), 2f+1 независимых путей связи и f+1 раундов связи. Также могут существовать гибридные модели разломов, в которых доброкачественные (невизантийские) разломы, а также византийские разломы могут существовать одновременно. Для каждой дополнительной неопасной неисправности, которую необходимо допустить, вышеуказанные числа должны быть увеличены.
Если раунды связи BFT не существуют, византийские сбои могут произойти даже при отсутствии неисправного оборудования.
Было разработано несколько системных архитектур c. 1980 год, реализовавший византийскую отказоустойчивость. К ним относятся: FTMP Дрейпера, [13] MMFCS компании Honeywell, [14] и SIFT SRI. [5]
В 1999 году Мигель Кастро и Барбара Лисков представили алгоритм «Практической византийской отказоустойчивости» (PBFT). [15] который обеспечивает высокопроизводительную репликацию византийского конечного автомата, обрабатывая тысячи запросов в секунду с увеличением задержки на доли миллисекунды.
После PBFT было введено несколько протоколов BFT для повышения его надежности и производительности. Например, Q/U, [16] штаб, [17] Зизжива, [18] и АННОТАЦИИ, [19] рассмотрены вопросы производительности и стоимости; тогда как другие протоколы, такие как Aardvark [20] и РБФТ, [21] решил проблемы с его надежностью. Кроме того, Адаптируйтесь [22] попыталась использовать существующие протоколы BFT, адаптивно переключаясь между ними, чтобы повысить надежность и производительность системы при изменении основных условий. Кроме того, были представлены протоколы BFT, которые используют доверенные компоненты для уменьшения количества реплик, например A2M-PBFT-EA. [23] и МинБФТ. [24]
Приложения
[ редактировать ]Несколько примеров произошедших византийских неудач приведены в двух эквивалентных журнальных статьях. [2] [3] Эти и другие примеры описаны на веб-страницах NASA DASHlink. [25]
Приложения в вычислительной технике
[ редактировать ]Византийские механизмы отказоустойчивости используют компоненты, которые повторяют входящее сообщение (или просто его подпись, которую можно свести к одному биту информации, если для узлов используются пары самопроверки). другим получателям этого входящего сообщения. Все эти механизмы предполагают, что повторение сообщения блокирует распространение византийских симптомов. Для систем с высокой степенью безопасности или критичности защиты эти предположения должны быть верны до приемлемого уровня покрытия неисправностей . При предоставлении доказательств посредством тестирования одной из трудностей является создание достаточно широкого спектра сигналов с византийскими симптомами. [26] Для такого тестирования, скорее всего, потребуются специальные средства ввода ошибок . [27] [28]
Военное применение
[ редактировать ]Византийские ошибки наблюдались нечасто и нерегулярно во время испытаний на долговечность недавно построенных «Вирджиния» подводных лодок класса , по крайней мере, до 2005 года (когда о проблемах было объявлено публично). [29]
Криптовалютные приложения
[ редактировать ]Сеть Биткойн работает параллельно, создавая блокчейн с доказательством работы , позволяющий системе преодолевать византийские сбои и достигать согласованного глобального представления о состоянии системы. [30] [31] Некоторые блокчейны с доказательством доли также используют алгоритмы BFT. [32]
Приложения в авиации
[ редактировать ]Некоторые авиационные системы, такие как система управления информацией о самолете Boeing 777 (через сеть ARINC 659 SAFEbus), система управления полетом Boeing 777 и системы управления полетом Boeing 787, используют византийскую отказоустойчивость; поскольку это системы реального времени, их византийские решения по отказоустойчивости должны иметь очень низкую задержку. Например, SAFEbus может обеспечить византийскую отказоустойчивость с добавленной задержкой порядка микросекунды. [33] [34] [35] В своей конструкции SpaceX Dragon учитывает византийскую отказоустойчивость. [36]
См. также
[ редактировать ]- Атомная фиксация — операция, которая применяет набор отдельных изменений как одну операцию.
- Алгоритм Брукса – Айенгара - Распределенный алгоритм для сенсорных сетей.
- Список терминов, относящихся к алгоритмам и структурам данных
- Паксос (информатика) - семейство протоколов для достижения консенсуса.
- Квантовое византийское соглашение - Квантовая версия протокола Византийского соглашения.
- Проблема двух генералов – мысленный эксперимент
- Бесконфликтный реплицируемый тип данных — тип структуры данных.
Ссылки
[ редактировать ]- ^ Лэмпорт, Л. ; Шостак Р.; Пиз, М. (1982). «Проблема византийских генералов» (PDF) . Транзакции ACM в языках и системах программирования . 4 (3): 382–401. CiteSeerX 10.1.1.64.2312 . дои : 10.1145/357172.357176 . S2CID 55899582 . Архивировано (PDF) из оригинала 13 июня 2018 года.
- ^ Jump up to: а б с д Дрисколл, К.; Холл, Б.; Паулич, М.; Цумстег, П.; Сивенкрона, Х. (2004). «Настоящие византийские генералы». 23-я конференция по цифровым авиационным системам (IEEE Cat. No.04CH37576) . стр. 6.Д.4–61–11. дои : 10.1109/DASC.2004.1390734 . ISBN 978-0-7803-8539-9 . S2CID 15549497 .
- ^ Jump up to: а б с Дрисколл, Кевин; Холл, Брендан; Сивенкрона, Хокан; Цумстег, Фил (2003). «Византийская отказоустойчивость: от теории к реальности». Компьютерная безопасность, надежность и защищенность . Конспекты лекций по информатике. Том. 2788. стр. 235–248. дои : 10.1007/978-3-540-39878-3_19 . ISBN 978-3-540-20126-7 . ISSN 0302-9743 . S2CID 12690337 .
- ^ Jump up to: а б с Лэмпорт, Л. ; Шостак Р.; Пиз, М. (1982). «Проблема византийских генералов» (PDF) . Транзакции ACM в языках и системах программирования . 4 (3): 387–389. CiteSeerX 10.1.1.64.2312 . дои : 10.1145/357172.357176 . S2CID 55899582 . Архивировано из оригинала (PDF) 7 февраля 2017 года.
- ^ Jump up to: а б «SIFT: проектирование и анализ отказоустойчивого компьютера управления самолетом». Надежность микроэлектроники . 19 (3): 190. 1979. doi : 10.1016/0026-2714(79)90211-7 . ISSN 0026-2714 .
- ^ Пиз, Маршалл; Шостак, Роберт; Лэмпорт, Лесли (апрель 1980 г.). «Достижение соглашения при наличии разногласий». Журнал Ассоциации вычислительной техники . 27 (2): 228–234. CiteSeerX 10.1.1.68.4044 . дои : 10.1145/322186.322188 . S2CID 6429068 .
- ^ Лэмпорт, Лесли (19 декабря 2016 г.). «Проблема византийских генералов» . Транзакции ACM в языках и системах программирования . НИИ Интернешнл . Проверено 18 марта 2019 г.
- ^ Авизиенис, А.; Лапри, Ж.-К.; Рэнделл, Брайан ; Ландвер, К. (2004). «Основные концепции и таксономия надежных и безопасных вычислений». Транзакции IEEE для надежных и безопасных вычислений . 1 (1): 11–33. дои : 10.1109/TDSC.2004.2 . hdl : 1903/6459 . ISSN 1545-5971 . S2CID 215753451 .
- ^ «Надежные вычисления и отказоустойчивость» . Архивировано из оригинала 02 апреля 2015 г. Проверено 2 марта 2015 г.
- ^ Фельдман, П.; Микали, С. (1997). «Оптимальный вероятностный протокол для синхронного византийского соглашения» (PDF) . СИАМ Дж. Компьютер . 26 (4): 873–933. дои : 10.1137/s0097539790187084 . Архивировано (PDF) из оригинала 5 марта 2016 г. Проверено 14 июня 2012 г.
- ^ Купман, Филип; Дрисколл, Кевин; Холл, Брендан (март 2015 г.). «Код циклического избыточности и алгоритмы контрольной суммы для обеспечения целостности критически важных данных» (PDF) . Федеральное управление гражданской авиации. DOT/FAA/TC-14/49. Архивировано (PDF) из оригинала 18 мая 2015 года. Проверено 9 мая 2015 года.
- ^ Паулич, М.; Моррис, Дж.; Холл, Б.; Дрисколл, К.; Латронико, Э.; Купман, П. (2005). «Покрытие и использование циклических избыточных кодов в сверхнадежных системах». 2005 Международная конференция по надежным системам и сетям (DSN'05) . стр. 346–355. дои : 10.1109/DSN.2005.31 . ISBN 978-0-7695-2282-1 . S2CID 14096385 .
- ^ Хопкинс, Альберт Л.; Лала, Джайнараян Х.; Смит, Т. Бэзил (1987). «Эволюция отказоустойчивых вычислений в лаборатории Чарльза Старка Дрейпера, 1955–85». Эволюция отказоустойчивых вычислений . Надежные вычислительные и отказоустойчивые системы. Том. 1. С. 121–140. дои : 10.1007/978-3-7091-8871-2_6 . ISBN 978-3-7091-8873-6 . ISSN 0932-5581 .
- ^ Дрисколл, Кевин; Пападопулос, Грегори; Нельсон, Скотт; Хартманн, Гэри; Рамохалли, Гаутам (1984), Мультимикропроцессорная система управления полетом (технический отчет), База ВВС Райт-Паттерсон, Огайо: AFWAL/FIGL Командование систем ВВС США, AFWAL-TR-84-3076
- ^ Кастро, М.; Лисков, Б. (2002). «Практическая византийская отказоустойчивость и упреждающее восстановление». Транзакции ACM в компьютерных системах . 20 (4). Ассоциация вычислительной техники : 398–461. CiteSeerX 10.1.1.127.6130 . дои : 10.1145/571637.571640 . S2CID 18793794 .
- ^ Абд-эль-Малек, М.; Гангер, Г.; Гудсон, Г.; Райтер, М.; Уайли, Дж. (2005). «Отказо-масштабируемые византийские отказоустойчивые службы». Обзор операционных систем ACM SIGOPS . 39 (5). Ассоциация вычислительной техники : 59. doi : 10.1145/1095809.1095817 .
- ^ Коулинг, Джеймс; Майерс, Дэниел; Лисков, Варвара ; Родригес, Родриго; Шрира, Люба (2006). Репликация HQ: гибридный протокол кворума для византийской отказоустойчивости . Материалы 7-го симпозиума USENIX по проектированию и внедрению операционных систем. стр. 177–190. ISBN 1-931971-47-1 .
- ^ Котла, Рамакришна; Альвизи, Лоренцо; Далин, Майк; Клемент, Аллен; Вонг, Эдмунд (декабрь 2009 г.). «Zyzzyva: спекулятивная византийская отказоустойчивость». Транзакции ACM в компьютерных системах . 27 (4). Ассоциация вычислительной техники : 1–39. дои : 10.1145/1658357.1658358 .
- ^ Геррауи, Рашид; Кнежевич, Никола; Вуколич, Марко; Кема, Вивьен (2010). Следующие 700 протоколов BFT . Материалы 5-й Европейской конференции по компьютерным системам. ЕвроСис. Архивировано из оригинала 2 октября 2011 г. Проверено 4 октября 2011 г.
- ^ Клемент, А.; Вонг, Э.; Алвиси, Л.; Далин, М.; Маркетти, М. (22–24 апреля 2009 г.). Как сделать византийские отказоустойчивые системы терпимыми к византийским ошибкам (PDF) . Симпозиум по проектированию и внедрению сетевых систем. УСЕНИКС . Архивировано (PDF) из оригинала 25 декабря 2010 г. Проверено 17 февраля 2010 г.
- ^ Облин, П.-Л.; Бен Мохтар, С.; Кема, В. (8–11 июля 2013 г.). RBFT: избыточная византийская отказоустойчивость . 33-я Международная конференция IEEE по распределенным вычислительным системам. Международная конференция по распределенным вычислительным системам . Архивировано из оригинала 5 августа 2013 года.
- ^ Бахсун, Япония; Геррауи, Р.; Шокер, А. (01 мая 2015 г.). «Сделать протоколы BFT действительно адаптивными» . Международный симпозиум IEEE по параллельной и распределенной обработке , 2015 г. стр. 904–913. дои : 10.1109/IPDPS.2015.21 . ISBN 978-1-4799-8649-1 . S2CID 16310807 .
- ^ Чун, Бён Гон; Маниатис, Петрос; Шенкер, Скотт; Кубятович, Джон (1 января 2007 г.). «Аттестованная память только для добавления». Материалы двадцать первого симпозиума ACM SIGOPS по принципам операционных систем . СОСП '07. Нью-Йорк, штат Нью-Йорк, США: ACM. стр. 189–204. дои : 10.1145/1294261.1294280 . ISBN 9781595935915 . S2CID 6685352 .
- ^ Веронезе, Г.С.; Коррейя, М.; Бессани, АН; Лунг, LC; Вериссимо, П. (1 января 2013 г.). «Эффективная византийская отказоустойчивость». Транзакции IEEE на компьютерах . 62 (1): 16–30. CiteSeerX 10.1.1.408.9972 . дои : 10.1109/TC.2011.221 . ISSN 0018-9340 . S2CID 8157723 .
- ^ Дрисколл, Кевин (11 декабря 2012 г.). «Реальные системные сбои» . DASHссылка . НАСА . Архивировано из оригинала 02 апреля 2015 г. Проверено 2 марта 2015 г.
- ^ Наня, Т.; Гусен, ХА (1989). «Византийская модель отказа оборудования». Транзакции IEEE по автоматизированному проектированию интегральных схем и систем . 8 (11): 1226–1231. дои : 10.1109/43.41508 . ISSN 0278-0070 .
- ^ МАРТИНС, Роландо; Ганди, Раджив; Нарасимхан, Прия; ПЕРТЕТ, Сойла; Казимиро, Антонио; Крейц, Диего; Вериссимо, Пауло (2013). «Эксперименты с внедрением ошибок в византийский отказоустойчивый протокол». Промежуточное ПО 2013 . Конспекты лекций по информатике. Том. 8275.стр. 41–61. дои : 10.1007/978-3-642-45065-5_3 . ISBN 978-3-642-45064-8 . ISSN 0302-9743 . S2CID 31337539 .
- ^ Патент США 7475318 , Кевин Р. Дрисколл, «Метод проверки чувствительного диапазона входного сигнала византийских фильтров», выдан 6 января 2009 г., передан компании Honeywell International Inc.
- ^ Уолтер, К.; Эллис, П.; ЛаВэлли, Б. (2005). «Надежная платформа: отказоустойчивая сервисная архитектура на основе свойств». Девятый международный симпозиум IEEE по системной инженерии высокой надежности (HASE'05) . стр. 34–43. дои : 10.1109/HASE.2005.23 . ISBN 978-0-7695-2377-4 . S2CID 21468069 .
- ^ Рубби, Мэтт (20 января 2024 г.). «Как проблема византийских генералов относится к вам в 2024 году» . Лебединый биткойн . Проверено 27 января 2024 г.
- ^ Толониат, Пьер; Грамоли, Винсент (2022), Тран, Дюк А.; Тайский, Мой Т.; Кришнамачари, Бхаскар (ред.), «Формальная проверка византийской отказоустойчивости блокчейна» , Справочник по блокчейну , оптимизации Springer и ее приложениям, Cham: Springer International Publishing, стр. 389–412, arXiv : 1909.07453 , doi : 10.1007/978- 3-031-07535-3_12 , ISBN 978-3-031-07535-3 , получено 27 января 2024 г.
- ^ Дейрментзоглу, Папакириакопулос и Пацакис 2019 , стр. 28716.
- ^ М., Паулич; Дрисколл, К. (9 января 2015 г.). «Глава 48:SAFEbus» . В Журавски, Ричард (ред.). Справочник по технологиям промышленной связи, второе издание . ЦРК Пресс. стр. 48–1–48–26. ISBN 978-1-4822-0733-0 .
- ^ Томас А. Хензингер; Кристоф М. Кирш (26 сентября 2001 г.). Встроенное программное обеспечение: первый международный семинар, EMSOFT 2001, Тахо-Сити, Калифорния, США, 8–10 октября 2001 г. Материалы (PDF) . Springer Science & Business Media. стр. 307–. ISBN 978-3-540-42673-8 . Архивировано (PDF) из оригинала 22 сентября 2015 г. Проверено 05 марта 2015 г.
- ^ Да, YC (2001). «Критическая с точки зрения безопасности авионика для основной системы управления полетом 777». 20-й ДАСК. 20-я конференция по цифровым авиационным системам (кат. № 01CH37219) . Том. 1. С. 1C2/1–1C2/11. дои : 10.1109/DASC.2001.963311 . ISBN 978-0-7803-7034-0 . S2CID 61489128 .
- ^ «ELC: Извлеченные уроки SpaceX [LWN.net]» . Архивировано из оригинала 5 августа 2016 г. Проверено 21 июля 2016 г.
Источники
[ редактировать ]- Дейрменцоглу, Евангелия; Папакириакопулос, Джордж; Пацакис, Константин (2019). «Обзор дальних атак для протоколов Proof of Stake» . Доступ IEEE . 7 : 28712–2 дои : 10.1109/ACCESS.2019.2901858 . eISSN 2169-3536 . S2CID 84185792 .
- Башир, Имран. «Блокчейн-консенсус». Блокчейн-консенсус — введение в классические, блокчейн- и квантовые протоколы консенсуса . ISBN 978-1-4842-8178-9 Apress, Беркли, Калифорния, 2022 г. дои : 10.1007/978-1-4842-8179-6