BFT против византийского соглашения и доказательства работы - PullRequest
0 голосов
/ 11 июля 2019

В последнее время я копался в консенсусных протоколах, и мне в голову пришёл этот вопрос: каково формальное определение консенсусного протокола, который обеспечивает Византийскую Отказоустойчивость (BFT) и тот, который обеспечивает Византийское Соглашение (BA)?

Я нашел два ответа на разницу между BFT и BA. Первый говорит:

Кроме того, в чем разница между Византийским соглашением и BFT?

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

, а последний говорит:

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

Поэтому для меня имеет смысл, что протокол BFT - это любой протокол со свойством допускающих византийские ошибки , а протокол BA - это протокол, который допускает византийские ошибки , в частностипутем обмена сообщениями для достижения соглашения , как это было первоначально предложено Лампортом в «Задаче византийских генералов ».Это подразумевает, что протоколы BA являются подмножеством протоколов BFT.Так, например, Proof of Work будет BFT, но не BA, но PBFT, Casper FFG и Tendermint будут и BFT, и BA.

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

Заранее спасибо.

...