Size: a a a

2020 August 25

A

Alexander in DevOps
Sergei Puzyrev
не про это. византийские генералы это фундаментально другая задача, она не про распределённый консенсус доверяющих друг другу агентов. про византийских генералов - см. блокчейн.
в рафте, паксосе и других подобных алгоритмах агенты доверяют друг другу и лишь обеспечивают последовательность действий, обеспечивающую целостность и идентичность некоторого состояния в каждый момент времени.
> она не про распределённый консенсус доверяющих друг другу агентов

Эээ... что? Блокчейн так-то тоже про византийских генералов (и решается она в точно такой же базовой формулировке). Отличие лишь в дополнительных условиях: блокчейн нацелен на работу в больше масштабе и в динамическом окружении, когда "генералы" приходят и уходят, а рафт с паксосом — на более статическое окружение в меньших масштабах. Просто решение задачи в разных предметных областях, потому и допусловия разнятся, но задача одна и так же.

> обеспечивающую целостность и идентичность

Ну да, чтобы сбойная/злонамеренная нода (или ноды) не повлияла на консенсусное состояние.
источник

A

Alexander in DevOps
Aleksey Shirokikh
Но не считают что они намеренно врут
А в чем разница? Результат один и тот же, хотя мотив и отличается.
источник

AS

Aleksey Shirokikh in DevOps
Alexander
> она не про распределённый консенсус доверяющих друг другу агентов

Эээ... что? Блокчейн так-то тоже про византийских генералов (и решается она в точно такой же базовой формулировке). Отличие лишь в дополнительных условиях: блокчейн нацелен на работу в больше масштабе и в динамическом окружении, когда "генералы" приходят и уходят, а рафт с паксосом — на более статическое окружение в меньших масштабах. Просто решение задачи в разных предметных областях, потому и допусловия разнятся, но задача одна и так же.

> обеспечивающую целостность и идентичность

Ну да, чтобы сбойная/злонамеренная нода (или ноды) не повлияла на консенсусное состояние.
лишь сбойная. злонамеренная не оно
источник

AS

Aleksey Shirokikh in DevOps
в результате мотива отличается и результат
источник

A

Alexander in DevOps
Aleksey Shirokikh
лишь сбойная. злонамеренная не оно
Как это меняет работу алгоритма?
источник

AS

Aleksey Shirokikh in DevOps
одно дело защищаться от сбойного времени, другое от подделки
источник

AS

Aleksey Shirokikh in DevOps
алгоритмически разные задачи
источник

SP

Sergei Puzyrev in DevOps
Alexander
Как это меняет работу алгоритма?
рафт никак не защитит от злонамеренного мастера
источник

A

Alexander in DevOps
Aleksey Shirokikh
одно дело защищаться от сбойного времени, другое от подделки
Как неправильное время из-за сбоя отличается от неправильного времени из-за подделки? int будет особенно злобный?
источник

A

Alexander in DevOps
Sergei Puzyrev
рафт никак не защитит от злонамеренного мастера
Насколько я помню, там перевыборы происходят в таком случае.
источник

SP

Sergei Puzyrev in DevOps
Alexander
Как неправильное время из-за сбоя отличается от неправильного времени из-за подделки? int будет особенно злобный?
текущий мастер стал злонамеренным и стал срать дерьмом в разные слейвы
источник

SP

Sergei Puzyrev in DevOps
Alexander
Насколько я помню, там перевыборы происходят в таком случае.
нет. слейвы не общаются друг с другом пока мастер жив.
источник

AS

Aleksey Shirokikh in DevOps
Alexander
Как неправильное время из-за сбоя отличается от неправильного времени из-за подделки? int будет особенно злобный?
я не уверен что готов вести диалог на этом уровне, однако в клепмане это разведено. именно так
источник

P

Pavel in DevOps
А мы допускаем, что мастер может стать злонамеренным?
источник

AS

Aleksey Shirokikh in DevOps
вот такое вот я вижу в выдержках из него
Distributed systems problems become much harder if there is a risk that nodes may lie, such as claiming unreceived messages from other node or sending untrue messages to other nodes, it’s known as Byzantine fault.
источник

P

Pavel in DevOps
Мастер, с видящими его слейвами
источник

SP

Sergei Puzyrev in DevOps
Pavel
А мы допускаем, что мастер может стать злонамеренным?
византийские генералы подразумевают что часть генералов не просто ебнутые или не отвечают, а вражеские агенты
источник

P

Pavel in DevOps
Sergei Puzyrev
византийские генералы подразумевают что часть генералов не просто ебнутые или не отвечают, а вражеские агенты
А, сорян, выше не почитал)
источник

AS

Aleksey Shirokikh in DevOps
Byzantine Faults
Fencing tokens can detect and block a node that is inadvertently acting in error (e.g., because it hasn’t yet found out that its lease has expired). However, if the node deliberately wanted to subvert the system’s guarantees, it could easily do so by sending messages with a fake fencing token.
In this book we assume that nodes are unreliable but honest: they may be slow or never respond (due to a fault), and their state may be outdated (due to a GC pause or network delays), but we assume that if a node does respond, it is telling the “truth”: to the best of its knowledge, it is playing by the rules of the protocol.
Distributed systems problems become much harder if there is a risk that nodes may “lie” (send arbitrary faulty or corrupted responses)—for example, if a node may claim to have received a particular message when in fact it didn’t. Such behavior is known as a Byzantine fault, and the problem of reaching consensus in this untrusting environment is known as the Byzantine Generals Problem
источник

AS

Aleksey Shirokikh in DevOps
да вот выдежка целиком
источник