BTC
ETH
HTX
SOL
BNB
시장 동향 보기
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Ethereum을 다시 시작하면 노드의 부담을 줄일 수 있습니까?

以太坊爱好者
特邀专栏作者
이 기사는 약 2337자로, 전체를 읽는 데 약 4분이 소요됩니다
상태 비저장 이더리움에 대한 덜 공격적인 접근 방식입니다.
AI 요약
상태 비저장 이더리움에 대한 덜 공격적인 접근 방식입니다.

편집자 주: 이 기사의 출처는이더리움 애호가(ID: ethfans)이더리움 애호가(ID: ethfans)

이더리움 애호가(ID: ethfans)

, 저자: Alexey Akhunov, 번역 및 교정: Min Min & A Jian, Odaily의 승인을 받아 재인쇄됨.

코스모스 허브에서 경험

코스모스 허브가 버전 1.0에서 버전 2.0, 버전 3.0으로 업그레이드되는 과정을 지켜보셨다면, 코스모스 허브의 업그레이드는 본질적으로 새로운 제네시스 블록으로 블록체인을 다시 시작함으로써 이루어짐을 알 수 있을 것입니다. 업그레이드 시 노드 운영자는 노드를 종료한 후 코스모스 허브 상태의 스냅샷을 생성하고 이 스냅샷을 새로운 제네시스 블록으로 패키징하여 새로운 블록체인을 생성해야 합니다.

보조 제목

ETH 1.0을 "재부팅"할 수 있습니까?

동일한 방법이 이더리움에도 적용될 수 있는지 상상해 봅시다. 이더리움 블록체인은 거대하고(150-160Gb) 상태도 거대합니다(상태를 저장하는 방법에 따라 40-100Gb). 이더리움 블록체인을 "재부팅"하는 명백한 이점은 새로 합류하는 노드가 150Gb 블록체인 대신 40Gb 제네시스 상태를 다운로드해야 한다는 것입니다. 그러나 40Gb 제네시스 상태를 다운로드하는 것도 좋은 경험이 아닙니다.

이더리움 오프체인의 상태를 저장하고 머클 루트 해시만 온체인에서 볼 수 있습니다.

이 40Gb "오프체인"을 저장할 수 있고 루트 해시만 제네시스 블록에 압축할 수 있다고 가정하면 빈 상태에서 시작할 수 있습니다. 하지만 트랜잭션에 이 암시적 상태에 대한 액세스 권한을 어떻게 부여합니까?

보조 제목

이거 무국적 이더리움 아닌가요?

보조 제목

블록의 증명과 트랜잭션의 증명

보조 제목

거래 증명의 단점

트랜잭션 발신자가 모든 관련 상태의 증명을 트랜잭션에 추가하기를 원한다고 가정합니다. 이렇게 하면 목격자에게 추가 휘발유를 청구하는 데 필요한 작업을 단순화할 수 있다는 이점이 있습니다. 이것의 주요 단점은 이것이 일반적으로 정적 상태 액세스(SSA)와 반대되는 동적 상태 액세스(DSA)로 달성되어야 한다는 것입니다. 트랜잭션이 특히 복잡한 스마트 계약과 관련된 경우, 예를 들어 다른 계약에 대한 중첩 호출이 많은 경우 트랜잭션에 포함될 상태 항목을 미리 계산하기 어려울 수 있습니다. 공격자는 DSA를 사용하여 사용자를 "설정"할 수 있습니다. 즉, 트랜잭션을 선점하여(동일한 내용이지만 가스 요금이 더 높은 트랜잭션을 전송하여 그 앞에 패키지화되도록 함) 부족으로 인해 사용자의 트랜잭션이 실패하도록 할 수 있습니다. 증거.

ReGenesis에서 제공하는 완화

DSA의 숨겨진 위험을 완전히 해결하는 것은 어렵지만 위험을 최대한 줄일 수 있으므로 사용자가 불편함을 느끼지 않고 예상되는 상태 전환을 달성할 수 없는 상황에 영원히 제한되지 않습니다. 이 완화를 위해서는 트랜잭션과 함께 제공된 모든 증명(상태 루트에 대해 확인되었지만 성공적인 트랜잭션을 보장하기에는 충분하지 않음)이 암시적 상태의 일부가 된다는 추가 규칙을 도입해야 합니다. 따라서 사용자가 트랜잭션 실행을 반복적으로 시도할수록 암시적 상태가 커지고 결국 트랜잭션이 성공합니다. 사용자를 "해킹"하려는 공격자는 기존 암시적 상태 외부에서 사용자의 상태 액세스를 리디렉션하는 보다 정교한 방법을 찾아야 하며 결국 실패합니다.

암시적 상태가 없음(다시 시작됨)에서 점점 더 적극적으로 액세스되는 상태를 포함하는 상태로 증가함에 따라 트랜잭션은 더 적은 수의 증명을 제공해야 합니다. 시간이 지나면 대부분의 거래는 아주 오래전부터 상태를 포함하는 거래를 제외하고는 어떤 증명도 첨부할 필요가 없습니다.

정기적으로 ReGenesis를 수행할 수 있습니다.

저는 이것을 "재시작" reGenesis라고 부르며, 이는 비채굴 노드의 부하를 줄이기 위해 주기적으로 수행할 수 있습니다. ReGenesis는 또한 상태 비저장 이더리움의 덜 급진적인 버전을 나타냅니다.

ReGenesis를 반복적으로 구현하면 Ethereum 클라이언트 구현의 아키텍처가 단순화되어 더 높은 수준의 스냅샷 동기화 알고리즘이 거의 필요하지 않습니다. 백만 블록마다(약 6개월) ReGenesis를 수행하면 상태 스냅샷과 블록체인 파일이 BitTorrent, Swarm 및 IPFS에 공개될 수 있습니다. 상태가 6개월이 아니라 15초마다 전환되기 때문에 현재는 이 작업을 수행할 수 없습니다(생성된 스토리지). 클라이언트 구현이 6개월 분량의 블록을 재생할 수 있다면 매우 복잡한 스냅샷 알고리즘이 필요하지 않습니다. 따라서 Ethereum 구현의 복잡성이 줄어들 것입니다.

  • 보조 제목

  • 리제네시스의 단점

  • 나는 이것을 깊이 탐구하지 않았지만 내가 본 세 가지 단점은 다음과 같습니다.

开发者
ETH
Odaily 공식 커뮤니티에 가입하세요