EIP-2537: ETH 2.0에 대한 ETH 1.0 지원
편집자 주: 이 기사의 출처는이더리움 애호가(ID: ethfans)이더리움 애호가(ID: ethfans)
, 저자: Alex Stokes, 번역자 및 교정자: Min Min & A Jian, 승인을 받아 Odaily에서 복제.
첫 번째 레벨 제목
새로운 영토
"비콘 체인"으로도 알려진 ETH 2.0 Phase 0의 메인넷은 올해 후반에 출시될 예정입니다. 지금 우리는 이 질문에 대해 생각해야 합니다. 새 시스템의 원활한 출시를 촉진하기 위해 기존 네트워크가 무엇을 할 수 있습니까? 우리는 두 네트워크 간의 상호 운용성이 악용될 수 있는 몇 가지 흥미로운 사용 사례를 상상할 수 있지만(ETH 1.0이 ETH 2.0으로 병합되기 전) EVM(Ethereum Virtual Machine)을 수용하도록 수정할 수 없는 경우 이러한 응용 프로그램은 ETH 2.0 시스템에서 사용되는 새로운 암호화 요소. 여기서는 이러한 새로운 암호화 요소에 대한 개요를 제공하고 EVM에 통합하면 Eth1이 마이그레이션되기 전에도 새 시스템의 기능을 활용하는 데 도움이 되는 이유를 설명하고자 합니다.
-https://en.wikipedia.org/ETH 1.0에서 빠진 것은 무엇입니까?
이더리움 블록체인의 모든 데이터는 공개되므로 특정 트랜잭션이 관련된 당사자의 의도를 반영하도록 암호화 서명을 사용해야 합니다. Ethereum에서 사용하는 서명 체계는 secp256k1이라는 곡선을 사용하는 타원 곡선을 기반으로 합니다. 이 곡선의 점은 ECDSA라는 서명 체계에서 사용되어 암호화 서명에 원하는 속성을 부여합니다.
이미지 설명
, 이 타원 곡선의 속성은 ECDSA 서명 체계의 보안을 향상시킵니다.
secp256k1을 기반으로 하는 ECDSA 서명 체계가 수년 동안 사용 테스트를 거쳤지만 이 둘의 정의 표준은 각각 약 20년과 10년 정도 밖에 되지 않았습니다. ETH 2.0은 암호화의 새로운 발전을 활용하는 비교적 새로운 구조를 사용합니다. ETH 2.0 시스템의 유효성 검사기(ETH 1.0 채굴기와 유사)는 BLS12-381이라는 또 다른 타원 곡선을 기반으로 하는 BLS 서명 체계를 사용합니다. ("BLS"는 약어이고 세 글자는 세 명의 제안자의 이름에서 따온 것입니다!) ETH 2.0은 주로 여러 서명을 단일 서명으로 효율적으로 통합할 수 있기 때문에 이 새로운 기술을 채택하여 참여 타당성을 직접적으로 촉진합니다. ETH 2.0 보안. 자세한 내용은 ETH 2.0에서 서명 집계의 중요성에 대한 Carl Beekhuizen의 기사를 참조하십시오(편집자 주: 기사 끝에 하이퍼링크로 연결된 "Eth2 스테이킹 가이드 #2" 참조).
BLS 서명은 Eth2에 많은 이점이 있지만 우리가 직면한 문제는 ETH 1.0 자체가 이 새로운 암호화 요소를 지원하지 않고 기본 수학적 논리에 높은 계산이 필요하여 EVM 서명에서 BLS를 구현하지 못한다는 것입니다. 다행히 EVM의 성능 제한을 우회하기 위해 계산 논리를 "사전 컴파일된" 부분으로 추가할 수 있습니다. 하드 코딩된 알고리즘을 통해 네이티브 구현은 EVM 인터프리터 외부의 스마트 계약에서 호출할 수 있습니다.
사전 컴파일을 구현하는 방법은 무엇입니까?
이더리움 프로토콜의 미리 컴파일된 부분은 희소한 리소스이기 때문에 커뮤니티에서 중요하게 여기는 계산 로직만 남습니다. 또한 프리컴파일은 하드포크를 통해 배포되어야 하므로(EVM의 시맨틱을 변경하므로) 조정 비용이 높습니다. 다행스럽게도 EIP-2537의 현재 초안에서 이러한 BLS 사전 컴파일에 대한 작업이 진행되고 있음을 확인할 수 있습니다. EIP-2537에는 BLS12-381 곡선 작업의 사전 컴파일과 BLS 알고리즘 체계에 사용되는 "곡선 매핑"이라는 또 다른 비용이 많이 드는 작업이 포함되어 있습니다. BLS 알고리즘 체계의 수학을 파고들면 "곡선에 매핑" 작업을 통해 (서명하려는) 메시지를 타원 곡선의 점으로 변환하는 메커니즘이 필요하다는 것을 알게 될 것입니다.
미리 컴파일하면 어떤 이점이 있습니까?
EIP-2537 사전 컴파일은 마진 계약 사용자 경험을 개선하여 ETH 2.0이 실행되도록 돕고 ETH 1.0 내에서 ETH 2.0 라이트 클라이언트를 구축하기 위한 기반을 마련합니다. BLS12-381 곡선 자체는 zk-SNARK를 구축하는 데 사용할 수 있으며, 다른 블록체인에서 사용되는 BLS와 함께 이러한 네트워크 간의 상호 운용성을 위한 길을 열어줍니다.
마진 계약에 대한 사용자 경험
ETH 2.0 Beacon Chain에서 검증자가 되는 초기 방법은 ETH 1.0의 스마트 계약("마진 계약")에 ETH를 예치하는 것입니다. 가스 요금을 절약하고 복잡성을 최소화하기 위해 마진 계약의 주요 기능은 특정 예치금에 대한 암호화 약정(머클 트리에서)을 제공하는 것이며, 이러한 약정은 비콘 체인에서 증거로 사용될 수 있습니다. 중요한 것은 채권을 확인하는 데 필요한 BLS 서명이 ETH 1.0 체인에서 확인되지 않는다는 것입니다. 허점으로 인해 테스트 네트워크에서 일련의 BLS 서명 계산 오류가 발생했으며 테스트 네트워크 ETH의 일부가 손실되었습니다. ETH 1.0 체인에서 BLS 서명을 확인하기 위해(EIP-2537을 통해 달성 가능) "전달" 스마트 계약을 작성하여 채권 데이터를 얻고 서명을 확인한 다음 채권 데이터만 채권 계약. 이 기능은 마진 계약의 보안을 보장하기 위한 전제 조건은 아니지만 마진 계약과 상호 작용하는 개발자에게 심리적 편안함을 제공합니다.
zk-SNARKs
우리는 ETH 1.0 체인에 ETH 2.0 라이트 클라이언트를 구축하기 전에 ETH 1.0이 ETH 2.0에서 사용하는 암호화 기술을 "이해"하도록 해야 한다고 생각합니다. 이런 식으로 스마트 계약에서 BTCRelay와 유사한 라이트 클라이언트를 구현할 수 있습니다. 이러한 종류의 라이트 클라이언트가 실현되면 ETH 1.0과 ETH 2.0 네트워크 사이의 "브리지"의 기둥이 될 것입니다. 이 양방향 브리지를 통해 ETH 1.0과 ETH 2.0 네트워크 간에 ETH를 전송할 수 있으며 ETH 2.0 조각화는 ETH 1.0의 2계층 아키텍처를 지원하는 확장성이 뛰어난 데이터 계층으로도 사용할 수 있습니다(예: 낙관적 롤업, zk-롤업 등).
다른 네트워크
흥분은 모두 흥분이지만 EVM 내부에 라이트 클라이언트를 스마트 계약으로 구축하는 것(ETH 1.0 클라이언트 수준에서 라이트 클라이언트를 구현하는 것보다)이 ETH 1.0이 ETH 2.0을 이해하도록 하는 최선의 방법이 아닐 수 있음을 유의하십시오. 또한 "양방향 브리지"에 대한 최근 연구에 따르면 이 접근 방식은 ETH 1.0 및 ETH 2.0 네트워크의 다른 보안 매개변수를 고려할 때 실현 가능하지 않습니다(ETH 1.0 상태를 분기하여 ETH 2.0 샤드에 배치하는 것이 좋을 수 있음). 그렇긴 해도 지금 기반을 다져도 나쁠 것은 없으며, 후속 연구가 진행됨에 따라 ETH 1.0과 ETH 2.0의 합병 전략이 바뀔 수도 있습니다.
BLS12-381 곡선을 생성하는 목적은 ZCash가 보다 효율적인 zk-SNARK를 사용할 수 있도록 하는 것입니다(BLS12-381 곡선에 대해 더 알고 싶다면 위의 링크를 확인할 수 있습니다). 또한 이 곡선을 EVM에 추가하면 Ethereum이 이러한 SNARK를 검증할 수 있으므로 영지식 증명 프로토콜을 통해 개인 정보 보호 및 확장성 애플리케이션을 사용할 수 있습니다.
다른 네트워크
일부 "차세대" 블록체인(Filecoin, Chia, Cosmos 등)도 BLS 서명 체계를 사용할 계획입니다. 그렇게.


