제퍼넷 로고

조정 문제를 통한 엔지니어링 보안

시간

최근 비트코인 ​​커뮤니티의 Core 파벌과 Unlimited 파벌 사이에 작은 논쟁이 있었습니다. 이 논쟁은 아마도 동일한 주제에 대한 논의가 50번째를 의미하지만, 그럼에도 불구하고 블록체인이 어떻게 작동하는지에 대한 매우 미묘한 철학적 요점을 강조한다는 점에서 흥미롭습니다. 일하다.

Unlimited를 선호하는 채굴 풀인 ViaBTC, 트위트 된 “해시파워는 법이다”는 채굴자가 비트코인 ​​거버넌스에서 매우 큰 역할을 갖고 있고 가져야 한다고 믿는 Unlimited 측의 일반적인 논점입니다. 비트코인의 성공에는 크고 비유동적인 재정적 인센티브가 있습니다. Greg Maxwell(코어 측) 대답 “비트코인의 보안은 해시 파워가 법이 아니기 때문에 정확하게 작동합니다.”

핵심 주장은 채굴자는 비트코인 ​​시스템에서 거래 순서를 보호하는 제한된 역할만 가지며 블록 크기 제한 및 기타 블록 유효성 규칙을 포함하여 다른 것을 결정할 수 있는 권한을 가져서는 안 된다는 것입니다. 이러한 제약은 사용자가 실행하는 전체 노드에 의해 시행됩니다. 채굴자가 사용자 노드가 시행하는 규칙과 다른 규칙 집합에 따라 블록을 생성하기 시작하면 사용자 노드는 10% 또는 60%에 관계없이 단순히 블록을 거부합니다. 해시파워의 99%가 그들 뒤에 있습니다. 이에 대해 Unlimited는 종종 "해시 파워의 90%가 블록 제한을 늘리는 새로운 체인 뒤에 있고, 10% 해시 파워를 가진 기존 체인이 이제 난이도가 재조정될 때까지 XNUMX개월 동안 XNUMX배 더 느리다면, 어떻게 될까요?"와 같은 답변을 자주 합니다. 정말 새 체인을 수락하도록 클라이언트를 업데이트하지 않습니까?”


많은 사람들이 자주 논쟁 반대 실제 자산이나 거래상대방 위험이 있는 모든 것과 관련된 애플리케이션에 퍼블릭 블록체인을 사용합니다. 비판은 퍼블릭 블록체인에서 그러한 사용 사례를 구현하는 데 아무런 의미가 없다고 말하는 총체적이거나, 부분적으로, 저장하면 이점이 있을 수 있다고 말합니다. 데이터 퍼블릭 체인에서는 비즈니스 로직 오프체인으로 실행되어야 합니다.

일반적으로 사용되는 주장은 이러한 애플리케이션에는 신뢰 지점이 이미 존재한다는 것입니다. 즉, 온체인 허가형 자산을 뒷받침하는 물리적 자산을 소유한 사람이 있고 누군가가 항상 자산을 가지고 도망가거나 강제로 동결되도록 선택할 수 있다는 것입니다. 따라서 블록체인에서 이러한 자산의 디지털 표현을 관리하는 것은 창문이 열려 있을 때 집의 강화된 강철 문에 대한 비용을 지불하는 것과 같습니다. 대신, 이러한 시스템은 프라이빗 체인이나 전통적인 서버 기반 솔루션을 사용해야 하며 아마도 감사 가능성을 향상시키기 위해 암호화의 비트와 조각을 추가하여 모든 것을 블록체인에 배치하는 데 따른 비효율성과 비용을 절약해야 합니다.


위의 주장은 둘 다 순수한 형태에서 결함이 있으며 비슷한 방식으로 결함이 있습니다. 그러는 동안 이론적으로 가능 채굴자들은 해시파워의 99%를 새로운 규칙이 있는 체인으로 전환할 수 있습니다(이것이 논란의 여지가 없는 나쁜 예를 만들기 위해 블록 보상을 늘리고 있다고 가정). 산란 캠프 이론적으로 자산 기반 통화의 중앙 관리자가 하나의 디지털 토큰을 존중하는 것을 중단하고 하나의 특정 계정을 제외하고 기존 토큰과 동일한 잔액으로 새 디지털 토큰을 만드는 것도 이론적으로 가능합니다. 잔액을 0으로 줄이고 실제로 새 토큰을 존중하기 시작합니다. 그 일은 둘 다 꽤 하기 힘든 일이야.

첫 번째 경우, 사용자는 기존 체인에 문제가 있다는 사실을 깨닫고 채굴자가 현재 채굴 중인 새 체인으로 이동하여 새 규칙을 수용하는 소프트웨어를 다운로드해야 한다는 데 동의해야 합니다. 두 번째 경우에는 원래 디지털 토큰에 의존하는 모든 클라이언트와 애플리케이션이 중단되고, 사용자는 새로운 디지털 토큰으로 전환하기 위해 클라이언트를 업데이트해야 하며, 외부 세계를 살펴보고 확인할 수 있는 능력이 없는 스마트 계약이 필요합니다. 업데이트해야 완전히 중단됩니다. 이 모든 과정에서 전환을 반대하는 사람들은 결국 클라이언트를 업데이트해서는 안 된다고 사람들을 설득하기 위해 두려움과 불확실성, 의심 캠페인을 만들거나 클라이언트를 일부 업데이트해야 한다고 설득할 수 있습니다. 제삼 일련의 규칙(예: 작업 증명 변경)으로 인해 스위치 구현이 더욱 어려워집니다.

따라서 두 경우 모두 이론적으로 상태 A에서 상태 B로의 전환을 강제할 수 있는 중앙집권적 또는 준중앙집권적 당사자가 있다고 할지라도, 상태 B는 사용자에게는 동의하지 않지만 중앙화된 당사자보다는 선호됩니다. 어려운 조정 문제를 돌파하다. 조정 문제는 사회 곳곳에 있으며 종종 나쁜 일입니다. 영어가 매우 복잡하고 불규칙한 철자 체계를 없애고 음성 체계를 만들거나 미국이 미터법으로 전환한다면 대부분의 사람들에게는 더 나을 것입니다. 아니면 즉시 할 수 있다면 경기 침체가 발생할 경우 모든 가격과 임금을 10% 인하합니다., 실제로 이를 위해서는 모든 사람이 동시에 전환에 동의해야 하며 이는 종종 매우 어렵습니다.

그러나 블록체인 애플리케이션을 사용하면 우리는 다른 작업을 수행합니다. 우리는 조정 문제를 우리에게 유리하게 이용하고 있습니다, 조정 문제로 인해 발생하는 마찰을 중앙화된 행위자의 불법 행위에 대한 보루로 사용합니다. 우리는 속성 X가 있는 시스템을 구축할 수 있으며, X에서 not-X로 규칙을 변경하려면 많은 사람들이 동시에 소프트웨어 업데이트에 동의해야 하기 때문에 X 속성을 높은 수준으로 보존할 것이라고 보장할 수 있습니다. . 설령 변화를 강요할 수 있는 배우가 있다 하더라도 그렇게 하기는 어려울 것이다. 이는 블록체인 합의 규칙의 클라이언트 측 검증을 통해 얻을 수 있는 일종의 보안입니다.

이러한 종류의 보안은 특히 사용자의 분산화에 의존합니다. 전 세계에 단 한 명의 채굴자가 있더라도 그 채굴자가 채굴하는 암호화폐와 PayPal과 같은 중앙 집중식 시스템에는 여전히 차이가 있습니다. 후자의 경우 운영자는 임의로 규칙을 변경하고, 사람들의 돈을 동결하고, 나쁜 서비스를 제공하고, 수수료를 인상하거나 기타 여러 가지 작업을 수행할 수 있으며, 조정 문제는 운영자에게 유리합니다. 상당한 네트워크 효과가 발생하므로 매우 많은 사용자가 더 나은 시스템으로 전환하려면 동시에 동의해야 합니다. 전자의 경우 클라이언트 측 검증은 광부가 가담할 수 있는 많은 장난 시도가 기본적으로 거부되고 이제 조정 문제가 사용자에게 유리하게 작동함을 의미합니다.

위의 인수는 그렇지 않습니다. 스스로, 채굴자가 블록 크기(또는 이더리움의 경우 가스 한도)를 조정하고 결정하는 주요 행위자가 되는 것은 나쁜 생각임을 암시합니다. 그럴 수도 있습니다. 블록 크기/가스 제한의 특정 경우, "조정된 인센티브를 갖춘 조정된 채굴자에 의한 정부"는 이 하나의 특정 정책 매개변수를 결정하기 위한 최적의 접근 방식입니다. 아마도 채굴자가 자신의 권한을 남용할 위험이 선택한 특정 하드 한도가 시장 상황에 매우 부적절할 위험보다 낮기 때문일 것입니다. 한도가 설정된 후 10년이 지나면 그러나 광부별 정부가 하나의 정책 매개변수를 결정하는 가장 좋은 방법이라고 말하는 것은 무리가 없습니다. 다른 매개변수의 경우 (예: 블록 보상) 우리는 채굴자가 제한되도록 하기 위해 클라이언트 측 검증에 의존하고 싶습니다. 이것이 엔지니어링 분산형 기관의 본질입니다. 이는 시스템이 원하는 특정 속성을 계속 충족하도록 보장하기 위해 조정 문제를 전략적으로 사용하는 것입니다.

위의 주장은 신뢰가 필요한 서비스의 경우에도 모든 것을 블록체인에 넣는 것이 항상 최적이라는 것을 의미하지 않습니다. 일반적으로 블록체인에서 더 많은 비즈니스 로직을 실행하면 최소한 어느 정도의 이점을 얻을 수 있지만 효율성이나 개인 정보 보호에 대한 손실보다 훨씬 작은 경우가 많습니다. 그리고 이것은 괜찮습니다. 블록체인은 모든 작업에 가장 적합한 도구는 아닙니다. 위의 주장은 무엇입니까 do 그러나 이는 필요에 따라 많은 중앙 집중식 구성 요소를 포함하는 블록체인 기반 애플리케이션을 구축하는 경우 사용자에게 일반 블록체인 클라이언트를 통해 애플리케이션에 액세스할 수 있는 방법을 제공함으로써 신뢰 최소화에 상당한 추가 이점을 얻을 수 있다는 것을 의미합니다( 예를 들어 Ethereum의 경우 개인적으로 제어하는 ​​웹 인터페이스를 사용하도록 하는 대신 Mist, Parity, Metamask 또는 Status일 수 있습니다.

이론적으로 모든 사용자가 독립적인 "이상적인 풀 노드"를 실행하는 경우 사용자 측 검증의 이점이 최적화됩니다. 이 노드는 시스템을 만들 때 모든 사람이 동의한 프로토콜 규칙을 따르는 모든 블록을 수락하고 그렇지 않은 모든 블록을 거부합니다. 아니다. 그러나 실제로 이는 모든 사용자에게 네트워크의 모든 사람이 실행하는 모든 거래를 처리하도록 요청하는 것을 포함하며, 이는 특히 개발도상국에서 스마트폰 사용자의 급속한 성장을 염두에 두고 명백히 불가능한 일입니다.

여기에는 두 가지 방법이 있습니다. 첫 번째는 우리가 그것을 깨달을 수 있다는 것입니다. 최적의 위의 주장에 따르면 모든 사람이 풀 노드를 운영한다는 것은 확실히 그렇지 않습니다. 필수. 틀림없이, 최대 용량으로 실행되는 모든 주요 블록체인은 이미 "일반인"이 전체 노드를 실행하기 위해 하드 드라이브 공간의 5분의 1을 소비하는 것이 타당하지 않은 지점에 도달했을 것입니다. 기업. 이들의 수가 상당히 많고 다양한 배경을 갖고 있는 한, 이들 사용자를 공모하게 만드는 조정 문제는 여전히 매우 어려울 것입니다.

둘째, 우리는 의지할 수 있습니다. 강력한 라이트 클라이언트 기술.

블록체인 시스템에는 일반적으로 가능한 두 가지 수준의 "라이트 클라이언트"가 있습니다. 첫 번째, 약한 유형의 라이트 클라이언트는 어느 정도 경제적 확신을 가지고 사용자가 대부분의 네트워크에서 지원하는 체인에 있다는 것을 단순히 확신시킵니다. 이는 전체 체인을 확인하는 것보다 훨씬 저렴하게 수행할 수 있습니다. 모든 클라이언트가 해야 할 일은 작업 증명 체계에서 nonce를 확인하거나 증명 지분 체계에서 "상태의 루트 해시가 내가 말한 것과 같다"고 명시한 서명된 인증서를 확인하는 것이기 때문입니다. 아니면 이 인증서를 메인 체인에 게시하여 많은 양의 내 돈을 삭제할 수 있습니다.” 라이트 클라이언트가 루트 해시를 확인하면 Merkle 트리를 사용하여 확인하려는 특정 데이터 조각을 확인할 수 있습니다.

보세요, 그것은 머클 트리입니다!

두 번째 수준은 "거의 완전히 검증된" 라이트 클라이언트입니다. 이런 종류의 클라이언트는 단지 다수가 따르는 체인을 따르려고만 하는 것이 아닙니다. 오히려 모든 규칙을 따르는 체인만 따르려고 시도합니다. 이는 여러 전략을 조합하여 수행됩니다. 가장 간단하게 설명할 수 있는 것은 라이트 클라이언트가 유효하지 않은 블록을 찾고 "사기 증명", 즉 본질적으로 “보세요! 이 블록 여기에 결함이 있습니다!”. 그런 다음 라이트 클라이언트는 블록의 특정 부분을 확인하고 실제로 유효하지 않은지 확인할 수 있습니다.

블록이 유효하지 않은 것으로 확인되면 폐기됩니다. 라이트 클라이언트가 몇 분 동안 특정 블록에 대한 사기 증명을 듣지 못하면 해당 블록이 합법적일 것이라고 가정합니다. 거기에 조금 더 복잡해짐 문제가 데이터가 아닌 경우를 처리하는 데 관여합니다. 나쁜, 오히려 데이터는 누락, 그러나 일반적으로 채굴자나 검증자가 프로토콜 규칙을 위반할 수 있는 모든 가능한 방법을 포착하는 데 매우 가까워지는 것이 가능합니다.

라이트 클라이언트가 일련의 애플리케이션 규칙을 효율적으로 검증할 수 있으려면 해당 규칙은 합의 내에서 실행되어야 합니다. 즉, 해당 규칙은 프로토콜의 일부이거나 프로토콜 내부에서 실행되는 메커니즘의 일부여야 합니다( 스마트 계약과 같습니다). 이는 단순한 데이터 저장이 아닌 데이터 저장과 비즈니스 로직 실행 모두에 블록체인을 사용하는 것을 선호하는 핵심 주장입니다.

이러한 라이트 클라이언트 기술은 네트워크 연결과 네트워크에 있는 다른 라이트 클라이언트 및 어부 수에 대한 가정에 의존한다는 점에서 불완전합니다. 그러나 실제로 그들이 100% 검증인을 위해 100% 작업하는 것이 중요하지 않습니다. 오히려 우리가 원하는 것은 적대적인 채굴자/검증인 카르텔이 사용자 동의 없이 유효하지 않은 블록을 푸시하려는 시도가 많은 사람들에게 큰 골칫거리를 야기하고 궁극적으로 모든 사람이 소프트웨어를 업데이트해야 하는 상황을 만드는 것입니다. 잘못된 체인과 계속 동기화하고 싶습니다. 이것이 만족되는 한 우리는 조정 마찰을 통해 보안이라는 목표를 달성했습니다.

출처: https://vitalik.eth.limo/general/2017/05/08/coordination_problems.html

spot_img

최신 인텔리전스

spot_img