지연 함수를 사용한 검증 가능한 연속 시퀀싱 탐색

이 기사는 기계로 번역되었습니다
원문 표시

리뷰에 응해주신 Switchboard 팀의 Conor, Lin, Swapnil, Taiko 팀의 Cecilia와 Brecht, Alex Obadia, Justin Drake, Artem Kotelskiy, Chainbound 팀에 감사드립니다.

추상적인

분산된 환경에서 시간에 대한 합의를 이루는 것은 어려울 수 있다. 벽시계가 기계들 사이에서 오차가 있을 수 있고, 에이전트가 현지 시간에 대해 거짓말을 할 수 있으며, 일반적으로 악의적인 의도와 동기화되지 않은 시계나 네트워크 지연을 구별하기 어렵다.

이더리움은 약 12초에 1틱의 속도로 똑딱거리는 글로벌 시계로 생각할 수 있습니다. 이 틱 속도는 합의 프로토콜에 의해 소프트하게 적용됩니다. 너무 일찍 또는 너무 늦게 생성된 블록과 증명은 유효하지 않은 것으로 간주됩니다. 하지만 12초보다 낮은 세분성을 달성하기 위해 무엇을 해야 할까요? 시간을 추적하기 위해 항상 합의 프로토콜이 필요할까요?

우리는 신뢰할 수 없는 L2 시퀀서의 맥락에서 이러한 질문을 탐구하고자 합니다. 신뢰할 수 없는 L2 시퀀서는 현재 신뢰할 수 있는 L2 시퀀서가 유지하고 있는 L2 블록 일정을 따를 인센티브가 없으며 수익을 극대화하기 위해 다양한 형태의 타이밍 게임을 할 가능성이 높습니다.

이 글에서는 추가적인 합의, 정직한 다수 가정 또는 이타주의에 의존하지 않고, 회전 리더 메커니즘을 특징으로 하는 분산 롤업에서 시퀀서의 적시성, 안전성 및 비추출 순서를 강제하는 메커니즘을 소개합니다. 이를 위해 세 가지 핵심 기본 요소를 사용합니다.

  1. 클라이언트 측 주문 선호도
  2. 글로벌 12초 틱 시계로서의 이더리움,
  3. 검증 가능한 지연 기능.

마지막으로, 제안자의 타이밍 게임을 줄이는 데 적용할 수 있는 동일한 구조를 기반으로 한 사전 확인을 변형할 수 있는 MEV-Boost의 변형인 MR-MEV-Boost의 사례 연구를 보여드리겠습니다.

이론적 해석

롤업 시퀀서는 L2 트랜잭션을 주문하고(대부분의 경우 실행하고) 가끔 L1에서 L2 상태 루트를 업데이트하는 책임이 있는 엔터티입니다. 현재 중앙 집중식 시퀀서는 이를 구축하는 팀의 평판 담보로부터 혜택을 받아 5가지 속성을 유지합니다.

  • 반응성 : 소프트 커미트먼트/ 사전 확인으로 사용자 거래에 적시에 응답합니다. 이 정의에는 롤업 피어 투 피어 네트워크에서 안전하지 않은 헤드를 적시에 브로드캐스트하는 것이 포함된다는 점을 강조하고 싶습니다.
  • 모호함이 없음(안전성) : L1에서 주문된 배치를 제출할 때 사전 확인 약속을 준수하는 것으로, 궁극적으로 거래의 전체 주문을 결정합니다.
  • 비추출 주문 : 선행 판매나 샌드위치 방식으로 사용자로부터 MEV를 추출하지 않으며, 선행 판매 특권에 대한 뇌물도 받지 않습니다.
  • 활성성 : L1에 배치를 게시하고 정식 롤업 상태를 정기적으로 업데이트합니다.
  • 검열 저항성: 보낸 사람, 콘텐츠 또는 기타 외부 요인에 관계없이 시퀀서가 유효한 거래를 의도적으로 제외하지 않도록 보장합니다.

이 글에서는 허가가 없고 신뢰할 수 없는 환경에서 처음 네 가지 속성을 어떻게 유지할 수 있는지에 대해 다룹니다. 검열 저항성은 구성을 통해 보장됩니다. 즉, 여러 지역과 관할권에 여러 조직적으로 구별되는 시퀀서를 도입함으로써 결국 모든 거래가 승인될 것이라는 강력한 보장이 있습니다.

예측 가능한 리더 회전 메커니즘과 알려진 양의 L1 슬롯에 해당하는 시퀀싱 윈도우를 갖춘 분산 시퀀서 세트 S := \{S_1,\dots,S_n\} S : = { S 1 , , S n } 고려합니다. 단순화를 위해 S_{i} S i 현재 리더이고 S_{i+1} S i + 1 이 다음 리더라고 가정해 보겠습니다. 어느 시점에서든 단 하나의 시퀀서만 활성화되고 롤업 상태에 대한 잠금이 있습니다.

시퀀서 S_i S i 가 기대 값을 최대화하기 위해 탐색할 수 있는 두 가지 전략은 다음과 같습니다.

1. 거래 포함 지연

사용자가 특정 L2 슬롯에서 S_i S i 에게 트랜잭션을 보낸다고 가정합니다. 그런 다음 시퀀서는 검색자와 협력하여 샌드위치 공격을 통해 더 많은 MEV를 추출하거나 사용자를 직접 선두로 실행하기 위해 트랜잭션을 블록에 삽입하기 전에 잠시 기다릴 수 있습니다. 특히 MEV는 시간에 따라 초선형적으로 증가하므로 시퀀서가 트랜잭션에 일찍 커밋하는 것이 최선의 이익이 아닙니다. 최악의 시나리오는 시퀀서가 시퀀서 회전$^1$까지 포함을 지연하는 것입니다.

2. 롤업 피어투피어 네트워크에서 안전하지 않은 헤드를 게시하지 않음

이 설정에서 시퀀서는 롤업 네트워크에서 안전하지 않은 헤드를 게시할 인센티브가 낮습니다. L2 블록은 시퀀서에서 서명되므로(예: Optimism ) 사용자가 모호한 경우 이를 슬래시하는 데 사용할 수 있는 구속력 있는 커밋먼트 역할을 합니다.

이는 롤업의 UX에 큰 하류 결과를 초래합니다. 다음 시퀀서와 사용자 모두 최신 거래를 보려면 배치가 포함될 때까지 기다려야 합니다. 사용자에게는 거래 상태를 적시에 알 수 없다는 것을 의미하며, 다음 시퀀서는 잘못된 상태에서 블록을 구축할 위험이 있습니다.

이제 우리는 이러한 행동을 완화하고 시퀀서에 대한 슬래싱 조건을 도입하는 메커니즘을 탐구할 것입니다.

원시 1: 거래 마감일

추가 필드가 있는 새로운 EIP-2718 거래 유형을 소개합니다.

  • deadline - 거래가 유효한 것으로 간주되는 마지막 L2 블록 번호를 나타내는 uint256 입니다.

이 아이디어는 완전히 새로운 것은 아닙니다. 예를 들어, LimeChain 팀은 Vanilla 기반 시퀀싱 문서에서 이를 탐구했습니다. 그러나 우리의 변형에서 deadline 필드는 트랜잭션 페이로드의 일부로 서명되고 L1 슬롯에 표현되지 않습니다.

그 이유는 시퀀서가 deadline 필드나 block.number 조작할 수 없기 때문입니다(단조적으로 증가하는 카운터이기 때문). 따라서 시퀀서가 사용자 거래를 block.number > deadline 인 블록에 삽입하는 경우 L2 파생 파이프라인을 수정하여 오류를 기인하기 쉽습니다.

이 접근 방식은 문제 #1을 완화합니다. 그러나 시퀀서가 더 많은 MEV를 추출하기 위해 블록 제안을 지연할 수 있기 때문에 어떤 식으로든 반응성 문제를 해결하지 못합니다.

원시 2: 글로벌 시계로서의 이더리움

간단한 회전 시퀀서 설계는 S_i S i 가 L1 스마트 계약에 의해 결정되는 시퀀싱 창 W_i W i 가 끝난 후 배치를 정산할 수 있는 권한을 잃는 설계입니다.그러나 시퀀서는 여전히 최신 L2 블록으로 배치를 게시하는 데 약간의 시간이 필요합니다.따라서 W_i W i 보다 n \ geq 1 n 1 슬롯 앞으로 이동한 포함 창을 도입합니다.여기서 S_i S i 시퀀싱의 책임이 S_{i+1} S i + 1 로 이동한 경우에도 마지막 L2 블록으로 L1에 롤업 배치를 착륙시킬 시간이 여전히 있습니다.

안전 오류가 발생하는 경우 시퀀서는 슬래시되어야 합니다. 시퀀서가 포함 창이 끝날 때까지 할당된 모든 L2 블록을 게시하지 못한 경우 모든 관련 보상을 포기합니다. 선택적으로 활성 오류에 대한 페널티가 있을 수도 있습니다. 이는 또한 최신 블록이 n\cdot12 n 12 초 이내에 알려지도록 하여 다음 시퀀서와의 협업 문제를 해결하는 데 도움이 됩니다. 이상적으로는 n n 을 가능한 한 작게 유지하고 값을 1 1 로 유지하고 싶습니다.

여기에는 여전히 몇 가지 잠재적인 문제가 있습니다. 이더리움에 트랜잭션을 포함하는 것은 확률적이므로 보낸 트랜잭션이 실제로 시간 내에 포함될지 확신할 수 없습니다. 이 맥락에서 정직한 리더가 보낸 마지막 배치는 포함 창이 끝날 때까지 L1에 포함되지 않을 수 있습니다. 이는 두 가지 접근 방식으로 해결할 수 있습니다.

  • 시퀀서가 L1 블록 제안자이기도 하며 제안해야 하는 지점까지 모든 거래를 포함할 수 있는 "기반" 설정 또는
  • Bolt 와 같은 프로토콜을 사용하여 제안자 커밋먼트를 사용합니다. 아래의 "추가 작업" 섹션에서 이에 대해 더 자세히 설명합니다.

현재 활성화된 시퀀서에 대해 참조할 수 있는 레지스트리 스마트 계약이 있다고 가정합니다. 즉, 리더 선거 메커니즘을 구현하고 보상 및 패널티와 함께 시퀀서 본드를 처리합니다. 레지스트리가 완전히 허가 없이 될 수 있는지 또는 허용 목록을 사용해야 하는지 여부를 결정하는 것은 롤업 거버넌스에 달려 있습니다. 잘못된 동작이 있는 경우 거버넌스를 사용하여 허용 목록에서 시퀀서를 일시적 또는 영구적으로 제거합니다.

원시 3: 검증 가능한 지연 함수

검증 가능 지연 함수 (이하 VDF)는 증명자가 검증자에게 함수를 실행하는 데 특정 시간이 소요되었음을 보여줄 수 있도록 하는 암호화 기본 요소이며, 검증자가 결과를 빠르게 확인할 수 있는 방식으로 이를 수행합니다.

예를 들어 암호화 해시 함수 h h를 고려하고 응용 프로그램을 정의합니다.

H(n,s) := (h \circ \underset{n\ times}\dots \circ h)(s),
H ( n , s ) : = ( h∘ n 시간 h ) ( ) ,

여기서 s s 는 바이트 배열이고 n n 은 자연수입니다.

SHA-256과 같은 해시 함수를 구성(또는 체인화)하는 것은 병렬 계산을 사용하여 간단히 속도를 높일 수 없지만, 결과를 검증하는 유일한 방법이 함수 구성을 다시 계산하는 것이므로 이 솔루션은 효율적인 검증$^2$이 부족합니다. 이 솔루션은 Boneh의 논문 에서 순진한 VDF로 나타났으며, 이러한 이유로 약한 것으로 지칭됩니다.

VDF의 또 다른 예는 숨겨진 순서의 그룹에 대한 반복적인 제곱으로 , 이를 통해 시간 잠금 퍼즐을 구성할 수 있습니다. 다음 섹션에서 후자의 사용법을 살펴보겠습니다.

그런데 왜 VDF인가?

VDF는 블록 지속 시간 동안 경과 시간의 증거 로 작용할 수 있기 때문에 시퀀싱 맥락에서 매우 유용합니다(특히 block_time / max_adversary_speedup , "보안 고려 사항" 참조). 블록 생산 파이프라인에 대한 다음 알고리즘을 고려하세요.

  1. L2 블록 N N 의 시작 부분에서 시퀀서는 정직한 플레이어에 대해 이전 블록 해시를 입력으로 사용하여 계산하는 데 L2 블록 시간(또는 약간 더 짧은 시간)이 걸리는 VDF를 계산하기 시작합니다.
  2. L2 슬롯이 끝난 후 시퀀서는 헤더에 VDF의 결과인 V_N V N 을 포함하는 블록 B_N B N을 빌드합니다. 이를 블록 봉인 이라고 합니다. 즉, 블록 해시 다이제스트에 V_N V N이 포함되어 있음을 의미합니다.

이 알고리즘은 VDF 계산 체인을 만드는 좋은 속성을 가지고 있는데, 어떤 의미에서 Solana의 Proof of History 와 유사하며, 여기서 우리는 보안 보장을 상속받습니다. 이것은 시퀀서 맥락에서 우리에게 무엇을 제공할까요? 시퀀서가 L1 슬롯 일정에 의해 설정된 배치를 게시해야 하는 특정 마감일이 있다는 것을 기억한다면, L1이 최소한 일부 L2 블록이 정산되어야 한다는 것을 강제할 수 있습니다. 여기에는 두 가지 다운스트림 결과가 있습니다.

  • 시퀀서는 시퀀싱 창이 시작되자마자 블록을 생산하고 봉인 해야 합니다 . 이것을 트랜잭션 마감일 속성과 페어링하면 트랜잭션을 확인할 수 있는 시간의 상한이 생깁니다. VDF와 L1에서 설정한 블록 일정을 따르지 않으면 배치 를 게시할 수 없게 될 위험이 있습니다.
  • 우리는 데이터를 보류하는 인센티브를 제거함으로써 문제 #2를 완화합니다(순수한 그리핑 공격은 고려하지 않음): 이는 시퀀서가 기존 VDF 체인을 조작할 수 없기 때문이며, 조작하면 모든 후속 VDF를 다시 계산해야 하며 잘못된 배치가 생성됩니다.

일반적으로 이 게시물의 목적을 위해 우리는 해시 체인 예시를 염두에 두고 "블랙박스"로 제공되는 일반 VDF를 고려할 것입니다. 이 예시는 현재 ASIC과 같은 임시 하드웨어에 대해 더 강력한 보장을 제공합니다. 자세한 내용은 아래의 "보안 고려 사항"을 참조하세요.

정확한 VDF 증명

시퀀서가 L2 블록 헤더에서 잘못된 VDF를 제공하는 경우 이를 슬래시해야 하며, 이상적으로는 결제 시 이를 보장하고 싶습니다. 그러나 EVM에서 긴 해시 체인을 다시 계산하는 것은 가스 비용 때문에 단순히 불가능합니다.

그러면 VDF의 반복 횟수가 유효하지 않다는 것을 어떻게 보여줄까요? 한 가지 방법은 롤업의 파생 파이프라인에서 유효한 VDF 체인 출력을 요구하여 낙관적으로(또는 ZK-롤업의 경우 결제 시) 시행하는 것입니다. 낙관적 롤업에서 모호한 경우 사기 증명을 사용하여 시퀀서에 도전할 수 있습니다.

하드웨어 요구 사항

정의에 따르면 VDF는 병렬 처리를 사용하여 속도를 높일 수 없으므로 VDF 계산은 CPU의 단일 코어만 사용하여 수행할 수 있으며, 블록 생산 알고리즘에서도 마찬가지입니다.

이러한 특징은 SHA-256으로 해시할 때 해시가 특정 개수의 0비트로 시작하는 값을 스캔해야 하는 비트코인과 같은 대부분의 작업 증명 합의 알고리즘과 비교했을 때 다르고 훨씬 더 가볍습니다.

최신 CPU는 SHA-256 해시 함수를 계산하도록 최적화되어 있다는 점도 주목할 만합니다. 2016년부터 Intel은 Goldmount 칩 제품군부터 특정 모델의 CoreXeon 라인업에서 SHA 확장을 제공하고 있으며, 해시 함수 알고리즘의 여러 단계를 보다 효율적으로 계산하는 데 특화된 세 가지 새로운 명령어를 도입했습니다.

마지막으로, 단일 코어 성능은 수년에 걸쳐 침체되어 왔 으므로 최신 세대의 CPU에 투자하여 시스템 요구 사항을 낮추는 데는 미미한 이점이 있습니다.

사례 연구: MR-MEV-Boost

Multi-Round-MEV-Boost는 단일 L1 슬롯 내에서 여러 라운드의 MEV-Boost 경매를 실행하여 기반 사전 확인을 가능하게 하는 MEV-Boost의 수정판입니다. 이 기본형의 용도는 각 라운드 후에 L2 블록 빌더가 만든 기반 롤업 블록을 출력하는 것입니다. 이 문서에서 보여 주듯이, 이 접근 방식은 L1 PBS 파이프라인을 상속하고 그 결과 기반 사전 확인의 부정적인 외부 효과 중 일부를 완화합니다.

MEV-Boost와 마찬가지로 이 포크는 경매인이 되는 옵트인 제안자에 의존하여 릴레이의 getHeader ( Builder-API ) 엔드포인트를 호출하여 봉인된 경매를 종료합니다. 봉인된 입찰에 서명한 후 제안자는 getPayload ( Builder-API )를 호출하여 낙찰된 입찰의 실제 내용을 수신하고 기반 롤업 네트워크에 블록을 게시합니다.

원래 프로토콜에서 경매 종료는 일반적으로 L1 슬롯의 종료와 일치합니다(더 정확히는 그 후 약 1초 ). 이를 지연하면 필요한 모든 증명을 수집하고 모든 관련 보상을 포기할 수 있는 시간 내에 블록을 브로드캐스트하지 못할 위험이 높습니다. 따라서 블록 시간은 Ethereum 합의에 의해 강제되는 일관성을 유지한 채 12초마다 제안됩니다.

이와 대조적으로 MR-MEV-Boost에서는 슬롯 동안 여러 라운드가 진행되므로 신뢰할 수 없는 제안자는 경매를 몇 초 늦거나 일찍 종료할 인센티브를 받습니다 . 3은 들어오는 입찰에 따라 더 많은 MEV를 추출하기 위해 사용됩니다. 최악의 경우 MR-MEV-Boost는 L1 블록 시간을 반영합니다. 이것의 또 다른 결과는 기반 롤업에 대한 일관되지 않은 슬롯 시간입니다. 이것은 훨씬 더 심각한 형태의 타이밍 게임으로 볼 수 있습니다.

본 기사에서는 이 문제에 대한 가능한 해결책을 다음과 같이 논의했습니다.

  1. 사용자 인센티브를 도입합니다. 사용자가 제안자가 잘못된 행동을 한다고 판단하면 해당 제안자에게 거래를 보내는 것을 중단합니다.
  2. 적시성을 입증하고 슬롯 기간을 유지하기 위해 위원회(합의)를 도입합니다.

이제 우리는 사용자의 조치를 요구하지 않고도 제안자를 강력하게 제한하는 신뢰할 수 없는 솔루션이 존재한다고 주장하며, 그것은 분산형 시퀀싱의 맥락에서 VDF 기반 블록 생산 알고리즘에 사용한 것과 동일한 구조를 활용합니다.

구성은 매우 간단하며 x := 12/r x : = 12 / r 초 동안 지속되는 VDF를 계산하는 것으로 구성되며, 여기서 r r 은 L1 슬롯의 라운드 수(L2 블록 시간)입니다. 제안자는 이전 기반 롤업 블록 해시를 공개 입력으로 사용하여 이 VDF를 계산하고 라운드가 끝나면 수정된 getPayload 호출의 본문과 함께 보내야 합니다. 그런 다음 VDF의 출력은 롤업 블록 헤더에 저장되고 잘못된 경우 성공적인 사기 증명 후 제안자가 슬래싱될 수 있습니다.

이 접근 방식을 사용하면 제안자가 라운드 종료를 지연시킬 수 있는 시간이 제한됩니다. 예를 들어 첫 번째 경매가 1초 늦게 종료된 경우 마지막 라운드에서 VDF에 대해 3초가 아닌 2초의 계산을 제공할 수 있으므로 무효 블록과 그에 따른 슬래싱$^4$이 발생합니다. 이는 유효한 VDF를 계산하기 시작하려면 이전 블록 해시를 입력으로 요구하기 때문에 봉인된 블록이 필요하기 때문입니다.

보안 고려 사항

이런 목적에 VDF가 정말 안전한가요?
적대자가 정직한 플레이어의 기준선보다 더 빠르게 VDF를 계산할 수 있는 하드웨어를 소유하고 있다고 가정해 보겠습니다( 그렇지 않으면 VDF의 반복 횟수는 프로토콜에 의해 조정됩니다). 그러면 공격자가 빠를수록( max_adversary_speedup ) 우리의 구성이 가능한 행동의 공간을 덜 제한하게 됩니다. 특히, 시퀀서는 블록에 조금 더 늦게 커밋하고 더 많은 가치를 추출하기 위해 일부를 재구성할 수 있습니다.

하지만 "빠른 증명" 속성이 필요하지 않은 경우, 해시 체인은 솔라나의 역사 증명으로 견고하다는 것이 입증되었으며 적어도 단기적으로는 계속 그럴 것입니다. 또한, 우리의 보안 요구 사항은 이더리움에 영원히 봉헌되어야 하는 것만큼 엄격하지 않을 것입니다.

더 강력한 안전 보장을 위한 몇 가지 솔루션과 지침은 아래 "추가 작업" 섹션에서 찾을 수 있습니다.

현재 제한 사항

시퀀서 신뢰성

(재)스테이킹을 활용하는 많은 새로운 서비스와 마찬가지로, 시퀀서의 신뢰성에는 상한이 있는데, 이는 스테이킹한 금액입니다. MEV 기회가 해당 상한을 초과하면, 합리적이고 신뢰할 수 없는 행위자는 슬래시당하고 MEV 보상을 받는 것을 선호할 것입니다.

리더 교체는 중요한 순간이 될 수 있습니다.

배처 및 레지스트리 스마트 계약 섹션에서 논의했듯이, 포함 윈도우는 시퀀싱 윈도우에 비해 최소한 한 슬롯 앞으로 이동합니다. 이는 리더를 회전하기 전에 마지막 배치를 정산하는 데 필요한 시간 때문에 필요하지만, 시퀀서가 롤업 피어 투 피어 네트워크에 게시하기 전에 마지막 L2 블록을 다시 구성할 수 있는 여유가 있는 최소 12초의 추가 슬롯 시간을 남겨둡니다. 결과적으로, S_{i+1} S i + 1 이 즉시 시퀀싱을 시작하면 무효 상태에서 빌딩 블록이 될 수 있으므로 활성 상태가 일시적으로 손상됩니다.

마지막으로, 최근 블롭에 대한 슬롯 포함율 에 대한 데이터에 따르면, 추가 슬롯 하나로는 배치를 정산하기에 충분하지 않을 수 있습니다. 이는 아래에 설명된 대로 새로운 포함 사전 확인 프로토콜을 활용하면 완화할 수 있습니다.

시퀀서 마지막 모습

우리의 구조는 시퀀서가 블록이 커밋된 후에 블록을 재구성하는 것을 매우 어렵게 만들지만, 전면 실행을 완전히 해결하지는 못합니다. 특히, 시퀀서는 연관된 deadline 필드와 함께 블록을 빌드하는 동안 사용자 트랜잭션에서 값을 추출할 수 있습니다. 가능한 솔루션과 그 한계는 아래 섹션에서 살펴봅니다.

결론

이 글에서는 분산형 롤업 환경에서 신뢰할 수 없는 L2 시퀀서의 적시성, 안전성, 비추출 순서를 강제하는 메커니즘을 살펴보았습니다.
논의된 기본 요소는 시퀀서가 더 예측 가능하고 공정하게 작동하여 트랜잭션 지연 및 데이터 보류와 같은 문제를 완화할 수 있도록 보장합니다. 또한 이러한 기술은 기존 단일 시퀀서 롤업에 대한 신뢰 가정을 줄여 "블록체인 스캐폴딩이 있는 서버" 로 작동하는 롤업 개념과 일치할 수 있습니다. 이러한 결과는 분산되고 안전한 롤업 아키텍처의 미래 개발을 위한 견고한 프레임워크를 제공합니다.

추가 작업

시퀀서가 ASIC를 실행하지 않도록 보장하는 TEE(신뢰할 수 있는 실행 환경)

신뢰할 수 있는 실행 환경은 종종 인 클레이브 라고 불리는 CPU의 보안 영역으로, 그 내부에 로드된 코드와 데이터를 기밀성과 무결성과 관련하여 보호하는 데 도움이 됩니다.
블록체인 프로토콜에서의 사용은 활발한 연구 분야이며, 주된 우려 사항은 하드웨어 제조업체를 신뢰하는 것과 일부 구현 에서 과거 발견된 다양한 취약성 입니다( 최신 정보 는 여기를 참조하세요).
사용 사례에 따라 이러한 신뢰 가정과 취약성은 거래 차단 요인이 될 수 있습니다. 그러나 우리의 설정에서는 시퀀서가 VDF를 계산하는 데 특수 하드웨어를 사용하지 않는다는 보장만 있으면 되고, 인클레이브에서 기밀 데이터가 누출되거나 벽시계/단조 시계가 조작되는 것은 신경 쓰지 않아도 됩니다.

기존의 ASIC 방지 작업 증명 알고리즘을 적용합니다.

2014년 비트코인의 프라이버시와 추적 불가능성에 초점을 맞춘 대안으로 출시된 Monero 블록체인은 RandomX 라는 ASIC 저항성 Proof-of-Work 알고리즘을 사용합니다. README 인용하면 다음과 같습니다.

RandomX는 범용 CPU에 최적화된 작업 증명(PoW) 알고리즘입니다. RandomX는 랜덤 코드 실행(이름에서 알 수 있듯이)과 여러 메모리 하드 기술을 함께 사용하여 특수 하드웨어의 효율성 이점을 최소화합니다.

그러나 이 알고리즘은 어느 정도 병렬성을 활용합니다. 이것이 단일 코어 버전에 적용되어 새로운 약한 VDF를 만들어낼 수 있을지 여부는 흥미로운 연구 방향입니다.
이러한 접근 방식은 TEE를 사용하는 것과 직교하지만, 시퀀서가 정교한 하드웨어를 사용하지 않는다는 보장을 얻는 것과 동일한 결과를 얻을 수 있습니다.

선행 실행을 방지하기 위한 시간 잠금 퍼즐

"현재 제한 사항" 섹션에서 언급했듯이, 우리의 구조는 시퀀서가 사용자를 앞지르는 문제를 제한하지 않습니다. 다행히도, 이는 사용자가 시간 잠금 퍼즐을 사용하여 민감한 거래를 암호화하도록 요구함으로써 해결할 수 있습니다. 별도의 글에서 더 자세히 설명하겠습니다. 그러나 이 솔루션은 무료로 제공되지 않습니다. 암호화된 거래 또는 암호화된 메모리풀은 특히 프로토콜 수수료가 그렇게 높지 않을 때 스패밍과 통계적 차익거래를 장려할 수 있습니다.

포함 사전 확인 및 데이터 가용성 계층

L1 계약에 대한 일괄 제출은 Chainbound의 Bolt 또는 Primev의 MEV-Commit 과 같은 새로운 사전 확인 프로토콜을 활용하여 동일한 슬롯에 포함되도록 보장함으로써 보다 효율적으로 이루어질 수 있습니다. 특히, 시퀀싱 윈도우는 제안자가 포함 커밋먼트를 활용하기 위해 앞서 언급한 프로토콜을 실행하는 슬롯 바로 앞의 슬롯에서 정확히 끝나야 합니다.

또한, 제안자가 슬롯 시작 부분에 구성 가능한 시간(초)의 마감일을 적용하기 위해 배치를 효율적이고 가벼운 데이터 가용성 계층에 게시할 수 있습니다. 그렇지 않으면 시퀀서가 엄청나게 낭비됩니다.


각주

  1. 더 정확하게 말하면, 작업자가 여러 개의 후속 시퀀서를 제어하는 경우 마지막 시퀀서 회전까지 포함을 지연할 수 있습니다.
  2. 솔라나에서 SHA-256 체인의 검증은 실제로 병렬화되지만 ~400ms 계산과 관련된 블록을 32개의 조각으로 나누어 계산되자마자 나머지 검증자에게 전달해야 합니다. 따라서 해시 체인의 중간 단계를 병렬로 계산하여 검증 속도가 빨라집니다.
  3. 일반적으로 제안자는 다른 라운드를 지연시키는 부작용으로 일부 라운드를 일찍 끝낼 것입니다. 예를 들어, 가능한 L1 <> L2 차익거래 기회를 활용하기 위해 더 긴 마지막 라운드를 강제할 수 있습니다.
  4. 제안자가 정직하더라도 모든 VDF를 계산할 수 없는 에지 케이스가 있으며, 이는 회전 메커니즘 때문입니다. VDF의 공개 입력은 이전 롤업 블록 해시여야 하기 때문에 회전 중에 다음 리더는 롤업 네트워크에서 블록을 듣기 전에 약간의 시간(잠재적으로 1초 이상)이 필요합니다. 이로 인해 다음 제안자가 VDF를 계산하는 데 늦어질 수 있습니다.
    이러한 위험을 줄이기 위해, 다음 제안자는 스트리밍 서비스 및/또는 신뢰할 수 있는 릴레이와 같이 이 정보를 수신할 수 있는 다양한 당사자에게 의존할 수 있습니다.

출처
면책조항: 상기 내용은 작자의 개인적인 의견입니다. 따라서 이는 Followin의 입장과 무관하며 Followin과 관련된 어떠한 투자 제안도 구성하지 않습니다.
라이크
8
즐겨찾기에 추가
2
코멘트