본문으로 이동

데이터 가용성 위원회(DAC) 위험

DAC 증언, q-of-n 수용 규칙, 실제 데이터 보유와 검색, 상관된 장애 영역, 키 교체, 보존, 대체 경로와 출금 위험을 검증 우선으로 설명하는 안내서입니다.

업데이트

교육 목적으로만 제공되며 투자 또는 보안 자문이 아닙니다. DAC 인증서가 계약 규칙을 충족하더라도 데이터 보관, 검색, 거버넌스, 대체 경로, 복구 또는 출금은 실패할 수 있습니다.

직접 답변

데이터 가용성 위원회는 범위가 한정된 구성원 집합으로, 그 서명이나 증언은 오프체인 데이터 가용성 주장에 대한 프로토콜의 수용 규칙을 충족할 수 있습니다. 인증서가 증명하는 것은 설정된 키셋과 임계치가 해당 규칙에 따라 특정 서명 대상을 받아들였다는 사실뿐입니다. 모든 서명자가 완전한 바이트를 가져왔거나 내구성 있는 사본을 보존했거나 현재 이용자에게 제공하거나 실행을 검증했거나 결제를 완결했다는 사실을 독립적으로 증명하지 않습니다.

안전성과 활성성은 다릅니다. 계약이 q-of-n 서명을 받아들이면 다른 검사가 막지 않는 한 유효한 키 q개를 장악하여 이용할 수 없는 객체도 수용 규칙을 충족시킬 수 있습니다. 서명할 의사가 있고 연결 가능한 구성원이 q명보다 적으면 일반적으로 새 인증서를 만들 수 없으므로 업데이트가 멈추거나 문서화된 대체 경로를 사용합니다. 실제 복구에는 정직한 서명 전 검사, 독립 사본, 보존 기간, 제공 용량, 키와 거버넌스 이력, 실행 가능한 재구성과 출금 소프트웨어도 필요합니다.

작동 방식

  1. 배포를 고정합니다. 체인, 프로토콜 모드와 버전, 결제 및 가용성 검증 계약, 배치와 데이터 객체, 인코딩, 커밋먼트, 키셋, 임계치 q, 구성원 수 n, 필수 서명자, 활성화, 만료, 취소와 거버넌스 권한을 특정합니다.
  2. 정확한 서명 주장과 수용 로직을 재구성합니다. 도메인, 체인 및 계약 결합, 배치 식별자, 커밋먼트 또는 상태 루트, 만료, 서명자 비트맵 또는 집계, 재전송 방지와 계약이 실제로 수행하는 임계치 계산을 검증합니다. 구성원 로고나 API 응답은 수용 규칙이 아닙니다.
  3. 모든 구성원이 서명 전에 완전한 객체를 가져와 커밋먼트와 인코딩을 검증하고 디코딩한 뒤, 독립적인 상태 도출이나 이용자 출금에 필요한 데이터를 보존하도록 요구합니다. 구성원이 무엇을 증언하는지, 프로토콜이 이러한 검사가 수행됐음을 증명할 수 있는지 기록합니다.
  4. 이름을 세는 대신 독립된 장애 영역을 파악합니다. 법인, 실질 지배, 클라우드 계정과 리전, DNS와 네트워크, 소프트웨어와 데이터베이스 구성, 키 보관, 스토리지 백엔드, 운영 및 관할권을 식별합니다. 하나의 제어 영역 뒤에 있는 미러나 엔드포인트는 독립된 구성원이 아닙니다.
  5. 보유와 검색을 시험합니다. 운영자 API를 거치지 않고 여러 구성원으로부터 최근 및 과거 배치를 가져와 해시와 루트를 검증하고 상태나 출금 증명을 재구성하며 보존 기간과 송신 용량을 측정합니다. 인증서 생성, 현재 검색, 실행 유효성, 합의 완결성과 장기 보관 내구성을 구분합니다.
  6. 수명 주기와 복구를 연습합니다. 구성원 및 키 교체, 과거 키셋, 만료와 취소, 임계치 미만의 가용 구성원, 임계치 키 침해, 선택적 제공, 운영자 중단, 전체 데이터 게시로 전환, 동결 또는 탈출 모드, 강제 포함, 독립 보관소와 실제 출금에 필요한 Gas 및 시간을 점검합니다.
  7. 수용된 서명자 비트맵, 인증서 지연, 검색 성공률, 바이트 무결성, 저장 기간, 키셋과 임계치 변경, 업그레이드, 일시 정지 및 대체 경로 용량을 모니터링합니다. 인증서, 데이터와 계약 상태를 보관하고, 인증서는 수용되지만 독립 검색이나 복구가 더 이상 작동하지 않으면 익스포저 추가를 중단합니다.

예시

  • 임계치 활성성과 안전성은 같지 않습니다. 단순화한 5-of-7 위원회에서 구성원 두 명이 이용 불가능해도 서명자 5명이 남아 새 인증서를 만들 수 있습니다. 세 명이 이용 불가능하면 4명만 남고 4 < 5이므로 문서화된 대체 경로가 적용되지 않는 한 인증서 생성이 중단됩니다. 반대로 수용되는 키 5개를 장악하면 임계치 규칙을 충족할 수 있습니다. 그래도 인증서는 현재 바이트를 검색할 수 있는지 또는 실행이 유효한지를 증명하지 않습니다.
  • 독립 온라인 모형. IID 예시 모형으로만 7명의 각 구성원이 0.95의 확률로 독립적으로 이용 가능하고 인증서에 최소 5명이 필요하다고 가정합니다. 그러면 P(quorum) = sum(C(7,k) * 0.95^k * 0.05^(7-k), k=5..7) = 0.9962429570이고 모형상 중단 확률은 1 - 0.9962429570 = 0.0037570430입니다. 클라우드, 소프트웨어, 운영자, 법률 또는 키 의존성을 공유하면 이 이항 추정은 무효입니다.
  • 저장 사본과 제공 능력은 별개입니다. 한 배치가 120 MB라고 합시다. 완전하고 독립적인 사본 7개는 120 * 7 = 840 MB를 저장합니다. 실제로 세 구성원만 영구 저장했다면 키 5개가 서명했더라도 저장량은 120 * 3 = 360 MB입니다. 객체를 100 clients에게 한 번씩 제공하면 120 * 100 = 12,000 MB를 전송하므로, 서명 수는 사본 수도 송신 용량 척도도 아닙니다.
  • 재구성 임계치. 단순화한 객체에 1,024 records가 있고 이를 16 chunks로 나누며 각 청크가 64 records, 정해진 복구 임계치가 12 chunks라고 합시다. 청크 11개에서는 11 * 64 = 704 records를 볼 수 있지만 11 < 12이므로 이 규칙에서는 객체를 재구성할 수 없습니다. 유효한 위원회 인증서는 누락된 청크를 대신하거나 복구 임계치를 바꾸지 못합니다.

위험

  • 잘못된 체인, 계약, 배포, 배치 또는 프로토콜 버전을 검사합니다.
  • 잘못된 서명 주장, 도메인, 커밋먼트 또는 만료를 재구성합니다.
  • 체인, 계약, 버전 또는 과거 키셋을 넘나드는 재전송을 수용합니다.
  • 유효하지 않거나 오래됐거나 만료 또는 취소된 키셋을 사용합니다.
  • q, n, 필수 서명자, 비트맵 또는 집계 서명을 잘못 해석합니다.
  • 서명자 또는 계약 검증 구현의 결함을 악용당합니다.
  • 완전한 데이터 검색, 무결성 검사와 영구 저장 전에 서명합니다.
  • 불완전하거나 형식 또는 인코딩이 잘못된 데이터를 받아들입니다.
  • 임계치 키 침해 또는 담합으로 안전성을 잃습니다.
  • 서명 가능한 구성원이 임계치 미만이 되어 활성성을 잃습니다.
  • 상관된 법인, 클라우드, 리전 또는 운영자를 독립적이라고 셉니다.
  • DNS, TLS, 소프트웨어, 데이터베이스 또는 스토리지 제어 영역을 공유합니다.
  • 이클립스 공격, 선택적 제공 또는 비공개 게이트웨이 의존을 겪습니다.
  • 서명 후 또는 출금 기간이 끝나기 전에 데이터를 삭제하거나 프루닝합니다.
  • 구성원 변동이나 키 교체로 과거 검색이 중단됩니다.
  • 거버넌스가 구성원을 교체하거나 임계치를 낮추거나 지연을 우회합니다.
  • 오래됐거나 안전하지 않거나 재구성된 결제 커밋먼트를 참조합니다.
  • 유효성 증명 또는 완결된 루트를 현재 데이터 검색으로 간주합니다.
  • 대체 경로, 동결, 강제 포함 또는 출금이 실행 불가능하다는 사실을 발견합니다.
  • 저장, 송신, 복구, 대체 경로, 수수료와 용량 비용을 과소평가합니다.

흔한 오해

  • 위원회 구성원이 많으면 독립된 장애 영역도 자동으로 많아집니다.
  • q개 서명은 공개 검색이 가능한 내구성 있는 전체 사본이 q개 존재함을 증명합니다.
  • 유효성 증명이 있으면 DAC 데이터 가용성을 검증할 필요가 없습니다.
  • 과거의 유효한 인증서는 현재 검색과 영구 보관을 보장합니다.
  • 정직하거나 공식적인 구성원 한 명이면 모든 이용자가 언제나 출금할 수 있습니다.

관련 주제

출처

탐색

위키 검색...