Vitalik의 새 기사丨이더 의 가능한 미래: The Splurge

이 기사는 기계로 번역되었습니다
원문 표시
둥근
작성자: 비탈릭 부테린
편집자: Yangz, Techub News
이더 프로토콜 설계에는 이더 의 성공에 중요하지만 더 큰 하위 범주에 딱 들어맞지 않는 "작은 손길"이 많이 있습니다. 실제로 콘텐츠의 약 절반은 다양한 EVM 개선에 관한 것이고 나머지는 다양한 틈새 주제에 관한 것입니다. 이 기사에서는 이 주제를 살펴볼 것입니다.
스플러지, 2023년 로드맵
The Splurge의 주요 목표:
  • 안정적인 성능으로 EVM이 "최종 상태"에 도달하도록 만듭니다.
  • 모든 사용자가 보다 안전하고 편리한 계정의 혜택을 누릴 수 있도록 프로토콜에 계정 추상화를 도입합니다.
  • 리스크 줄이면서 확장성을 높이기 위해 거래 수수료 경제성을 최적화합니다.
  • 장기적으로 이더 더 좋게 만들기 위한 고급 암호화를 살펴보세요.

EVM 개선

EVM 개선은 어떤 문제를 해결하는 것을 목표로 합니까?

현재 EVM은 정적으로 분석하기 어렵기 때문에 효율적인 구현을 생성하고, 공식적으로 코드를 검증하고, 시간이 지남에 따라 추가로 확장하기가 어렵습니다. 또한 매우 비효율적이므로 사전 컴파일을 통해 명시적으로 지원되지 않는 한 다양한 형태의 고급 암호화 기술을 구현하기가 어렵습니다.

EVM을 개선하는 방법은 무엇입니까?

현재 EVM 개선 로드맵의 첫 번째 단계는 다음 하드 포크 에 도입될 예정인 EVM Object Format(EOF) 입니다. EOF는 많은 주목할만한 기능을 갖춘 새로운 버전의 EVM 코드를 지정하는 일련의 EIP 입니다. 그 중 가장 눈에 띄는 기능은 다음과 같습니다.
  • 코드(실행 가능하지만 EVM에서 읽을 수 없음)와 데이터(읽을 수 있지만 실행할 수 없음) 분리
  • 동적 점프는 금지되며 정적 점프만 허용됩니다.
  • EVM 코드는 더 이상 가스 관련 정보를 존중하지 않습니다.
  • 명시적 서브루틴 메커니즘이 추가되었습니다.
EOF 코드 프레임
레거시 계약이 결국 더 이상 사용되지 않을 수도 있지만(EOF 코드로 강제 적용될 수도 있음) 레거시 계약은 계속 존재하며 생성될 수 있습니다. 새로운 계약은 프로그램 기능으로 인해 약간 더 작은 바이트 코드는 물론 EOF 고유의 새로운 기능 또는 고유한 가스 비용 절감을 포함하여 EOF가 가져온 효율성 향상의 이점을 누릴 수 있습니다.
EOF가 도입되면 추가 업그레이드가 더 쉬워질 것입니다. 현재 가장 완벽한 것은 EVM-MAX(EVM 모듈 Arithmetic Extension) 입니다. EVM-MAX는 특히 모듈 식 연산을 위한 새로운 연산 세트를 생성하고 이를 다른 opcode가 액세스할 수 없는 새로운 메모리 공간에 배치합니다. 이러한 방식으로 몽고메리 곱셈 과 같은 최적화 연산을 사용할 수 있습니다.
새로운 아이디어는 EVM-MAX를 SIMD(Single Instruction Multiple Data) 기능과 결합하는 것입니다. SIMD는 Greg Colvin의 EIP-616을 시작으로 오랫동안 이더 의 작은 디자인으로 존재해 왔습니다. SIMD는 해시 함수, 32비트 STARK 및 격자 암호를 포함한 다양한 형태의 암호화 알고리즘을 가속화하는 데 사용할 수 있습니다. EVM-MAX와 SIMD는 EVM에 대한 성능 지향 확장의 자연스러운 조합입니다.
결합된 EIP의 일반적인 설계 아이디어는 EIP-6690을 출발점으로 삼고 다음과 같습니다.
  • 홀수 또는 최대 (2768)까지 2의 거듭제곱을 모듈러스로 허용합니다.
  • 더 이상 3개의 직접 값( x/y/z) 이 아니라 7개의 직접 값( x_start , x_skip、y_start、y_skip、z_start、z_skip、count) )을 사용하는 각 EVMMAX opcode( add , sub , mul ) 버전을 추가하세요. x_skip、y_start、y_skip、z_start、z_skip、count) . Python 코드에서 이러한 opcode는 다음과 동일한 작업을 수행합니다.
  • 그러나 실제 실행에서는 이러한 opcode가 병렬로 처리됩니다.
  • 가능하다면 모듈로 2배 이상 XOR、AND、OR、NOTSHIFT (순환 및 비순환)를 추가하세요. 또한 ISZERO 추가할 수 있습니다(출력을 EVM 메인 스택으로 푸시).
이는 타원 곡선 암호화, 소규모 도메인 암호화(예: 포세이돈, 원형 STARK), 기존 해시 함수(예: SHA256, KECCAK, BLAKE) 및 격자 암호를 포함한 다양한 형태의 암호화 알고리즘을 구현하는 데 충분합니다.
물론 다른 EVM 업그레이드도 가능하지만 지금까지는 훨씬 덜 주목을 받았습니다.

기존 관련 연구

앞으로 해야 할 일은 무엇이고, 장단점은 어떻게 평가되나요?

현재 EOF는 다음 하드 포크 에 포함될 예정입니다. 계획이 제거될 가능성은 항상 있지만(이전 마지막 순간에 하드 포크 에서 계획이 제거되는 경우가 있었습니다), 그렇게 하는 것은 힘든 싸움이 될 것입니다. EOF를 제거한다는 것은 향후 EVM 업그레이드에 EOF가 필요하지 않음을 의미합니다. EOF는 수행할 수 있지만 더 어려울 수 있습니다.
EVM의 주요 절충점은 L1 복잡성과 인프라 복잡성입니다. EVM 구현에 EOF를 추가하려면 대량 코드가 필요하며 정적 코드 검사는 매우 복잡합니다. 그러나 그 대가로 고급 언어를 단순화하고 EVM 구현을 단순화하며 다른 이점을 얻을 수 있습니다. 이렇게 말하면 이더 지속적인 개선을 우선시하는 로드맵에는 EOF가 포함되고 구축될 것입니다. 중요한 작업 중 하나는 EVM-MAX 및 SIMD와 유사한 기능을 구현하고 다양한 암호화 작업에서 얼마나 많은 가스가 소비되는지에 대한 벤치마크 테스트를 수행하는 것입니다.

로드맵의 다른 부분에는 어떤 의미가 있나요?

L1이 EVM을 조정한 후 L2는 더 쉽게 복제할 수 있습니다. 한쪽은 조정하고 다른 쪽은 조정하지 않으면 비호환성이 발생할 수 있으며 이는 자체적인 단점도 있습니다. 또한 EVM-MAX와 SIMD는 많은 검증 시스템의 가스 비용을 줄여 L2 효율성을 향상시킬 수 있습니다. 미리 컴파일된 코드를 EVM 코드로 바꾸는 것은 효율성에 큰 영향을 미치지 않을 수 있지만 동일한 작업을 수행하므로 더 많은 미리 컴파일된 코드를 더 쉽게 제거할 수 있습니다.

계정 추상화

계정 추상화는 어떤 문제를 해결하도록 설계되었나요?

현재 거래는 ECDSA 서명이라는 단방향으로만 확인할 수 있습니다. 계정 추상화의 원래 의도는 이를 기반으로 확장하여 계정 확인 로직이 모든 EVM 코드가 될 수 있도록 하는 것입니다. 이를 통해 다음과 같은 다양한 애플리케이션이 가능해집니다.
  • 양자 저항 암호화 기술로 전환
  • 오래된 키 폐기(일반적으로 권장되는 보안 관행으로 간주됨)
  • 다중 서명 지갑과 사회 회복 지갑
  • 낮은 값 작업은 하나의 키로 서명되고, 높은 값 작업은 다른 키(또는 키 집합)로 서명됩니다.
  • 개인 정보 보호 프로토콜이 릴레이 없이 작동할 수 있도록 하여 복잡성을 크게 줄이고 중요한 핵심 종속성 지점을 제거합니다.
2015년에 계정 추상화가 시작된 이후 이러한 목표는 ETH가 없고 다른 ERC20 토큰이 있는 계정이 이러한 토큰을 사용하여 가스 요금을 지불할 수 있도록 하는 대규모 "편의 목표"로 확장되었습니다. 다음 그림은 이러한 목표를 요약한 것입니다.
MPC는 키를 여러 조각으로 분할하여 여러 장치에 저장하고 키 조각을 직접 병합하지 않고 암호화를 사용하여 서명을 생성하는 40년 된 기술인 다자간 계산을 의미합니다.
EIP-7702 는 다음 하드 포크 에 도입 예정인 EIP로, 단기적으로 사용자 경험을 향상시키기 위해 EOA 사용자를 포함한 모든 사용자가 계정 추상화의 편리함을 누릴 수 있도록 해야 한다는 인식이 커지고 있는 부분이다. 그리고 두 개의 생태계로 분할되는 결과를 피하십시오. 이 작업은 EIP-3074 에서 시작되어 EIP-7702에서 정점에 이르렀습니다. EIP-7702는 이제 EOA(외부 계정, ECDSA 서명으로 제어되는 계정)를 포함하여 모든 사용자가 사용할 수 있는 계정 추상화의 "편의 기능"을 제공합니다.
차트에서 볼 수 있듯이 일부 문제(특히 "편의성"과 관련된)는 다자간 계산이나 EIP-7702와 같은 증분 기술로 해결될 수 있지만 초기 계정 추상화 제안에 동기를 부여한 대부분의 보안 목표는 스마트 계약 코드가 거래 확인을 제어할 수 있도록 허용하는 원래 문제를 해결함으로써 해결되었습니다. 이를 안전하게 달성하는 것이 여전히 어려운 과제이기 때문에 아직 완료되지 않았습니다.

계정 추상화는 어떻게 작동하나요?

계정 추상화의 핵심은 단지 EOA가 아닌 스마트 계약이 거래를 시작하도록 허용하는 것이며, 탈중앙화 형 네트워크를 유지하고 서비스 거부 공격에 저항하는 데 도움이 되는 방식으로 이를 구현하는 방법에서 복잡성이 발생합니다.
다중 검증 문제는 주요 과제입니다.
확인 기능이 모두 단일 값 S 에 의존하는 1,000개의 계정이 있고 mempool의 트랜잭션이 현재 S 값에서 모두 유효하다고 가정합니다. 그런 다음 S 값을 뒤집는 단일 트랜잭션은 mempool의 다른 모든 트랜잭션을 무효화합니다. 이러한 방식으로 공격자는 매우 저렴한 비용으로 스팸을 mempool로 보내고 네트워크의 노드 리소스를 방해할 수 있습니다.
수년에 걸쳐 우리는 DoS 리스크 제한하면서 기능을 확장하기 위해 노력해 왔으며 마침내 "이상적인 계정 추상화"를 달성하는 방법에 대한 합의에 도달하고 ERC-4337을 제안했습니다.
ERC-4337은 사용자 작업 처리를 검증과 실행이라는 두 단계로 나눕니다. 모든 유효성 검사가 먼저 처리된 다음 모든 실행이 처리됩니다. mempool에서는 사용자 작업의 확인 단계에 자체 계정만 포함되고 환경 변수를 읽지 않는 경우에만 사용자 작업이 허용됩니다. 이는 다중 검증 공격을 방지하고 검증 단계에서 엄격한 가스 제한을 시행합니다.
ERC-4337은 당시 이더 클라이언트 개발자가 Merge로 바쁘고 다른 기능을 개발할 여력이 없었기 때문에 프로토콜 외부 표준(ERC)으로 설계되었습니다. 이것이 바로 ERC-4337이 일반 트랜잭션 대신 사용자 작업을 객체로 사용하는 이유입니다. 그러나 최근 우리는 ERC-4337에서 제안된 기능 중 적어도 일부를 프로토콜에 통합해야 한다는 것을 깨달았습니다. 두 가지 주요 이유는 다음과 같습니다.
  1. EntryPoint는 본질적으로 계약으로서 비효율적입니다. 각 번들 작업 비용은 약 100,000 가스인 반면, 각 사용자 작업 비용은 수천 가스입니다.
  2. 이더 속성이 계정 추상 사용자에게 전달되는지 확인해야 합니다.
또한 ERC-4337은 두 가지 기능을 확장합니다.
  • Paymasters: 하나의 계정이 다른 계정을 대신하여 수수료를 지불할 수 있도록 허용하여 확인 단계에서 보낸 사람 계정 자체에만 액세스할 수 있다는 규칙을 깨고 지불자 메커니즘을 허용하고 보안을 보장하는 특별한 처리 방법을 도입합니다.
  • Aggregator: BLS 집계 또는 SNARK 기반 집계와 같은 서명 집계를 지원합니다. 이는 롤업에서 최고 수준의 데이터 효율성을 달성하는 데 필요합니다.

기존 관련 연구

앞으로 해야 할 일은 무엇이고, 장단점은 어떻게 평가되나요?

해결해야 할 주요 문제는 계정 추상화를 프로토콜에 완전히 도입하는 방법입니다. 최근 가장 인기 있는 솔루션 중 하나는 EOF 기반 계정 추상화를 목표로 하는 EIP-7701입니다. 즉, 계정이 이 코드 세그먼트를 설정하면 검증 단계에서 별도의 코드 세그먼트를 설정할 수 있습니다. 계정 거래 코드가 실행됩니다.
EIP-7701 계정 EOF 코드 구조
이 접근 방식의 장점은 로컬 계정 추상화를 보는 두 가지 동일한 방법이 있음을 분명히 한다는 것입니다.
  1. EIP-4337(그러나 프로토콜의 일부)
  2. 서명 알고리즘이 EVM 코드 실행인 새로운 유형의 EOA
검증하는 동안 실행 코드의 복잡성을 처음부터 엄격하게 제한한다면(외부 상태에 대한 액세스를 허용하지 않거나 애초에 양자 저항 또는 개인정보 보호 애플리케이션에 유용하기에는 가스를 너무 낮게 제한하는 경우), 이는 다음과 같습니다. 이 접근 방식의 보안은 즉시 명백합니다. ECDSA 검증을 비슷한 시간이 걸리는 EVM 코드 실행으로 대체할 뿐입니다. 그러나 시간이 지남에 따라 이러한 제한을 완화해야 합니다. 개인정보 보호 애플리케이션이 중계기 없이 작동할 수 있도록 허용하고 양자 저항성을 갖는 것이 모두 중요하기 때문입니다. 이를 위해서는 검증 단계를 극도로 최소화하지 않고도 보다 유연한 방식으로 DoS 리스크 해결할 수 있는 방법을 찾아야 합니다.
가장 큰 절충점은 덜 만족스러운 것을 가능한 한 빨리 채택하는 것과 더 오래 기다렸다가 더 이상적인 솔루션을 얻는 것 사이에 있는 것 같습니다. 이상적인 솔루션은 일종의 하이브리드일 가능성이 높습니다. 하이브리드 접근 방식은 일부 사용 사례를 더 빠르게 통합하고 다른 사용 사례를 해결하는 데 더 많은 시간을 확보하는 것입니다. 또 다른 옵션은 먼저 L2에 계정 추상화 버전을 배포하는 것입니다. 그러나 이에 대한 문제는 L2 팀이 제안을 채택하려는 노력을 기울이려면 L1 및/또는 다른 L2가 나중에 호환 버전을 채택할 것이라는 확신이 있어야 한다는 것입니다.
명시적으로 고려해야 할 또 다른 애플리케이션은 L1 또는 전용 L2에 계정 관련 상태를 저장할 수 있고 L1 및 호환되는 모든 L2에서도 사용할 수 있는 키 스토리지 계정 입니다. 이를 효율적으로 수행하려면 L2에서 L1SLOAD 또는 REMOTESTATICCALL 과 같은 opcode를 지원하고 L2에서 계정 추상화 구현을 지원해야 할 수도 있습니다.

로드맵의 다른 부분에는 어떤 의미가 있나요?

포함 목록은 계정 추상 트랜잭션을 지원해야 합니다. 실제로는 포함된 목록의 요구 사항과 탈중앙화 멤풀의 요구 사항이 매우 유사하지만 전자가 약간 더 유연합니다.
또한 계정 추상화 구현은 L1과 L2에서 최대한 통합되어야 합니다. 미래에 대부분의 사용자가 키 저장소 롤업을 사용할 것으로 예상된다면 계정 추상화를 설계할 때 이를 고려해야 합니다.

EIP-1559 개선

EIP-1559는 어떤 문제를 해결하기 위해 설계되었나요?

EIP-1559 는 2021년 이더 에서 활성화되어 평균 블록 포함 시간을 크게 향상시켰습니다.
그러나 현재 EIP-1559 구현에는 다음과 같은 측면에서 결함이 있습니다.
  • 첫째, 이 계획에는 약간의 결함이 있습니다. 블록의 50%를 목표로 삼는 대신 분산(수학자들이 " AM-GM 불평등 "이라고 부르는 것과 관련)에 따라 전체 블록의 ~50-53%를 목표로 합니다.
  • 둘째, 극한 상황에서는 충분히 빠르게 조정되지 않습니다 .
Blob에 대한 최신 솔루션( EIP-4844 )은 첫 번째 문제를 해결하기 위해 명시적으로 설계되었으며 전체적으로 더 간단합니다. 그러나 EIP-1559 자체나 EIP-4844는 두 번째 문제를 해결하려고 시도하지 않습니다. 따라서 현재의 현상 유지는 서로 다른 두 메커니즘의 혼란스러운 상태이며 시간이 지남에 따라 두 메커니즘을 모두 개선해야 할 수도 있습니다.
이 외에도 EIP-1559와 관련이 없지만 EIP-1559를 조정하면 해결할 수 있는 이더 리소스 가격 책정의 다른 결함이 있습니다. 주요 이슈 중 하나는 평균 사례와 최악 사례의 차이입니다. 즉, 이더 의 리소스 가격은 최악의 경우를 처리할 수 있도록 설정되어야 합니다. 즉, 블록의 전체 가스 소비가 하나의 리소스를 차지하지만, 평균 케이스 사용량은 다음보다 훨씬 적습니다. 이로 인해 효율성이 낮아집니다.

이러한 비효율성을 어떻게 해결하나요?

다차원 가스 는 이러한 비효율성을 해결하는 솔루션으로, 다양한 자원에 대해 서로 다른 가격과 제한을 설정합니다. 이 개념은 기술적으로 EIP-1559와 독립적이지만 EIP-1559를 사용하면 더 쉽습니다. EIP-1559가 없으면 여러 리소스 제약이 있는 블록의 패키징을 최적화하는 방법은 복잡한 다차원 "배낭" 문제 가 됩니다. EIP-1559를 사용하면 대부분의 블록은 어떤 리소스에서도 최대 용량을 사용할 수 없으므로 "충분한 수수료를 지불하는 모든 거래를 수락"하는 간단한 알고리즘으로 충분합니다.
오늘날 우리는 실행 및 blob에 대한 다차원 가스 설정을 가지고 있으며 원칙적으로 이를 호출 데이터, 상태 읽기/쓰기 및 상태 크기 확장을 포함하여 더 많은 차원으로 확장할 수 있습니다.
EIP-7706은 데이터 호출에 새로운 가스 차원을 도입합니다. 동시에 세 가지 유형의 가스가 모두 하나의(EIP-4844 스타일) 프레임 에 속하도록 다차원 가스 메커니즘을 단순화하여 EIP-1559의 수학적 결함을 해결합니다.
EIP-7623은 완전히 새로운 차원을 도입하지 않고도 최대 통화 데이터에 더 엄격한 제한을 두어 평균 사례 및 최악 사례 리소스 문제에 대한 보다 철저한 솔루션입니다.
또 다른 방향은 업데이트 속도 문제를 해결하고 EIP-4844 메커니즘에 의해 도입된 키 불변성을 유지하면서 더 빠른 기본 요금 계산 알고리즘을 찾는 것입니다(즉, 장기적으로 평균 사용량이 목표 값에 거의 가깝습니다).

기존 관련 연구

앞으로 해야 할 일은 무엇이고, 장단점은 어떻게 평가되나요?

다차원 가스에는 두 가지 주요 단점이 있습니다.
  • 프로토콜 복잡성 증가
  • 블록을 채우는 데 필요한 최적의 알고리즘의 복잡성 증가
호출 데이터의 경우 프로토콜 복잡성은 상대적으로 작은 문제이지만 "EVM 내부"의 가스 차원(예: 저장소 읽기 및 쓰기)의 경우 더 큰 문제가 됩니다. 어려운 점은 가스 한도를 설정하는 사람이 사용자뿐만 아니라 다른 계약을 호출할 때 한도를 설정하는 계약도 있다는 점입니다. 그리고 이제 그들이 한계를 설정할 수 있는 유일한 방법은 1차원적입니다.
이 문제를 해결하는 간단한 방법은 다차원 가스를 EOF 내부에서만 사용할 수 있다는 것입니다. EOF에서는 계약이 다른 계약을 호출할 때 가스 제한을 설정하는 것을 허용하지 않기 때문입니다. Non-EOF 계약은 저장 작업을 수행할 때 SLOAD 유형의 가스에 대해 수수료를 지불해야 합니다. 가스 한도).
다차원 가스에 대한 더 많은 연구는 장단점을 이해하고 이상적인 균형을 식별하는 데 도움이 될 것입니다.

로드맵의 다른 부분에는 어떤 의미가 있나요?

다차원 가스를 성공적으로 구현하면 특정 "최악의 경우" 상황에서 리소스 사용량을 크게 줄일 수 있으므로 STARK 기반 해시 바이너리 트리를 지원하기 위해 성능을 최적화해야 하는 부담이 완화됩니다. 상태 크기 증가에 대한 엄격한 목표를 설정하면 클라이언트 개발자가 향후 요구 사항을 더 쉽게 계획하고 예측할 수 있습니다.
위에서 언급했듯이 가스의 관찰할 수 없는 특성으로 인해 EOF는 다차원 가스의 더 극단적인 버전을 더 쉽게 구현할 수 있습니다.

검증 가능한 지연 함수(VDF)

VDF는 어떤 문제를 해결하려고 합니까?

현재 이더 제안자를 선택하기 위해 RANDAO 기반 무작위성을 사용합니다. RANDAO 기반 무작위성은 각 제안자가 미리 약속한 비밀을 공개하도록 요구하고 공개된 각 비밀을 무작위성에 혼합함으로써 작동합니다. 따라서 각 제안자는 "1 조작권"을 가지며, 나타나지 않음으로써 무작위성을 변경할 수 있습니다(유료). 하나의 제안을 포기하고 두 개의 새로운 제안을 받는 경우는 거의 없기 때문에 이는 제안자에게 의미가 있습니다. 그러나 무작위성을 요구하는 온체인 애플리케이션의 경우 이는 적합하지 않습니다. 이상적으로는 더 강력한 임의성의 소스를 찾는 것입니다.

VDF는 어떻게 작동하나요?

VDF( 검증 가능한 지연 함수 )는 순차적으로만 계산할 수 있고 병렬화를 통해 속도를 높일 수 없는 함수입니다. 간단한 예는 반복되는 해싱입니다: for i in range(10**9): x = hash(x) 계산합니다. SNARK 정확성 증명을 사용하면 출력을 임의의 값으로 사용할 수 있습니다. 아이디어는 입력이 시간 T에서 사용 가능한 정보를 기반으로 선택되는 반면 출력은 시간 T에서 아직 알려지지 않았다는 것입니다. 출력은 누군가가 완전히 계산을 실행하는 시간 T 이후에야 알려질 것입니다. 누구나 계산을 실행할 수 있으므로 결과를 보류하는 것이 불가능하고 결과를 조작할 수도 없습니다.
검증 가능한 지연 기능의 주요 리스크예상치 못한 최적화입니다. 누군가 예상보다 훨씬 빠르게 기능을 실행하는 방법을 발견 하면 시간 T에서 공개되는 정보는 향후 출력을 기반으로 조작될 수 있습니다. 예기치 않은 최적화는 두 가지 방법으로 발생할 수 있습니다.
  • 하드웨어 가속 : 기존 하드웨어보다 훨씬 빠르게 컴퓨팅 루프를 실행할 수 있는 ASIC(Application-Specific Integrated Circuit)을 만듭니다.
  • 우연한 병렬화 : 100배 더 많은 리소스가 필요하더라도 병렬화를 통해 함수를 더 빠르게 실행하는 방법을 찾습니다.
성공적인 VDF를 만드는 것은 효율성과 실용성을 유지하면서 이러한 문제를 모두 피하는 것입니다. (예를 들어, 해시 기반 접근 방식의 한 가지 문제는 실시간 SNARK 증명이 매우 하드웨어를 요구한다는 것입니다. 하드웨어 가속은 종종 공익 행위자가 VDF를 위한 최적의 ASIC에 합리적으로 가깝게 생성하고 배포하도록 함으로써 해결됩니다.)

기존 관련 연구

앞으로 해야 할 일은 무엇이고, 장단점은 어떻게 평가되나요?

현재 이더 연구자들의 요구 사항을 완전히 충족하는 VDF 구조는 없습니다. 그러한 기능을 찾기 위해서는 아직 해야 할 일이 많습니다. 그리고 완벽한 VDF 구조를 찾으면 주요 상쇄 관계는 기능 대 프로토콜 복잡성 및 보안 리스크 입니다. VDF가 안전하다고 생각했지만 안전하지 않은 것으로 판명되면 구현 방법에 따라 보안이 RANDAO 가정(각 공격자가 1비트만 조작할 수 있음) 이하로 감소합니다. 따라서 VDF가 잘못되더라도 프로토콜은 중단되지 않지만 VDF에 크게 의존하는 응용 프로그램이나 새로운 프로토콜 기능은 중단됩니다.

로드맵의 다른 부분에는 어떤 의미가 있나요?

VDF는 제안자 선택의 보안을 향상시키는 것 외에도 암호화된 멤풀뿐만 아니라 무작위성에 의존하는 온체인 애플리케이션에도 사용할 수 있는 이더 프로토콜의 상대적으로 독립적인 구성 요소입니다. 그러나 VDF 기반 암호화 멤풀은 아직 발생하지 않은 추가 암호화 발견에 여전히 의존하고 있습니다.
명심해야 할 한 가지는 하드웨어 불확실성으로 인해 VDF 출력이 생성되는 시점과 해당 출력이 포함되는 시점 사이에 약간의 "간격"이 있다는 것입니다. 이는 정보를 여러 블록 전에 미리 얻어야 함을 의미합니다. 이는 지불할 수 있는 가격일 수 있지만 단일 슬롯 마무리 또는 위원회 선택과 같은 설계에서는 고려해야 합니다.

난독화 및 원샷 서명: 암호화의 먼 미래

우리는 어떤 문제를 해결하려고 합니까?

Nick Szabo의 가장 유명한 기사 중 하나는 " The God Agreement "에 관한 1997년 기사입니다. 이 기사에서 그는 다자간 애플리케이션이 상호 작용을 관리하기 위해 "신뢰할 수 있는 제3자"에 의존하는 경우가 많다는 점을 지적합니다. 그의 견해에 따르면 암호화의 역할은 실제로 특정 행위자를 신뢰하지 않고도 동일한 작업을 수행하는 신뢰할 수 있는 시뮬레이션된 제3자를 만드는 것입니다.
Nick Szabo의 "수학적으로 신뢰할 수 있는 프로토콜"
지금까지 우리는 이 이상에 부분적으로만 근접했습니다. 우리에게 필요한 것은 투명한 가상 컴퓨터(데이터와 계산을 끄거나 검열하거나 조작할 수 없음)이고 개인 정보 보호가 목표가 아닌 경우 확장성이 제한되어 있지만 블록체인은 이를 수행할 수 있습니다. 그러나 개인 정보 보호가 목표 중 하나라면 최근까지 기본 인증을 위한 디지털 서명, 링 서명 , 원시 익명성을 위한 체인 가능한 링 서명 , 신원 기반 암호화 (더 많은 기능을 활성화하기 위해)와 같은 특정 애플리케이션에 대한 몇 가지 특정 프로토콜만 사용할 수 있었습니다. 신뢰할 수 있는 발행자에 대한 특정 가정에 따른 편리한 암호화), Chaumian 전자화폐 에 대한 블라인드 서명 등 이 접근 방식을 사용하려면 새로운 애플리케이션을 만들 때마다 대량 노력이 필요합니다.
2010년대에 우리는 프로그래밍 가능한 암호화를 기반으로 한 또 다른 더욱 강력한 접근 방식을 처음으로 보았습니다. 모든 새로운 애플리케이션에 대해 새로운 프로토콜을 생성하는 대신 강력한 새 프로토콜(특히 ZK-SNARK)을 사용하여 임의의 프로그램 에 암호화 보장을 추가할 수 있습니다. ZK-SNARK를 사용하면 사용자는 확인하기 쉽고 주장 자체 이외의 데이터를 공개하지 않는 방식으로 자신이 보유한 데이터에 대한 임의의 주장을 증명할 수 있습니다. 이는 개인 정보 보호와 확장성을 동시에 향상시키는 큰 진전이며, 제 생각에는 인공 지능 분야에서 Google의 변혁기와 같습니다. 수천 년 동안 지속된 특정 애플리케이션 문제로 인해 모든 종류의 귀찮은 문제를 해결하기 위해 연결할 수 있는 보편적인 솔루션이 갑자기 등장했습니다.
더욱이 ZK-SNARK는 매우 강력한 세 가지 유사한 범용 기본 요소 중 첫 번째에 불과합니다. 이 프로토콜은 너무 강력해서 생각할 때마다 어린 시절 Yu-Gi-Oh!에서 사용했던 극도로 강력한 이집트 신 덱이 생각납니다(너무 강력해서 결투에서는 사용할 수 없습니다). 마찬가지로 암호화에는 ZK-SNARK, FHE(완전 동형 암호화) 및 난독화라는 "세 가지 신 계약"도 있습니다.

완전 동형 암호화 및 난독화 기술인 ZK-SNARK는 어떻게 작동합니까?

우리는 ZK-SNARK를 높은 수준의 성숙도로 개발했습니다. 지난 5년 동안 증명 속도와 개발자 친화성이 크게 향상되었으며 ZK-SNARK는 이더 확장성과 개인 정보 보호 전략의 초석이 되었습니다. 그러나 ZK-SNARK는 이를 증명하기 위해 데이터를 알아야 한다는 점에서 중요한 한계를 가지고 있습니다. ZK-SNARK 애플리케이션의 모든 상태에는 "소유자"가 있어야 하며, 이 "소유자"는 모든 읽기 또는 쓰기를 승인할 수 있어야 합니다.
두 번째 프로토콜에는 이러한 제한이 없으며 FHE( 완전 동형 암호화 )입니다. FHE를 사용하면 데이터를 보지 않고도 암호화된 데이터에 대해 모든 계산을 수행할 수 있습니다. 이러한 방식으로 데이터와 알고리즘을 비공개로 유지하면서 사용자 이익을 위해 사용자 데이터에 대한 계산을 수행할 수 있습니다. 또한 거의 완벽한 보안 및 개인 정보 보호를 보장하여 MACI와 같은 투표 시스템을 확장할 수도 있습니다. FHE는 실제 적용에는 너무 비효율적이라는 비판을 항상 받아왔지만 이제는 충분히 효율적이게 되었고 관련 적용이 등장했습니다.
Cursive 는 양방향 컴퓨팅과 FHE를 사용하여 공통 관심사를 발견하고 개인 정보를 보호하는 애플리케이션입니다.
그러나 FHE에는 한계도 있습니다. FHE를 기반으로 하는 모든 기술에는 여전히 키를 보유할 사람이 필요합니다. 키 보유 방법은 M-of-N 분산 설정일 수도 있고 TEE를 사용하여 두 번째 방어 계층을 추가할 수도 있지만 여전히 제한 사항이 있습니다.
그리고 이는 또한 세 번째 프로토콜인 구별 불가능 난독화로 이어집니다. 프로토콜은 아직 성숙되지 않았지만 2020년 현재 표준 보안 가정을 ​​기반으로 하는 이론적으로 유효한 프로토콜이 이미 있으며 최근 구현이 시작되었습니다 . 구별할 수 없는 난독화를 사용하면 임의의 계산을 수행하는 "암호화된 프로그램"을 생성하여 프로그램의 모든 내부 세부 정보를 숨길 수 있습니다. 간단한 예로, 소수 서명에만 사용할 수 있는 난독화된 프로그램에 개인 키를 넣은 다음 해당 프로그램을 다른 사람에게 배포할 수 있습니다. 그런 다음 이 사람들은 프로그램을 사용하여 소수에 서명할 수 있지만 키를 검색할 수는 없습니다. 물론, 구별 불가능한 난독화 기능은 이보다 훨씬 뛰어나며 해싱 알고리즘과 함께 다른 암호화 기본 요소 등을 구현하는 데 사용할 수 있습니다.
난독화된 프로그램이 할 수 없는 유일한 일은 자신이 복사되는 것을 방지하는 것입니다. 그러나 이를 위해 훨씬 더 강력한 것, 즉 모든 사람이 양자 컴퓨터를 가지고 있다고 가정할 때 양자 원샷 서명이 곧 등장할 것입니다.
난독화 및 일회성 서명을 통해 거의 완벽한 무신뢰 제3자를 만들 수 있습니다. 암호화만으로는 할 수 없는 유일한 일이자 블록체인이 달성해야 할 유일한 일은 검열에 대한 저항을 보장하는 것입니다. 이러한 기술은 이더 자체를 더욱 안전하게 만들 뿐만 아니라 그 위에 더욱 강력한 애플리케이션을 구축할 수 있게 해줍니다.
이러한 기본 요소에 권한이 부여되는 방식을 이해하기 위해 "투표"의 예를 통해 더 자세히 이해할 수 있습니다. 투표는 매우 강력한 검증 가능성 및 개인 정보 보호를 포함하여 여러 가지 까다로운 보안 속성을 충족해야 하는 흥미로운 주제입니다. 강력한 보안 속성을 갖춘 투표 프로토콜은 수십 년 동안 존재해 왔지만, 2차 투표 , 쌍 경계 2차 융자 , 클러스터 매칭 2차 융자 등과 같은 임의의 투표 프로토콜을 처리할 수 있는 설계가 필요하다면 어떻게 될까요? "투표 계산" 단계는 임의의 절차입니다.
  • 먼저, 블록체인 온체인 공개적으로 투표를 한다고 가정해 보겠습니다. 이런 방식으로 우리는 공개 검증 가능성(투표 집계 규칙 및 자격 규칙을 포함하여 누구나 최종 결과가 올바른지 확인할 수 있음)과 검열 저항(사람들이 투표를 중단할 수 없음)을 가지지만 프라이버시는 없습니다.
  • 둘째, ZK-SNARK를 추가하여 개인 정보 보호를 보장할 수 있습니다. 각 투표는 익명으로 진행되며 승인된 유권자만 투표할 수 있고 각 유권자는 한 번만 투표할 수 있습니다.
  • 그런 다음 MACI 메커니즘을 추가할 수 있습니다. 투표는 중앙 서버의 암호 해독 키로 암호화됩니다. 중앙 서버는 중복 투표 제거를 포함한 투표 계산 프로세스를 수행하고 ZK-SNARK 증명 답변을 게시해야 합니다. 이는 이전 보장을 유지하지만(서버가 부정 행위를 하는 경우에도!), 서버가 정직하다면 강제 저항 보장을 추가합니다. 사용자는 원하더라도 자신이 어떻게 투표했는지 증명할 수 없습니다. 이는 사용자가 투표를 했다는 것을 증명할 수 있지만 해당 투표를 상쇄하기 위해 다른 투표를 하지 않았다는 것을 증명할 수 없기 때문입니다. 이를 통해 뇌물 수수 및 기타 공격을 방지할 수 있습니다.
  • 그런 다음 FHE 내부에서 통계를 수행하고 N/2/N의 임계값 암호 해독 계산을 사용하여 암호를 해독할 수 있으므로 강제 저항은 1-of-1 대신 N/2-of-N 이 보장됩니다.
  • 그런 다음 통계 프로그램을 난독화하고 허가가 있는 결과만 출력할 수 있도록 난독화 프로그램을 설계할 수 있습니다. 이는 블록체인 합의 증명, 일정량의 작업 증명 또는 둘 다일 수 있습니다. 이는 강제 저항 보장을 거의 완벽하게 만들 것입니다. 블록체인 합의의 경우 작업 증명의 경우 모든 사람이 서로 다른 유권자를 사용하여 공모하더라도 이를 위반하려면 검증자의 51%가 필요합니다. 개별 유권자의 행동을 클레임 하기 위해 통계를 다시 실행하는 것도 엄청난 비용이 듭니다. 프로그램이 최종 투표 수를 무작위로 약간 조정하도록 하여 개별 유권자의 행동을 클레임 더 어렵게 만들 수도 있습니다.
  • 마지막으로 원샷 서명(특정 유형의 정보에 서명하는 데 서명을 한 번만 사용할 수 있도록 허용하는 양자 컴퓨팅에 기반한 기본 원칙)을 추가하여 강제 저항 보장을 완벽하게 만들 수 있습니다.
구별할 수 없는 난독화를 사용하면 다른 강력한 애플리케이션도 사용할 수 있습니다. 예를 들어:
  • DAO, 온체인 경매 및 임의의 내부 비밀 상태가 있는 기타 애플리케이션.
  • 진정한 보편적인 신뢰할 수 있는 설정 : 키가 포함된 난독화된 프로그램을 만들고, hash(key, program) 프로그램에 대한 입력으로 사용하고, 출력을 제공하기 위해 모든 프로그램을 실행할 수 있습니다. 이러한 프로그램을 사용하면 누구나 프로그램에 기존 키를 자신의 키와 결합하여 자신의 프로그램에 넣을 수 있으므로 설정이 확장됩니다. 이는 모든 프로토콜에 대해 1-of-N 신뢰할 수 있는 설정을 생성하는 데 사용할 수 있습니다.
  • 단일 서명으로만 확인하는 ZK-SNARK: 이를 구현하는 것은 매우 간단합니다. 신뢰할 수 있는 설정에서 누군가는 유효한 ZK-SNARK인 경우에만 키로 메시지에 서명하는 난독화된 프로그램을 만들 것입니다.
  • 암호화된 멤풀: 향후 온체인 이벤트가 발생할 경우에만 해독될 수 있도록 트랜잭션을 암호화합니다. 여기에는 VDF의 성공적인 실행도 포함됩니다.
일회성 서명을 사용하면 검열 공격은 여전히 ​​가능하지만 블록체인을 51% 최종 역전 공격에 면역으로 만들 수 있습니다. 일회성 서명과 유사한 기본 요소는 양자 화폐에 힘을 실어 주고 블록체인 없이 이중 지출 문제를 해결할 수 있습니다. 하지만 더 많은 복잡한 애플리케이션에는 여전히 블록체인이 필요합니다.
이러한 기본 요소를 충분히 효율적으로 만들 수 있다면 전 세계 대부분의 애플리케이션이 탈중앙화 수 있습니다. 주요 병목 현상은 구현의 정확성을 확인하는 것입니다.

기존 관련 연구

앞으로 해야 할 일은 무엇이고, 장단점은 어떻게 평가되나요?

우선, 식별 불가능한 난독화 기술의 개발은 애플리케이션에 비해 개발 속도가 수백만 배 느리며 전혀 사용할 수 없는 수준입니다. 구별 불가능 난독화는 "이론적" 다항식 시간에 실행되는 것으로 유명하지만 실제로는 우주의 수명보다 더 오래 실행됩니다. 최근 프로토콜로 인해 런타임이 덜 극단적으로 바뀌었지만 일반 사용에는 여전히 오버헤드가 너무 높습니다. 게다가 양자 컴퓨터는 존재하지도 않습니다. 현재 우리가 인터넷에서 읽을 수 있는 모든 구성은 4비트보다 큰 계산을 수행할 수 없는 프로토타입이거나 양자 구성 요소가 있을 수 있지만 실제로 의미 있게 실행될 수 없기 때문에 진정한 양자 컴퓨터가 아닙니다. Shor의 알고리즘 이나 Grover의 알고리즘 과 같은 계산입니다. 최근 '진짜' 양자컴퓨터가 더 이상 멀지 않다는 조짐이 나타나고 있다. 그러나 조만간 '진짜' 양자컴퓨터가 상용화된다 하더라도 일반 사람들이 노트북이나 휴대폰에 양자컴퓨터를 탑재하는 날은 올 가능성이 높다. 강력한 기관이 타원 곡선 암호화를 해독할 수 있는 양자 컴퓨터를 인수한 지 수십 년이 지난 후에 나온 것입니다. 구별 불가능한 난독화의 경우 주요 균형점은 보안 가정입니다. 이국적인 가정을 사용하는 좀 더 급진적인 디자인이 있습니다. 이러한 설계의 런타임은 일반적으로 더 현실적이지만 이러한 특정 가정은 결국 깨질 수 있습니다 . 시간이 지남에 따라 우리는 결국 격자 암호에 대해 충분히 학습하여 깨질 수 없는 가정을 할 수 있습니다. 그러나 이 길은 리스크. 보다 보수적인 접근 방식은 보안이 "표준" 가정으로 축소될 수 있는 것으로 입증된 프로토콜을 고수하는 것이지만, 이는 충분히 빠르게 실행되는 프로토콜을 얻는 데 더 오랜 시간이 걸릴 수 있음을 의미할 수 있습니다.

로드맵의 다른 부분에는 어떤 의미가 있나요?

매우 강력한 암호화 기술은 완전한 판도를 바꿀 수 있습니다. 예를 들어:
  • 서명만큼 쉽게 확인할 수 있는 ZK-SNARK를 얻을 수 있다면 집계 프로토콜이 필요하지 않고 온체인 서명을 직접 확인할 수 있습니다.
  • 일회성 서명은 보다 안전한 지분 증명 프로토콜을 의미할 수 있습니다.
  • 많은 복잡한 개인 정보 보호 프로토콜은 개인 정보 보호 EVM을 사용하여 "그냥" 대체할 수 있습니다.
  • 암호화된 mempool은 구현하기가 더 쉽습니다.
처음에는 이더 L1 자체가 보안 가정을 ​​준수해야 하기 때문에 애플리케이션 계층이 큰 이점을 얻게 됩니다. 그러나 ZK-SNARK의 출현과 마찬가지로 애플리케이션 계층의 사용만으로도 게임 체인저가 될 수 있습니다.

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