블록체인은 비잔틴 장군 문제를 어떻게 해결합니까?

비잔틴 장군 문제 설명

신뢰할 수 있는 컴퓨터 시스템은 하나 이상의 구성 요소가 실패하더라도 작동할 수 있어야 합니다. 실패한 구성 요소는 시스템의 다른 섹션에 모순되는 데이터를 전달하는 자주 간과되는 동작을 표시할 수 있습니다. 그렇다면 비잔틴 장군 문제는 무엇입니까? 비잔틴 장군 문제는 이러한 유형의 실패를 처리하는 문제를 추상적으로 표현한 것입니다.

비잔틴 장군 문제는 분산된 당사자가 신뢰할 수 있는 중앙 당사자의 도움 없이 합의에 도달하는 것이 얼마나 어려운지를 설명하는 게임 이론 문제입니다. 아무도 다른 구성원의 신원을 확인할 수 없는 상황에서 네트워크 구성원이 특정 현실에 대해 어떻게 동의할 수 있습니까?

게임 이론은 경쟁 행위자와 함께하는 사회적 사건에 대해 생각하기 위한 프레임워크입니다. 전략적 환경에서 게임 이론은 경쟁 참가자 간의 사회적 상황을 파악하고 자율적이고 경쟁적인 에이전트의 최적의 의사 결정을 생성합니다.

비잔틴 장군은 게임 이론의 비유를 기반으로 합니다. 문제는 여러 장군들이 비잔티움을 포위한다는 것입니다. 그들은 도시를 포위했지만 그룹으로 공격할 때를 결정해야 합니다. 모든 장군이 동시에 공격하면 승리합니다. 그러나 공격하면 잃게 됩니다.

그들이 보내거나 받는 모든 편지는 비잔티움의 방어자들에 의해 가로채거나 기만적으로 보내질 수 있기 때문에 장군들은 서로 안전한 통신 채널이 없습니다. 장군은 동시 공격을 어떻게 조정할 수 있습니까?

이 기사는 블록체인의 비잔틴 결함이 무엇인지, 비잔틴 장군 문제를 해결하는 방법을 설명하는 것을 목표로 합니다.

연구 논문

"The Byzantine Generals Problem", Leslie Lamport, Robert Shostak 및 Marshall Pease의 연구 기사는 1982년에 출판되었습니다. 이 문제의 중요성은 시작 페이지에서 분명합니다. 항공 우주국(NASA), 탄도 미사일 방어 시스템 사령부(Balistic Missile Defense Systems Command) 및 육군 연구실(Army Research Office)이 모두 연구 자금을 지원했습니다.

비잔틴 장군 문제는 1982년 이전에 컴퓨터 과학에서 연구되었지만, 이것은 이를 병렬 및 제안된 솔루션으로 번역하려는 최초의 시도 중 하나였습니다. 다음 비유는 비잔틴 장군 문제를 보여줍니다. 비잔틴 군대의 여러 사단은 전쟁에 대비하여 적의 도시 바로 외곽에 주둔하고 있습니다. 다양한 장군들이 소통할 수 있는 유일한 방법은 메신저입니다. 그들은 행동 방침에 동의해야 합니다.

그러나 충성스러운 장군이 한 가지 행동 방침을 결정하지 못하도록 하려는 특정 장군이 배신자라고 가정해야 합니다. 소수의 반역자들이 통신을 방해하지 못하도록 하려면 알고리즘이 필요합니다.

비잔틴 장군의 문제를 해결하려면 충성스러운 장군이 계획에 동의하고(합의라고 함) 이를 수행(조정이라고 함)할 안전한 수단이 필요합니다. 비잔틴 장군 문제를 해결하는 것은 어려운 작업이지만 이제 우리는 근본적인 문제를 더 잘 이해합니다. 예에서 알 수 있듯이 개념이 군사 통신에 적용될 수 있다는 점에 유의하는 것이 중요합니다.

그러나 이 문제는 군용 응용 프로그램에 사용되는 시스템뿐만 아니라 모든 유형의 컴퓨터 시스템에 영향을 미칩니다. 분산된 노드 그룹(예:컴퓨터 또는 기타 물리적 장치)이 안정적인 통신을 달성해야 하는 경우 비잔틴 장군 문제를 해결해야 합니다.

BFT(비잔틴 내결함성) 이해

분산 컴퓨터 시스템이 실패하는 데에는 몇 가지 이유가 있습니다. 위의 군사 시나리오에서 비잔틴의 실패는 본질적으로 충성스러운 장군 간의 통신을 방해하려는 반역자입니다.

실제 컴퓨터 시스템에 적용될 때 소프트웨어 결함, 하드웨어 오작동 또는 악의적인 공격일 수 있습니다. 다시 말해, 비잔틴의 실패가 항상 나쁜 행위자의 잘 조정된 노력의 결과일 필요는 없습니다. 노드가 분산 네트워크에서 합의에 도달하는 것을 방해하는 어려움이 있을 수 있습니다.

다른 관찰자에게 다양한 증상을 나타내는 시스템 오류를 비잔틴 오류라고 합니다. 여기에는 노드가 나타낼 수 있는 동작 유형에 대한 제약 및 가정이 포함되어 있지 않습니다(예:노드는 정직한 액터로 가장하면서 임의의 데이터를 생성할 수 있음).

모든 분산 컴퓨터 시스템에서 비잔틴 오류는 거의 피할 수 없습니다.

정전이 발생하여 모든 노드가 동시에 오프라인 상태가 된다고 가정해 보겠습니다. 이제 네트워크가 여전히 작동하고 안정적인 통신을 유지할 수 있는지에 대한 질문이 생깁니다. 아니면 시스템 전체가 작동을 멈추거나 갑자기 공격에 노출됩니까?

합리적으로 안전한 네트워크에서는 몇 개의 오프라인 노드만큼 사소한 것은 네트워크에 눈에 띄는 영향을 미치지 않습니다. 비잔틴 내결함성은 이러한 조건을 방어하는 능력입니다. 더 많은 비잔틴 장애를 견딜 수 있는 네트워크는 허용 오차가 더 높다고 하며, 이는 네트워크가 그렇지 않은 네트워크보다 더 안전함을 의미합니다.

다양한 시스템에서 비잔틴 단층의 실제 발생률과 분류는 방대하고 도전적인 주제입니다. 그러나 비잔틴 내결함성의 공식 정의가 나오는 방식으로 지정할 수 있습니다.

비잔틴 결함이 가장 심각하고 수정하기 어렵다는 점은 주목할 가치가 있습니다. 비잔틴 내결함성은 원자력 발전소, 항공 엔진 시스템 및 수많은 센서의 결과에 따라 동작이 달라지는 거의 모든 시스템에 필요합니다.

분산 시스템의 비잔틴 장군 문제

분권화된 시스템만이 비잔틴 장군 문제에 취약합니다. 신뢰할 수 있는 정보 소스가 부족하고 다른 네트워크 사용자로부터 얻은 정보를 확인할 방법이 없기 때문입니다. 중앙 집중식 시스템에서 기관은 네트워크 전반에 걸쳐 잘못된 정보나 사기 정보가 확산되는 것을 방지하면서 정확한 정보를 전파할 수 있습니다.

예를 들어, 전통적인 금융 시스템에서 은행은 고객에게 정확한 잔액과 거래 내역을 제공하는 것으로 신뢰를 받았습니다. 은행이 소비자를 기만하거나 오도하려는 경우 중앙 은행이나 정부는 신뢰를 회복할 권한이 있습니다.

비잔티움의 장군들의 딜레마는 일관되게 진실의 확립을 필요로 하며, 중앙집권화된 시스템으로는 해결되지 않습니다. 대신 그들은 문제에 전혀 직면하지 않기로 선택하고 신뢰성보다 효율성을 선택합니다. 반면에 중앙 집중식 시스템은 중앙 기관이 손상되기 쉽습니다.

비잔틴 장군 문제 예

비잔틴 장군 문제는 돈으로 예시됩니다. 어떻게 사회가 모든 구성원이 신뢰하고 동의할 수 있는 통화 시스템을 구축할 수 있습니까? 사회는 대부분의 역사에서 귀금속이나 조개껍데기나 유리구슬과 같은 기타 희귀품을 화폐로 사용해 왔습니다. Gold는 국제 무역과 같은 분산 시스템에서 신뢰와 인정을 받았기 때문에 비잔틴 장군 문제를 해결했습니다.

금의 무게와 순도는 지금까지 신뢰할 수 없었습니다. 비잔틴 장군 문제를 완전히 해결하지 못하는 금의 실패는 신뢰할 수 있는 중앙 기관, 주로 정부에 의해 화폐의 설립 및 발행으로 이어졌습니다. 정부는 통화의 무게와 순도에 대한 확신을 심어주기 위해 박하를 독점했습니다. 따라서 비잔틴 실패는 중앙 집중식 시스템으로 해결되지 않았습니다.

더욱이 신뢰할 수 있는 중앙 화폐 당국인 정부는 그 신뢰를 압수, 저하 또는 수정함으로써 그 신뢰를 배신했습니다. 비잔틴 장군 문제를 해결하려면 통화가 검증 가능하고 위조 방지되며 신뢰할 수 없어야 합니다. 이러한 성과는 비트코인(BTC)이 등장할 때까지 이루어지지 않았습니다.

비잔틴 장군 문제를 어떻게 해결합니까?

내결함성 메커니즘을 사용하는 프로토콜을 구현하여 문제를 해결할 수 있습니다. 불확실성에 직면했을 때 장군들 사이에서 절차를 채택하는 것이 가장 좋은 선택 방법입니다.

결과적으로 아무것도 보장할 수 없기 때문에 결정적이기보다는 확률적입니다. 피어 간의 직접적인 의사 소통이 적고 각자 독립적인 경우가 바로 그렇습니다. 각 장군은 다른 위치에 있기 때문에 물리적으로 분리되어 있습니다.

블록체인:비잔틴 일반 문제에 대한 솔루션

비잔틴의 일반적인 문제는 블록체인의 도움으로 해결할 수 있습니다. 예측할 수 없는 세상에서 사람들에게 안전하고 안전하게 통신할 수 있는 방법을 제공하는 것입니다. 실제 세계에서 대부분의 거래는 서로를 모르거나 신뢰하지 않는 낯선 사람들 사이에서 발생합니다.

각 개인은 장군과 같이 자신의 위치를 ​​공격하거나 방어하라는 명령을 기다리고 있습니다. 귀하를 대신하여 공격을 중재할 중개인이 없습니다. 결정을 내리는 것은 전적으로 귀하의 몫입니다.

블록체인은 모든 개인을 신뢰할 필요 없이 신뢰할 수 있는 계층을 생성합니다. 이것은 기록되기 전에 진실에 동의하기 위해 함께 모이는 노드 네트워크에 의해 달성됩니다. 장군이 의사소통의 내용에 대해 확신이 없으면 다른 장군들은 그들이 사실이라고 알고 있는 것을 사용하여 확인할 수 있습니다.

한 노드가 이를 기록하면 복사본이 네트워크의 다른 모든 노드로 전송되어 정보가 중복됩니다. PoW 합의 알고리즘은 이 목표를 달성하기 위해 설계되었습니다. 정보가 항상 정확하지 않기 때문에 나쁜 행위자는 여전히 시스템을 게임하려고 시도합니다.

이 시스템은 일반 대중이 활용하도록 설계되었기 때문에 블록체인에 내결함성 메커니즘과 보안이 마련되어 있습니다. 이 시나리오에서는 메시지를 변경할 수 없도록 하기 위해 암호화가 필요했습니다.

시스템은 통신을 보낸 것으로 알려진 사람이 보낸 것이라는 증거로 신원을 확인하기 위해 통신에 디지털 서명을 하기 위한 키 쌍을 제공합니다. 메시지가 인증되면 투명성과 책임의 역사적 증거를 위해 기록됩니다.

비트코인은 비잔틴 장군 문제를 어떻게 해결합니까?

화폐와 관련하여 비트코인은 비잔틴 장군 문제에 대한 최초의 실현된 솔루션이었습니다. 비트코인 이전의 많은 계획과 프로젝트가 정부로부터 독립적인 돈을 만들려고 시도했지만 모두 어떤 식으로든 실패했습니다.

비트코인은 소유권을 처리하고 화폐 시스템으로 이중 지출을 방지할 수단이 필요합니다. 비트코인은 신뢰할 수 없는 방식으로 이를 수행하기 위해 모든 거래의 기록을 저장하는 블록체인 또는 공개 분산 원장을 사용합니다. 블록체인은 비잔틴 장군의 비유에서 모든 당사자가 동의해야 하는 진실입니다.

비트코인 네트워크의 모든 노드가 어떤 거래가 언제 어떤 순서로 발생했는지에 대해 동의할 수 있다면, 그들은 비트코인 ​​소유권을 확인하고 중앙 집중식 기관 없이도 작동하는 신뢰할 수 없는 통화 시스템을 만들 수 있습니다.

작업 증명(PoW) 및 비잔틴 장군 문제

Satoshi Nakamoto는 2008년 10월에 첫 번째 Bitcoin 백서를 발표했습니다. 이 문서에서는 "Byzantine generals problem"이라는 이름을 사용하지 않았지만 Nakamoto는 2009년 1월 도입으로 구현될 솔루션을 효과적으로 제공했습니다. 비트코인 네트워크.

Satoshi는 디지털 전자 네트워크의 일반적인 비잔틴 문제에 답하기 위해 암호 보안 및 공개 키 암호화를 사용하는 수단을 고안했습니다. 데이터 변조를 방지하기 위해 암호화 보안은 인코딩 프로세스인 해싱을 사용합니다. 네트워크 사용자의 신원은 공개 키 암호화를 통해 확인됩니다.

트랜잭션은 암호화 보안에서 해시 값으로 다른 블록과 연결된 블록에서 보호됩니다. 모든 해시는 초기 블록인 모든 해시의 루트까지 추적할 수 있습니다. 블록체인은 머클 트리를 사용하여 제네시스 블록에서 나온 해시를 확인하는 시스템입니다.

제네시스 블록이라고도 하는 첫 번째 블록에서 오는 네트워크의 모든 블록은 유효합니다. 채굴자들은 PoW 합의 방법의 일부로 블록을 생성하기 위해 암호화 퍼즐을 풀기 위해 다른 채굴자들과 경쟁하는 블록을 검증합니다.

비트코인은 작업 증명 합의 메커니즘을 사용하여 비잔틴 장군 문제를 극복하고 블록체인에 대한 명확하고 객관적인 규칙을 수립했습니다. 블록이라고 하는 블록체인에 정보를 추가하려면 네트워크 구성원이 블록을 만들기 위해 많은 노력을 기울였다는 증거를 게시해야 합니다. 이 작업은 제작자에게 높은 비용을 요구하므로 정확한 정보를 공유하도록 장려합니다.

규칙이 객관적이기 때문에 비트코인 ​​네트워크의 정보에 대해 이견이나 변조가 있을 수 없습니다. 누가 새로운 비트코인을 만들 수 있는지 선택하는 시스템과 어떤 거래가 유효하거나 무효인지를 규제하는 법률이 모두 목표입니다. 또한 추가된 블록은 블록체인에서 제거하는 것이 불가능하므로 비트코인의 역사를 변경할 수 없습니다.

따라서 비잔틴 장군 문제는 사토시의 블록체인 버전에서 장군과 비슷한 광부들에 의해 해결됩니다. 각 노드는 장군에게 전달되는 메시지와 유사한 트랜잭션 검증을 담당합니다. 메시지를 훔치거나 네트워크에 해를 끼치려는 악의적 행위자(예:해커)는 적으로 간주될 수 있습니다.

해커(중간자)는 메시지가 암호화 보안을 사용하기 때문에 블록체인을 쉽게 공격할 수 없습니다. 조작을 방지하기 위해 메시지 또는 트랜잭션은 블록으로 묶이고 추가 보호를 위해 해시됩니다. Satoshi는 블록을 검증하기 위해 광부를 경쟁에 참여시킴으로써 상황을 더 확률적으로 만듭니다. 단일 광부가 유효성 검사를 독점하여 모든 보상을 받을 수 없기 때문에 이는 더 탈중앙화됩니다.

대신 채굴자들은 해시율로 알려진 계산 능력을 사용하여 수수께끼를 풀기 위해 경쟁해야 합니다. 채굴자의 해시율이 높을수록 퍼즐을 풀 확률이 높아집니다. 퍼즐을 푼 광부가 네트워크에 솔루션을 방송하면 다른 모든 광부는 값을 검증하거나 오류가 있는 경우 값을 거부해야 합니다. 난이도 목표는 올바른 값보다 작거나 같아야 하는 값입니다.

비트코인 네트워크의 구성원은 블록체인의 상태와 블록체인의 모든 거래에 대해 언제든지 동의할 수 있습니다. 각 노드는 작업 증명 기준에 따라 블록이 유효한지, 추가 기준에 따라 트랜잭션이 유효한지 확인합니다.

네트워크 구성원이 오해의 소지가 있는 정보를 브로드캐스트하려고 하면 네트워크의 모든 노드가 이를 객관적으로 유효하지 않은 것으로 감지하고 무시합니다. 각 노드가 네트워크의 모든 정보를 자체적으로 확인할 수 있으므로 비트코인 ​​네트워크의 다른 구성원을 신뢰할 필요가 없습니다.

블록체인도 탈중앙화되어 시스템에 단일 실패 지점이 없어야 합니다. 블록은 네트워크를 통해 복제되는 분산 데이터베이스에 저장됩니다. 이러한 이중화는 내결함성에도 도움이 되며 오작동하는 단일 컴퓨터가 전체 시스템을 중단시키지 않도록 합니다. 이것은 적에게 기습을 당할 경우에 대비하여 많은 전령을 보유하는 것과 같습니다. 메시지는 다른 메신저에 의해 복사되기 때문에 손실되지 않습니다.

새로운 솔루션:지분 증명(PoS) 및 위임 지분 증명(DPoS)

PoS는 비잔틴 장군 문제를 해결하려는 또 다른 블록체인 합의 메커니즘입니다. 2012년에 처음 배치되었습니다. PoS 기반 네트워크는 PoW 기반 네트워크와 달리 암호화폐 채굴에 의존하지 않습니다. 대신 스테이킹이라는 기술이 수행됩니다.

사용자(검증인이라고 함)는 이 시스템의 자금을 보유합니다. 블록체인에서 더 많은 코인을 소유한 검증자는 더 많은 블록을 검증하고 더 많은 보상을 받을 수 있습니다. 잘못된 거래를 확인하려는 사용자는 스테이킹된 현금을 잃을 위험이 있습니다.

사용자는 PoW 기반 네트워크에서 채굴을 위한 특수 기계가 필요 없이 일반 가정용 컴퓨터를 사용하여 코인을 스테이킹할 수 있습니다. 여러 PoS 기반 네트워크는 이중 지출 공격 및 비잔틴 실패로 인한 기타 잠재적인 보안 취약성을 방지하는 방법을 만들었습니다. 예를 들어, Ethereum 2.0(Serenity)은 Casper PoS 알고리즘을 사용합니다. 이 알고리즘은 블록이 생성되기 전에 2/3의 노드가 블록에 동의해야 합니다.

위임된 지분 증명은 지분 증명과 유사하게 작동하는 블록체인 합의 기술이며 2014년에 처음 개발되었습니다. 둘 다 사용자가 온라인에 돈을 투자해야 합니다. DPoS 기반 네트워크에서 소수의 사용자(대리인이라고 함)만 트랜잭션을 확인하고 블록을 생성할 수 있습니다.

일반적으로 모든 사용자는 블록체인의 코인을 스테이킹하여 대리인 후보를 지지하는 투표를 할 수 있습니다. 블록 보상은 일반적으로 선출된 노드가 유권자에게 대의원 선거에 베팅한 금액에 비례하여 분배됩니다.

노드는 PoW 또는 PoS보다 DPoS를 사용하여 훨씬 더 빠르게 합의에 도달할 수 있습니다. 규모에서 이는 트랜잭션을 훨씬 더 빠르게 처리할 수 있음을 의미합니다. DPoS를 사용하여 높은 수준의 비잔틴 내결함성을 유지하는 것은 경우에 따라 절충으로 인해 문제가 될 수 있습니다.

네트워크를 안전하게 유지할 책임이 있는 노드가 적기 때문에 노드가 다수의 이익에 반하는 음모를 꾸미는 것이 잠재적으로 더 쉽습니다. 반면에 DPoS 기반 네트워크는 대리인이 자신의 결정에 대해 책임을 지도록 대의원 선거를 정기적으로 실시하여 이러한 시나리오를 피하려고 합니다.


블록체인
  1. 블록체인
  2. 비트코인
  3. 이더 리움
  4. 디지털 화폐 교환
  5. 채광