폴카닷 개발사 패리티 테크, 인력의 30%를 감축하며 약세장이 끝나지 않았음을 보여주다
모두가 비트코인 상승을 축하하고 있지만, 암호화폐의 겨울은 정말 끝났을까요?
Clement저자: 이더리움 창립자 비탈릭, 편집자: 골든 파이낸스 덩 통
주: 이 글은 이더리움 창립자 비탈릭이 최근 발표한 이더리움 프로토콜의 미래에 대한 연재 기사 <이더리움 프로토콜의 미래, 6부: 더 스퍼지> 중 여섯 번째 파트입니다. https://vitalik.eth.limo/general/2024/10/29/futures6.html" target="_blank">이더리움 프로토콜의 미래, 6부: 더 스플럭지", 5부에서는 "비탈릭: 이더 프로토콜의 가능한 미래 - 퍼지", 파트 4는 "비탈릭: 이더리움의 미래 더 버지"에서 확인할 수 있습니다. 3부는 "비탈릭: 이더리움의 더 스컬지 단계를 위한 주요 목표"에서, 2부는 다음 링크에서 확인할 수 있습니다. "비탈릭: 이더 프로토콜의 서지 단계가 어떻게 진화해야 하는가", 1부 "이더리움 지분 증명에서 개선할 수 있는 것들"을 참조하세요. 다음은 6부 전문입니다.
피드백과 의견을 보내주신 저스틴 드레이크와 팀 베이코에게 특별히 감사드립니다.
어떤 것들은 카테고리로 분류하기 어렵습니다. 이더 프로토콜의 설계에는 이더의 성공에 중요하지만 큰 하위 범주에 속하지 않는 '작은 것들'이 많이 있습니다. 실제로 그중 절반 정도는 다양한 EVM 개선과 관련이 있으며, 나머지는 다양한 틈새 주제로 구성되어 있습니다. 이것이 바로 "더 스플러지"의 목적입니다.
더 스플래지, 2023년까지의 로드맵
더 스플럭지: 주요 목표
EVM을 고성능과 안정성의 '궁극'으로 끌어올리기 위한 노력 고성능과 안정적인 "최종 상태"
모든 사용자가 더 안전하고 편리한 계정의 혜택을 누릴 수 있도록 프로토콜에 계정 추상화 도입
모든 사용자가 더 안전하고 편리한 계정의 혜택을 누릴 수 있도록 프로토콜에 EVM 도입
거래 수수료 경제성을 최적화하고 확장성을 개선하는 동시에 위험을 줄입니다
장기적으로 이더를 개선할 수 있는 고급 암호화 기술을 탐색합니다
Ether을 만들 수 있는 고급 암호화 기술을 탐색합니다
장기적으로 Ether을 만들 수 있는 고급 암호화 기술을 탐색합니다
. 고급 암호화폐
오늘날의 EVM은 정적 분석이 어렵기 때문에 효율적인 구현을 만들고, 공식적으로 코드를 검증하고, 시간이 지남에 따라 확장하기가 어렵습니다. 또한 매우 비효율적이어서 사전 컴파일을 통해 명시적으로 지원하지 않는 한 많은 형태의 고급 암호화를 구현하기 어렵습니다. 무엇이며 어떻게 작동하나요?
현재 EVM 개선 로드맵의 첫 번째 단계는 다음 하드 포크에 포함될 예정인 EVM 객체 형식(EOF)이며, EOF는 많은 고유 기능을 갖춘 새 버전의 EVM 코드를 지정하기 위한 일련의 EIP로, 특히 다음과 같은 특징이 있습니다.
코드(실행 가능하지만 EVM에서 읽을 수 없음)와 데이터(실행 가능하지만 읽을 수 없음)를 분리합니다.
동적 점프는 비활성화되고 정적 점프만 허용됩니다.
EVM 코드는 더 이상 가스 관련 정보를 관찰할 수 없습니다.
새로운 명시적 서브루틴 메커니즘이 추가되었습니다.
EOF 코드의 구조
구형 컨트랙트는 계속 존재하며 생성할 수 있지만, 결국 더 이상 사용되지 않을 수도 있습니다(심지어 EOF 코드로 강제 전환될 수도 있음). 새로운 컨트랙트는 우선 서브루틴 기능을 사용하여 바이트코드가 약간 더 작아지고, 새로운 EOF 전용 기능이 추가되거나 EOF 전용 가스 비용이 절감되는 등 EOF의 효율성 이점을 누릴 수 있습니다.
EOF의 도입으로 추가 업그레이드를 도입하는 것이 더 쉬워졌습니다. 현재 가장 완벽한 것은 모듈식 산술용으로 설계된 새로운 연산 집합을 생성하여 다른 연산 코드가 액세스할 수 없는 새로운 메모리 공간에 배치하는 EVM 모듈식 산술 확장(EVM-MAX)입니다. 이를 통해 몽고메리 곱셈과 같은 최적화를 사용할 수 있습니다.
새로운 아이디어는 EVM-MAX와 단일 명령어 다중 데이터(SIMD) 기능을 결합하는 것입니다. SIMD는 그렉 콜빈의 EIP-616 이후 이더넷을 위한 아이디어로, 해시 함수, 32비트 STARK, 도트 매트릭스 기반 암호화 등 다양한 형태의 암호화를 가속하는 데 사용할 수 있으며, EVM-MAX와 SIMD는 함께 EVM의 성능 지향적 확장을 이루는 한 쌍을 이룹니다.
결합된 EIP의 대략적인 설계는 EIP-6690으로 시작하여 다음과 같습니다.
(i) 모든 홀수 또는 (ii) 2의 모든 거듭제곱(최대 2^2 768)를 모듈로
각 EVMMAX 연산자(add, sub, mul)에 대해 3개의 즉시 숫자 x, y, z를 사용하는 대신 7개의 즉시 숫자 x_start, x_skip, y_start, y_skip, z_start, z_skip, count를 사용하는 버전을 추가합니다. 및 카운트. 파이썬 코드에서 이러한 연산 코드는 다음과 같은 연산을 수행합니다.
실제 구현에서 병렬로 처리되는 경우는 예외입니다.
가능하면 최소 2의 거듭제곱에 XOR, AND, OR, NOT 및 SHIFT(순환 및 비순환)를 추가합니다. 또한 ISZERO를 추가합니다(출력을 EVM 메인 스택으로 푸시).
이것은 타원 곡선 암호화, 작은 도메인 암호화(예: 포세이돈, 원형 STARK), 기존 해시 함수(예: SHA256, KECCAK, BLAKE) 및 도트 매트릭스 기반 암호화를 구현하기에 충분히 강력할 것입니다.
다른 EVM 업그레이드도 구현될 수 있지만 지금까지는 덜 주목받고 있습니다.
EOF: https:// evmobjectformat.org/
EVM-MAX: https://eips.ethereum.org/EIPS/eip-6690
SIMD: https://eips.ethereum.org/EIPS/eip-616
현재 EOF 계획은 다음 하드포크에 포함되어 있습니다. 이전 하드포크의 기능들이 마지막 순간에 제거된 적이 있기 때문에 언제든지 제거할 수 있지만, 그렇게 하는 것은 어려운 일이 될 것입니다. EOF를 제거하면 향후 EVM 업그레이드에서 EOF를 사용할 수 없게 되는데, 이는 가능하지만 더 어려울 수 있습니다.
EVM의 주요 장단점은 L1 복잡성 대 인프라 복잡성인데, EOF는 EVM 구현에 추가해야 할 코드가 많고 정적 코드 검사가 매우 복잡합니다. 그러나 그 대가로 상위 수준 언어의 단순화, EVM 구현의 단순화 및 기타 이점을 얻을 수 있습니다. 이더넷 L1의 지속적인 개선에 우선순위를 두는 로드맵에는 EOF가 포함되고 이를 기반으로 구축될 것이라고 말해도 충분합니다.
주요 노력은 EVM-MAX와 SIMD 같은 것을 구현하고 다양한 암호화 작업에 얼마나 많은 가스가 필요한지 벤치마킹하는 것입니다.
다른 로드맵과 어떻게 상호 작용하나요?
L1은 L2가 동일한 작업을 더 쉽게 수행할 수 있도록 EVM을 조정합니다. 하나의 조정은 다른 조정과 함께 일부 비호환성을 발생시키며, 이는 자체적인 단점이 있습니다. 또한 EVM-MAX와 SIMD는 많은 증명 시스템의 가스 비용을 줄여 보다 효율적인 L2로 이어집니다. 또한 효율성에 큰 영향을 주지 않고 동일한 작업을 수행할 수 있는 EVM 코드로 대체하여 더 많은 사전 컴파일을 더 쉽게 제거할 수 있습니다.
현재 거래는 한 가지 방법, 즉 ECDSA 서명으로만 확인할 수 있습니다. 계정 추상화는 이를 뛰어넘어 계정에 대한 검증 로직을 임의의 EVM 코드로 허용하는 것을 목표로 합니다. 이를 통해 다양한 적용이 가능합니다.
양자 내성 암호화로 전환;
이전 키 교체(널리 권장되는 보안 관행으로 간주)
다중 서명 지갑 및 소셜 복구 지갑;
하나의 키를 사용하여 낮은 가치 작업에 서명하고 다른 키(또는 키 세트)를 사용하여 높은 가치 작업에 서명;
개인정보 보호 프로토콜이 중계자 없이 작동하도록 허용하여 복잡성을 크게 줄이고 복잡성을 크게 줄이고 주요 중앙 종속성 지점을 제거합니다.
2015년 계정 추상화가 시작된 이후, 이더리움은 없지만 일부 ERC20이 있는 계정에서 해당 ERC20으로 가스비를 지불할 수 있는 기능과 같은 여러 '편의성 목표'를 포함하도록 목표가 확장되었습니다. 이러한 목표의 요약은 아래 표에 나와 있습니다.
img src="https://img.jinse.cn/7313720_watermarknone.png" title="7313720" alt="H1zgVd7sDijV9duJNZiafWujqp5akPkBOzgehpGW.jpeg">
여기서 MPC는 다자간 컴퓨팅으로, 키를 여러 부분으로 분할하여 여러 장치에 저장하고 암호화를 사용하여 키의 일부를 직접 결합하지 않고도 서명을 생성하는 40년 된 기술입니다.
EIP-7702는 다음 하드포크에서 도입될 예정인 EIP로, 단기적으로 모든 사용자의 사용자 경험을 개선하고 두 개의 생태계로 분리되는 것을 방지하기 위해 EOA 사용자를 포함한 모든 사용자에게 계정 추상화의 편리함을 제공해야 한다는 인식이 높아진 결과입니다. 이 작업은 EIP-3074에서 시작되어 EIP-7702에서 마무리되었으며, EOA(외부 소유 계정, 즉 ECDSA 서명으로 제어되는 계정)를 포함한 모든 사용자가 계정 추상화라는 '편의 기능'을 사용할 수 있게 되었습니다.
차트에서 볼 수 있듯이, 일부 과제(특히 '편의성' 과제)는 다자간 컴퓨팅이나 EIP-7702와 같은 점진적 기술로 해결할 수 있지만, 계정 추상화에 대한 원래 제안의 보안 목표는 대부분 원래 문제로 돌아가 스마트 콘트랙트 코드가 트랜잭션 유효성 검사를 제어하도록 허용해야만 해결될 수 있습니다. 트랜잭션 유효성 검사를 제어합니다. 지금까지 이 작업이 이루어지지 않은 이유는 이를 안전하게 구현하는 것이 어렵기 때문입니다.
본질적으로 계정 추상화는 간단합니다. 스마트 컨트랙트(EOA뿐만 아니라)를 통해 트랜잭션을 시작할 수 있도록 허용하는 것입니다. 탈중앙화된 네트워크를 유지하고 서비스 거부 공격을 방지하는 데 도움이 되는 방식으로 이를 수행하는 데서 모든 복잡성이 비롯됩니다.
주요 과제의 예로 다중 무효화 문제를 들 수 있습니다.
이미지 src="https://img.jinse.cn/7313721_watermarknone.png" title="7313721" alt=" xUJKfgKIWjqY3Le2H3hQKtzoDzVVAlMc3QWJq03P.jpeg">
검증 기능이 모두 단일 값 S에 의존하는 1,000개의 계정이 있고 메모리 풀에 S의 현재 값을 기준으로 유효한 트랜잭션이 있는 경우, S의 값을 뒤집는 거래가 풀의 다른 모든 거래를 무효화할 수 있습니다. . 이를 통해 공격자는 매우 낮은 비용으로 메모리 풀에 스팸을 전송하여 네트워크 노드의 리소스를 막아버릴 수 있습니다.
수년에 걸쳐 DoS의 위험을 제한하면서 기능을 확장하려는 시도로 인해 "이상적인 계정 추상화"를 달성하는 방법에 대한 해결책에 대한 합의가 이루어졌습니다: ERC-4337.
ERC-4337 작동 방식은 사용자 작업의 처리를 두 단계로 나눈다는 점입니다: 유효성 검사 및 실행. 모든 유효성 검사가 먼저 처리된 다음 모든 실행이 처리됩니다. 메모리 풀에서는 사용자 작업의 유효성 검사 단계에서 자체 계정만 건드리고 환경 변수를 읽지 않는 경우에만 사용자 작업이 허용됩니다. 이렇게 하면 여러 번의 무효화 공격을 방지할 수 있습니다. 또한 인증 단계에서는 엄격한 가스 제한을 적용합니다.
ERC-4337은 이더리움 클라이언트 개발자들이 병합에 집중하고 다른 기능을 처리할 여력이 없었을 때 추가 프로토콜 표준(ERC)으로 설계되었습니다. 그렇기 때문에 ERC-4337은 일반 트랜잭션 대신 자체 객체(사용자 작업이라고 함)를 사용합니다. 하지만 최근 저희는 프로토콜에 최소한 일부라도 포함시켜야 할 필요성을 깨달았습니다. 두 가지 주요 이유는 다음과 같습니다.
패킷당 고정된 최대 10만 가스 오버헤드와 사용자 행동당 수천 달러의 추가 수수료 등 컨트랙트로서 엔트리포인트의 내재적인 비효율성입니다;
이더 속성(예: 포함 목록에 의해 생성된 포함 보장)이 계정 추상화 사용자에게 이월되도록 해야 합니다.
또한 ERC-4337은 두 가지 기능을 확장합니다.
결제자: 한 계정이 다른 계정을 대신하여 수수료를 지불할 수 있는 기능입니다. 기능. 이는 유효성 검사 단계에서 발신자의 계정 자체에만 접근할 수 있다는 규칙을 위반하는 것이므로, 납부자 메커니즘을 허용하고 보호하기 위해 특별한 처리가 도입되었습니다.
어그리게이터: BLS 어그리게이션 또는 SNARK 기반 어그리게이션과 같은 서명 어그리게이션을 지원하는 기능입니다. 이는 집계에서 데이터 효율성을 극대화하는 데 필요합니다.
계정 추상화의 역사에 대한 소개: https://www.youtube.com/watch?v=iLf8qpOmxQc
ERC-4337: https://eips.ethereum.org/EIPS/eip-4337
EIP-7702: https://eips. ethereum.org/EIPS/eip-7702
BLSWallet 코드(집계 사용): https://github.com/getwax/bls-wallet
EIP-7562(임베디드 계정 추상화):https://eips.ethereum.org/EIPS/eip- 7562
EIP-7701(EOF 기반 임베디드 AA): https://eips.ethereum.org/EIPS/eip-7701
남은 주요 과제는 계정 추상화를 프로토콜에 완전히 통합하는 방법입니다. 최근 계정 추상화를 위해 널리 사용되는 EIP는 EOF 위에 계정 추상화를 구현하는 EIP-7701입니다. 계정에는 유효성 검사를 위한 별도의 코드 섹션이 있을 수 있으며, 계정에 해당 코드 섹션이 설정되어 있으면 해당 코드가 해당 계정의 트랜잭션에 대한 유효성 검사 단계 중에 실행됩니다.
EIP-7701 계정에 대한 EOSF 코드 구조
이 접근 방식의 흥미로운 점은 두 가지가 명확해진다는 점입니다. 로컬 계정 추상화를 보는 동등한 방법:
EIP-4337이지만 프로토콜의 일부로
새로운 유형의 EOA에서 서명 알고리즘이 EVM 코드 실행
인증 중에 실행할 수 있는 코드의 복잡성을 심각하게 제한하는 것부터 시작하면 - 외부 상태에 대한 액세스를 허용하지 않거나 양자 내성 또는 개인 정보 보호 애플리케이션에서 사용할 수 없도록 가스 제한을 초기에 너무 낮게 설정하는 것부터 시작하면 -- 이 접근법의 안전성은 분명합니다. ECDSA 검증을 비슷한 시간이 걸리는 EVM 코드 실행으로 대체할 수 있기 때문입니다. 그러나 시간이 지남에 따라 개인 정보 보호 애플리케이션이 리피터 없이 작동하고 양자 내성을 갖추는 것이 중요하므로 이러한 제한을 완화해야 할 것입니다. 이를 위해서는 매우 간단한 인증 단계 없이도 보다 유연한 방식으로 DoS 리스크를 처리할 수 있는 방법을 찾아야 합니다.
주요 절충점은 "더 오래 기다렸다가 최적의 솔루션을 얻는 것"보다는 "더 적은 수의 사람들이 만족할 수 있는 솔루션을 최대한 빨리 얻는 것"인 것 같습니다. 이상적인 접근 방식은 일종의 하이브리드 방식일 수 있습니다. 한 가지 하이브리드 접근 방식은 일부 사용 사례를 더 빨리 처리하고 다른 사용 사례를 처리하는 데 더 많은 시간을 할애하는 것입니다. 또 다른 접근 방식은 보다 야심찬 버전의 계정 추상화를 L2에 먼저 배포하는 것입니다. 그러나 여기에는 이 제안을 채택하려는 L2 팀이 나중에 L1 및/또는 다른 L2가 호환 가능한 것을 채택할 것이라는 확신을 가져야 한다는 과제가 따릅니다.
우리가 명시적으로 고려해야 할 또 다른 애플리케이션은 L1 또는 전용 L2에 계정과 관련된 상태를 저장하지만 L1 및 호환되는 모든 L2에서 사용할 수 있는 키스토어 계정입니다. 이를 효과적으로 수행하려면 L2에서 L1SLOAD 또는 REMOTESTATICCALL과 같은 옵코드를 지원해야 할 수도 있지만, 이를 지원하려면 L2에서 계정 추상화 구현도 필요합니다.
포함 목록은 계정 추상화 트랜잭션을 지원해야 합니다. 사실, 포함 목록과 탈중앙화된 메모리 풀의 요구사항은 매우 유사하지만, 포함 목록이 조금 더 유연합니다. 또한, 계정 추상화 구현은 가능한 한 L1과 L2에서 조화를 이루는 것이 이상적입니다. 향후 대부분의 사용자가 키스토어 집계를 사용할 것으로 예상되는 경우 계정 추상화 설계 시 이를 고려해야 합니다.
EIP-1559는 2021년에 이더리움에 출시되었으며 평균 블록 포함 시간을 크게 개선했습니다.
그러나 현재 EIP-1559의 구현은 몇 가지 면에서 불완전합니다.
공식에는 약간의 결함이 있습니다: 블록의 50%를 목표로 하는 대신에. 대신 분산에 따라 전체 블록의 50~53%를 목표로 합니다(이는 수학자들이 "AM-GM 불평등"이라고 부르는 것과 관련이 있습니다).
극한 조건에서는 충분히 빠르게 조정되지 않습니다.
이 후의 블롭 공식(EIP-4844)은 첫 번째 문제를 해결하기 위해 명시적으로 고안되었으며 일반적으로 더 간결했습니다. EIP-1559 자체나 EIP-4844 모두 두 번째 문제를 해결하려고 시도하지 않았습니다. 따라서 현재 상황은 서로 다른 두 가지 메커니즘을 포함하는 혼란스러운 중간 상태이며, 시간이 지남에 따라 두 가지 모두 개선되어야 하는 경우도 있습니다.
이 외에도 이더리움 리소스 가격 책정에는 EIP-1559와 관련이 없지만 EIP-1559를 조정하여 해결할 수 있는 다른 약점들이 있습니다. 가장 큰 문제는 평균적인 경우와 최악의 경우의 차이입니다. 이더의 리소스 가격은 블록의 전체 가스 소비량이 하나의 리소스를 차지하는 최악의 경우를 처리하도록 설정되어야 하지만, 평균적인 경우의 사용량은 훨씬 낮아 비효율성을 초래할 수 있습니다.
이러한 비효율성에 대한 해결책은 다차원 가스로, 리소스마다 다른 가격과 한도를 설정하는 것입니다. 이 개념은 기술적으로는 EIP-1559와 독립적이지만 EIP-1559를 사용하면 더 쉬워집니다. EIP-1559가 없으면 여러 리소스 제약이 있는 블록을 최적으로 패킹하는 것은 복잡한 다차원 백패킹 문제입니다. EIP-1559를 사용하면 대부분의 블록이 어떤 리소스에도 완전히 로드되지 않으므로 "충분히 지불하는 것은 무엇이든 수락"이라는 간단한 알고리즘으로 충분합니다.
현재 실행과 블롭을 위한 다차원 가스가 있으며, 원칙적으로 호출 데이터, 상태 읽기/쓰기, 상태 크기 확장 등 더 많은 차원을 추가할 수 있습니다.
EIP-7706은 호출 데이터에 대한 새로운 가스 차원을 도입합니다. 또한 세 가지 유형의 가스를 모두 단일(EIP-4844 스타일) 프레임에 속하게 함으로써 다차원 가스 메커니즘을 단순화하여 EIP-1559의 수학적 단점을 해결합니다.
EIP-7623은 완전히 새로운 차원을 도입하지 않고 최대 통화 데이터를 보다 엄격하게 제한함으로써 평균 사례 대 최악의 사례 리소스 문제에 대한 보다 정확한 솔루션입니다.
향후 방향은 업데이트 속도 문제를 해결하고 EIP-4844 메커니즘이 도입한 핵심 불변성(즉, 평균 사용량이 장기적으로 목표에 완벽하게 근접한다는 것)을 유지하면서 기본 비용을 계산하는 더 빠른 알고리즘을 찾는 것입니다. 어떤 연구가 존재하나요?
EIP-1559 FAQ: https://notes.ethereum.org/@vbuterin/eip-1559-faq
EIP-1559 Empirical Analysis: https://dl.acm. org/doi/10.1145/3548606.3559341
신속한 조정을 위한 개선 제안:https://kclpure.kcl.ac.uk/ws/ portalfiles/portal/180741021/Transaction_Fees_on_a_Honeymoon_Ethereums_EIP_1559_One_Month_Later.pdf
EIP-4844 FAQ, 기본 수수료 메커니즘에 대한 섹션: https://notes.ethereum.org/@vbuterin/proto_danksharding_faq#How-does-the- exponential-EIP-1559-blob-fee-adjustment-mechanism-work
EIP-7706:https://eips.ethereum.org/EIPS/eip-7706
EIP-7623: https://eips. ethereum.org/EIPS/eip-7623
멀티디멘셔널 가스: https://vitalik.eth.limo/general/2024/05/09/multidim.html
다차원 가스에는 두 가지 주요 단점이 있습니다.
프로토콜의 복잡성이 증가합니다
블록을 필요한 용량만큼 채우는 데 필요한 블록을 용량까지 채우는 최적의 알고리즘
프로토콜 복잡성은 콜데이터의 경우 비교적 사소한 문제이지만 "내부 EVM" 가스 차원(예: 스토리지 읽기 및 쓰기)에서는 훨씬 더 큰 문제입니다. 문제는 사용자만 가스 한도를 설정하는 것이 아니라 컨트랙트가 다른 컨트랙트를 호출할 때 한도를 설정한다는 것입니다. 그리고 현재 한도를 설정할 수 있는 유일한 방법은 일차원적으로만 가능합니다.
이 문제를 해결하는 간단한 방법은 다차원 가스를 EOF 내에서만 사용할 수 있게 하여 컨트랙트가 다른 컨트랙트를 호출할 때 가스 한도를 설정할 수 없도록 하는 것입니다. 비 EOF 콘트랙트는 스토리지 작업을 수행할 때 모든 유형의 가스에 대해 비용을 지불해야 합니다(예: SLOAD가 블록 스토리지 액세스 가스 한도의 0.03%를 사용하는 경우, 비 EOF 사용자도 가스 한도 시행을 위해 가스 한도의 0.03%를 청구함)
다차원 가스에 대한 더 많은 연구가 이루어지면 장단점을 이해하고 이상적인 균형을 찾는 데 도움이 될 것입니다.
다차원 가스를 성공적으로 구현하면 "최악의 경우" 리소스 사용량을 크게 줄일 수 있으므로, 예를 들어 스타크 해시 기반의 바이너리 트리를 지원하기 위해 성능을 최적화해야 하는 부담을 줄일 수 있습니다. 상태 크기 증가에 대한 명확한 목표를 설정하면 클라이언트 개발자가 향후 요구 사항을 더 쉽게 계획하고 예측할 수 있습니다.
위에서 언급했듯이, 다차원 가스의 보다 극단적인 버전은 EOF의 가스 관측 불가능성 때문에 구현하기가 더 쉽습니다.
오늘날 이더넷은 제안자를 선정하기 위해 RANDAO 기반 무작위성을 사용합니다. RANDAO 기반 무작위성은 각 제안자에게 미리 약속한 비밀을 공개하도록 요청하고, 공개된 비밀을 무작위성에 섞는 방식으로 작동합니다. 따라서 각 제안자는 '1비트 조작권'을 가지며, 비밀을 공개하지 않음으로써 (비용을 지불하고) 무작위성을 변경할 수 있습니다. 이는 제안자를 찾는 데 적합하며, 한 명을 포기하고 두 명의 새로운 제안자를 찾을 수 있는 사람은 거의 없기 때문입니다. 하지만 무작위성이 필요한 온체인 애플리케이션의 경우 이 방법은 효과가 없습니다. 이상적으로는 더 강력한 무작위성 소스를 찾는 것이 좋습니다.
검증 가능한 지연 함수는 순차적으로만 계산할 수 있고 병렬화를 통해 가속할 수 없는 함수입니다. 간단한 예는 반복 해싱입니다. (10**9) 범위에서 i를 계산합니다: x = hash(x). 출력은 SNARK 정확성이 입증된 값이며 임의의 값으로 사용할 수 있습니다. 이 아이디어는 입력은 T 시점에 사용 가능한 정보를 기반으로 선택되며, 출력은 T 시점에 알 수 없는 방식으로, 누군가 계산을 완전히 실행해야만 T 시점이 지난 후에야 알 수 있다는 것입니다. 누구나 계산을 실행할 수 있기 때문에 결과를 숨기는 것이 불가능하므로 조작할 수 없습니다.
검증 가능한 지연 함수의 주요 위험은 우발적 최적화입니다. 누군가 예상보다 훨씬 빠르게 함수를 실행하는 방법을 알아내어 미래의 결과를 기반으로 T 시점에 공개되는 정보를 조작할 수 있게 되는 것입니다. 우발적 최적화는 다음 두 가지 방법 중 하나로 발생할 수 있습니다.
하드웨어 가속: 누군가 기존 하드웨어보다 훨씬 빠르게 계산 루프를 실행하는 ASIC을 구축합니다.
우연한 병렬화: 누군가 함수를 병렬화하여 더 빠르게 실행하는 방법을 찾았지만 100배 더 많은 리소스가 필요했습니다.
성공적인 VDF를 만드는 일은 이 두 가지 문제를 피하면서 효율성을 실용적으로 유지하는 것입니다(예를 들어, 해시 기반 방법의 한 가지 문제는 실시간 SNARK 증명이 하드웨어에 매우 까다롭다는 것입니다). 하드웨어 가속화는 공익적 참여자들이 직접 VDF를 위한 최적의 ASIC을 만들어 배포함으로써 해결되는 경우가 많습니다. 어떤 연구가 존재하나요?
vdfresearch.org:https:// vdfresearch.org/
2018년 이더리움에서 사용된 VDF 공격에 대한 생각: https://ethresear.ch/t/verifiable- delay-functions-and-attacks/2365
민루트에 대한 공격(제안된 VDF): https://inria.hal .science/hal-04320126/file/minrootanalysis2023.pdf
현재 이더넷 연구자들의 모든 요구를 완벽하게 충족하는 VDF 구조는 없습니다. 그런 기능을 찾으려면 더 많은 연구가 필요합니다. 만약 그런 기능이 있다면, 주요 트레이드오프는 기능성과 프로토콜 복잡성 및 보안 위험 사이의 단순한 트레이드오프, 즉 포함할지 여부입니다. VDF가 안전하다고 생각하지만 실제로는 안전하지 않다면 구현 방법에 따라 보안이 RANDAO 가정(공격자당 1비트 조작) 또는 더 나쁜 수준으로 저하될 것입니다. 따라서 VDF가 손상되더라도 프로토콜은 손상되지 않지만 애플리케이션이나 이에 크게 의존하는 새로운 프로토콜 기능은 손상될 수 있습니다.
VDF는 이더넷 프로토콜의 비교적 독립적인 구성 요소이지만, 제안자 선택의 보안을 개선하는 것 외에도 (i) 무작위성에 의존하는 온체인 애플리케이션과 잠재적으로 (ii) 암호화된 메모리 풀에 사용될 수 있지만, VDF를 기반으로 암호화된 메모리 풀을 만드는 것은 아직 발생하지 않은 다른 암호학적 발견에 의존해야 합니다.
한 가지 명심해야 할 점은 하드웨어의 불확실성을 고려할 때 VDF 출력이 생성되는 시점과 필요한 시점 사이에 약간의 '간격'이 있을 수 있다는 것입니다. 즉, 정보가 몇 블록 전에 제공될 수 있다는 뜻입니다. 이는 허용 가능한 비용일 수 있지만, 예를 들어 단일 슬롯 최종성 또는 위원회 선정 설계의 맥락에서 고려해야 합니다.
닉 사보의 가장 유명한 게시물 중 하나는 1997년 '갓 프로토콜'에 관한 기사였습니다. 이 글에서 그는 다자간 애플리케이션이 상호 작용을 관리하기 위해 "신뢰할 수 있는 제3자"에 의존하는 경우가 많다고 지적했습니다. 그가 보기에 암호화의 역할은 특정 참여자를 실제로 신뢰하지 않고도 동일한 작업을 수행할 수 있도록 시뮬레이션된 신뢰할 수 있는 제3자를 만드는 것입니다.
"수학적으로 신뢰할 수 있는 프로토콜", Nick Szabo가 도표화
로 지금까지 우리는 이 이상에 부분적으로만 접근할 수 있습니다. 데이터와 계산을 종료하거나 검열하거나 조작할 수 없는 투명한 가상 컴퓨터가 필요하지만 프라이버시가 목표가 아니라면, 블록체인은 확장성이 제한적이긴 하지만 이를 실현할 수 있습니다. 프라이버시가 목표라면 최근까지 기본 인증을 위한 디지털 서명, 원시적 형태의 익명성을 위한 링 서명 및 연결 가능한 링 서명, 신원 기반 암호화(신뢰할 수 있는 발행자에 대한 특정 가정 하에 더 쉬운 암호화를 가능하게 함), Chaumian 전자 현금을 위한 블라인드 서명 등 특정 애플리케이션을 위한 몇 가지 특정 프로토콜만 개발할 수 있었습니다. 이러한 접근 방식은 새로운 애플리케이션마다 많은 작업이 필요합니다.
2010년대에는 프로그래밍 가능한 암호화를 기반으로 하는 보다 강력한 접근 방식이 처음 등장했습니다. 새로운 애플리케이션마다 새로운 프로토콜을 만드는 대신 강력한 새 프로토콜, 특히 ZK-SNARK를 사용하여 모든 애플리케이션에 암호화 보증을 추가할 수 있었습니다. ZK-SNARK를 사용하면 사용자가 보유한 데이터에 대한 임의의 진술을 (i) 검증하기 쉽고, (ii) 진술 자체 이외의 데이터는 노출되지 않는다는 것을 증명하는 방식으로 증명할 수 있습니다. 이는 개인정보 보호와 확장성 측면에서 큰 진전이며, 저는 이를 AI의 트랜스포머 효과에 비유합니다. 수천 명이 1년 동안 작업한 애플리케이션별 작업이 갑자기 범용 솔루션으로 대체되어 간단히 연결하기만 하면 놀라울 정도로 광범위한 문제를 해결할 수 있습니다.
그러나 ZK-SNARK는 비슷하게 매우 강력한 세 가지 제네릭 프리미티브 중 첫 번째에 불과합니다. 이 프로토콜을 생각하면 어렸을 때 즐겨 하던 카드 게임이자 TV 쇼인 유희왕에 나오는 매우 강력한 카드 세트인 이집트 신 카드가 떠오를 정도로 강력합니다. 이집트 신 카드는 매우 강력한 세 장의 카드로, 전설에 따르면 결투에서 사용할 수 없을 정도로 치명적이고 강력하다고 합니다. 마찬가지로 암호학에서도 세 가지 이집트 신 프로토콜이 있습니다:
ZK-SNARK는 이미 높은 수준의 성숙도를 달성한 세 가지 프로토콜 중 하나입니다. 지난 5년 동안 증명 속도와 개발자 친화성 측면에서 큰 진전을 이루었으며 이더넷의 확장성과 개인정보 보호 전략의 초석이 되었습니다. 하지만 ZK-SNARK에는 중요한 한계가 있습니다. 데이터를 증명하려면 데이터를 알아야 하고, ZK-SNARK 애플리케이션의 각 상태에는 읽기 또는 쓰기를 승인하기 위해 반드시 존재해야 하는 '소유자'가 있어야 한다는 것입니다.
이러한 제한이 없는 두 번째 프로토콜은 암호화된 데이터를 보지 않고도 모든 연산을 수행할 수 있는 완전동형암호화(FHE)입니다. 이를 통해 데이터와 알고리즘을 비공개로 유지하면서 사용자의 이익을 위해 사용자 데이터에 대한 연산을 수행할 수 있습니다. 또한 MACI와 같은 투표 시스템을 확장하여 거의 완벽한 보안과 개인정보 보호를 제공할 수 있습니다. 오랫동안 FHE는 실용적으로 사용하기에는 너무 비효율적이라고 여겨졌지만, 이제 마침내 그 효율성이 충분히 높아져 적용 사례가 나타나기 시작했습니다.
Cursive는 공동의 관심사를 위해 양 당사자 컴퓨팅과 FHE를 사용하는 개인정보 보호 검색 앱입니다.
그러나 FHE에는 한계가 있습니다. 모든 FHE 기반 기술에는 여전히 누군가가 암호 해독 키를 보유해야 합니다. 이는 M-of-N 분산 설정이 될 수 있으며 TEE를 사용하여 두 번째 방어 계층을 추가할 수도 있지만 여전히 한계가 있습니다.
이것은 다른 두 가지를 합친 것보다 더 강력한 세 번째 프로토콜인 구별 불가능한 난독화를 제공합니다. 아직 완성 단계는 아니지만 2020년 현재 표준 보안 가정에 기반한 이론적으로 유효한 프로토콜을 보유하고 있으며 최근 구현 작업을 시작했습니다. 식별 불가능한 난독화를 사용하면 임의의 연산을 수행하는 '암호화된 프로그램'을 만들 수 있으므로 프로그램의 모든 내부 세부 정보가 숨겨집니다. 간단한 예로, 소수에 서명하는 데만 사용할 수 있는 난독화된 프로그램에 개인 키를 넣고 다른 사람에게 프로그램을 배포할 수 있습니다. 그 사람은 이 프로그램을 사용해 소수에 서명할 수는 있지만 키를 꺼낼 수는 없습니다. 하지만 해시와 함께 사용하면 다른 모든 암호화 프리미티브 등을 구현하는 데 사용할 수 있습니다.
난독화기가 할 수 없는 유일한 일은 스스로 복사되는 것을 막는 것입니다. 하지만 이를 위해서는 양자 컴퓨터를 사용하는 모든 사람에게 달려 있지만, 양자 일회용 서명이라는 훨씬 더 강력한 기술이 등장할 것입니다.
이미지 src="https://img.jinse.cn/7313792_watermarknone.png" title="7313792" alt="xj6N29cPlqUcCRhoWyKnPv6WzXKsN7FYINTebw29.jpeg">
난독화와 일회용 서명의 조합을 사용하면 신뢰할 필요가 없는 거의 완벽한 써드파티를 구축할 수 있습니다. 암호화만으로는 할 수 없고 블록체인이 있어야만 할 수 있는 유일한 일은 검열 저항성을 보장하는 것입니다. 이러한 기술을 통해 이더리움 자체의 보안을 강화할 수 있을 뿐만 아니라 그 위에 더 강력한 애플리케이션을 구축할 수 있습니다.
이러한 각 기본 요소가 어떻게 추가 기능을 추가하는지 이해하기 위해 주요 예시인 투표를 살펴봅시다. 투표는 매우 강력한 인증과 개인정보 보호 등 충족해야 할 까다로운 보안 속성이 많기 때문에 매우 흥미로운 문제입니다. 강력한 보안을 갖춘 투표 프로토콜은 수십 년 동안 사용되어 왔지만, 이차 투표, 쌍으로 제한된 이차 펀딩, 클러스터 매칭 이차 펀딩 등 임의의 투표 프로토콜을 처리할 수 있는 설계를 원한다고 가정하여 문제를 더 어렵게 만들어 봅시다. 즉, '카운트' 단계가 임의의 절차가 되기를 원합니다.
먼저, 블록체인에서 투표를 공개적으로 사용할 수 있도록 한다고 가정해 봅시다. 이렇게 하면 공개 검증 가능성(개표 규칙 및 자격 규칙을 포함하여 최종 결과가 올바른지 누구나 확인할 수 있음)과 검열 저항성(사람들이 투표하는 것을 막을 수 없음)을 확보할 수 있습니다. 하지만 프라이버시는 보장되지 않습니다.
그런 다음 ZK-SNARK를 추가합니다. 이제 모든 투표가 익명으로 처리되고, 승인된 유권자만 투표할 수 있으며, 각 유권자는 한 번만 투표할 수 있는 등 프라이버시가 보장됩니다.
이제 MACI 메커니즘을 추가합니다. 투표는 중앙 서버의 암호 해독 키로 암호화됩니다. 중앙 서버는 중복 투표를 폐기하고 답을 증명하는 ZK-SNARK를 발급하는 등 개표 프로세스를 실행해야 합니다. 이렇게 하면 서버가 부정행위를 하더라도 이전 보장이 유지됩니다(서버가 속임수를 쓰더라도!). 하지만 서버가 정직한 경우, 사용자가 투표한 방법을 증명하고 싶어도 증명할 수 없다는 강압적 저항 보장이 추가됩니다. 사용자가 자신이 투표한 내용은 증명할 수 있지만, 해당 투표를 취소하는 다른 투표를 하지 않았다는 사실은 증명할 수 없기 때문입니다. 이는 뇌물 수수 및 기타 공격을 방지합니다.
FHE 내부에서 투표 수를 실행한 다음 N/2-of-N 임계값 복호화 계산을 수행하여 복호화합니다. 이렇게 하면 강제 저항 보장은 1-of-1이 아닌 N/2-of-N이 됩니다.
투표 집계 절차를 난독화하고 블록체인 합의 증명, 특정 수의 작업 증명 또는 둘 다에 의해 허가된 경우에만 출력을 제공하도록 난독화 절차를 설계합니다. 블록체인 합의의 경우, 이를 깨기 위해서는 검증자의 51%가 담합해야 하지만 작업 증명의 경우, 모두가 담합하더라도 한 투표자의 행동을 추출하기 위해 다른 투표자 하위 집합으로 집계를 다시 실행하는 데 엄청난 비용이 들기 때문에 강제 저항 보장은 거의 완벽에 가깝습니다. 심지어 개별 유권자의 행동을 추출하는 것을 더욱 어렵게 만들기 위해 프로그램이 최종 결과를 약간 무작위로 조정하도록 할 수도 있습니다.
우리는 특정 유형의 메시지에 서명할 때 서명을 한 번만 사용할 수 있도록 양자 계산에 의존하는 원시 언어인 일회성 서명을 추가했습니다. 이를 통해 강압 방지 보증이 더욱 완벽해졌습니다.
식별 불가 난독화는 다른 강력한 애플리케이션에도 사용할 수 있습니다. 예를 들면:
DAO, 체인 경매 및 임의의 내부 비밀 상태를 가진 기타 애플리케이션.
진정한 범용 신뢰 설정: 누군가가 키를 포함하는 퍼지 프로그램을 만들고, 해시(키, 프로그램)를 프로그램에 입력으로 넣어 어떤 프로그램이든 실행하고 출력을 제공할 수 있습니다. 이러한 프로그램이 주어지면 누구나 그 프로그램을 프로그램에 넣고, 프로그램의 기존 키와 자신의 키를 결합하고, 그 과정에서 설정을 확장할 수 있습니다. 이는 모든 프로토콜에 대해 1-of-N 신뢰 설정을 생성하는 데 사용할 수 있습니다.
서명만으로 검증하는 ZK-SNARK. 이를 구현하는 방법은 간단합니다. 신뢰할 수 있는 설정이 있고, 누군가가 퍼지 프로그램을 만들어 유효한 ZK-SNARK인 경우에만 키로 메시지에 서명하면 됩니다.
암호화된 메모리 풀. 트랜잭션을 매우 쉽게 암호화하여 향후 온체인 이벤트가 발생할 경우에만 해독할 수 있습니다. 여기에는 VDF의 성공적인 실행도 포함될 수 있습니다.
일회성 서명을 사용하면 검열 공격은 여전히 가능하지만 블록체인이 51%의 역전 공격에 면역이 되도록 만들 수 있습니다. 일회성 서명과 유사한 프리미티브는 양자 통화를 가능하게 하여 블록체인 없이도 이중 지불 문제를 해결할 수 있지만, 더 복잡한 많은 애플리케이션에는 여전히 블록체인이 필요합니다.
이러한 기본 요소들이 충분히 효율적일 수 있다면 전 세계 대부분의 애플리케이션을 탈중앙화할 수 있습니다. 주요 병목 현상은 구현의 정확성을 검증하는 것입니다.
2021년의 구별 불가능한 난독화 프로토콜: https://eprint.iacr.org/2021/1334.pdf
난독화가 이더리움에 도움이 되는 방법: https://ethresear.ch/t/how -obfuscation-can-help-ethereum/7380
최초로 알려진 일회성 서명 구조: https://eprint.iacr.org/2020/107.pdf
난독화된 구현 시도 (1):https:// mediatum.ub.tum.de/doc/1246288/1246288.pdf
난독화된 구현 시도 (2):https://github.com/SoraSuegami/iOMaker/tree/main
해야 할 일이 많이 남아 있습니다. 구별할 수 없는 난독화는 매우 미숙하며, 후보 구성은 앱보다 수백만 배(또는 그 이상) 느립니다. 식별 불가능한 난독화는 '이론적' 런타임이 다항식 시간으로 알려져 있지만 실제로는 우주의 수명보다 더 오래 걸립니다. 최신 프로토콜은 런타임을 덜 극단적으로 만들지만, 한 구현자는 1년의 런타임을 예상할 정도로 오버헤드가 여전히 너무 커서 일반적으로 사용하기에는 무리가 있습니다.
양자 컴퓨터는 존재하지도 않습니다: 오늘날 인터넷에서 읽을 수 있는 모든 구조는 4비트 이상의 연산을 수행할 수 없는 프로토타입이거나 실제 양자 컴퓨터가 아니며, 양자 구성 요소를 포함할 수는 있지만 쇼의 알고리즘이나 그로버의 알고리즘과 같은 진정한 의미의 연산을 실행할 수 없습니다. 최근 "진짜" 양자 컴퓨터가 그리 멀지 않았다는 징후가 나타나고 있습니다. 그러나 '진짜' 양자 컴퓨터가 곧 출시되더라도 일반인이 노트북이나 휴대폰에서 양자 컴퓨터를 사용할 수 있는 날은 강력한 조직이 타원 곡선 암호를 해독할 수 있는 양자 컴퓨터에 접근하기까지 수십 년이 걸릴 수 있습니다.
식별 불가능 난독화의 주요 절충점은 보안 가정입니다. 이색적인 가정을 사용하는 보다 급진적인 설계도 있습니다. 이러한 설계는 일반적으로 런타임이 더 현실적이지만, 이상한 가정은 때때로 무너지기도 합니다. 시간이 지나면 결국 그리드에 대해 충분히 학습하여 깨지지 않는 가정을 할 수 있을지도 모릅니다. 하지만 이 방법은 더 위험합니다. 보다 보수적인 접근 방식은 보안이 '표준' 가정으로 입증될 수 있는 프로토콜을 고수하는 것이지만, 이는 충분히 빠르게 작동하는 프로토콜을 얻는 데 시간이 더 오래 걸린다는 것을 의미할 수 있습니다.
매우 강력한 암호 화폐는 게임 체인저가 될 수 있습니다. 예를 들어:
서명처럼 검증하기 쉬운 ZK-SNARK가 있다면 집계 프로토콜이 필요하지 않고 체인에서 바로 검증할 수 있습니다.
일회성 서명은 보다 안전한 관심 증명 프로토콜을 의미할 수 있습니다.
많은 복잡한 프라이버시 프로토콜은 프라이버시를 보호하는 EVM을 "그냥" 갖는 것으로 대체될 수 있습니다.
암호화된 메모리 풀을 구현하기가 더 쉬워집니다.
우선, 이더넷 L1은 본질적으로 보안 가정이 보수적이어야 하기 때문에 애플리케이션 레이어에서 이점을 누릴 수 있습니다. 그러나 애플리케이션 레이어만 사용하더라도 ZK-SNARK의 등장으로 판도가 바뀔 수 있습니다.
모두가 비트코인 상승을 축하하고 있지만, 암호화폐의 겨울은 정말 끝났을까요?
Clement최근 언론 보도에 따르면 대만의 청원상 부총통이 딥페이크 스캔들에 연루된 것 아니냐는 우려가 제기되고 있습니다. 유포된 동영상에는 청 부총리가 호텔 방에서 한 여성과 위태로운 상황에 처한 것으로 보입니다. 청 부총리는 이 동영상의 진위를 강력히 부인하며 조작 및 편집 의혹을 제기하고 법적 조치를 취하겠다고 위협했습니다.
Joy토레스 판사는 리플과 SEC가 공동으로 XRP 기관 판매 문제와 관련된 브리핑 일정을 제안하라는 지시를 내렸습니다. 이에 따라 재판은 연기되었습니다.
CatherineFTX 창립자는 배심원단에게 직접 연설하여 사기를 저지르지도 공모하지도 않았다는 자신의 주장을 입증할 예정입니다.
KikyoZachXBT에 따르면, 야흐야 마그랩의 역할은 주로 패널을 통해 X/트위터 계정을 조회하여 사기꾼 스켄키르가 미국의 잠재적인 SIM 교환 공격 대상을 식별할 수 있도록 돕는 것이었습니다.
Davin암호화폐 시장 랠리의 한가운데서 NFT 섹터는 광범위한 암호화폐 급등에도 불구하고 단호하게 약세를 보이며 차별화되고 있습니다.
Jasper스페인은 디지털 유로화의 영역 내에서 전략적으로 포지셔닝하여 금융 환경의 변화를 예고하고 있습니다.
Hui Xin크립토 슬루스 잭XBT는 한 단체가 아브락사스 다크넷 시장 깊숙한 곳에서 비트코인 믹서로 약 4,800 BTC라는 상당한 규모의 송금을 진행했다고 밝혔습니다.
CatherineCEO 토니 페르난데스가 이끄는 에어아시아의 모회사 캐피탈 A Bhd는 부채와 자본을 결합하여 10억 달러 이상의 자금을 확보하는 작업을 진행 중입니다. 이러한 전략적 움직임은 회사의 미래를 재편하고 재정적 지평을 넓히기 위한 것입니다.
Joy마스터카드와 MoonPay는 온라인 결제를 더욱 원활하게 할 수 있는 방법을 모색하고 있습니다. 두 회사는 체험 마케팅 및 소비자 참여 분야에서 웹 3.0 기술을 개척하기 위해 협력했습니다.
YouQuan