블록 수준 액세스 목록(BAL)

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

블록 수준 접근 목록 (BALs)

프란체스코, 요헴, 비탈릭, 이그나시오, 게리, 단크라드, 칼, 앙스가르, 팀에게 피드백과 검토에 대한 깊은 감사를 드립니다.

요약: 블록 빌더가 접근 목록과 상태 차이를 블록에 포함시켜 검증자가 더 빠르게 검증할 수 있도록 함 → L1 확장!

이더리움의 레이어 1을 확장하기 위한 노력, 특히 실행 계층에서 핵심 주제 중 하나는 블록 수준 접근 목록(BALs) - EIP-7928입니다.

(이하 생략, 전체 번역 가능합니다. 원하시는 부분의 전체 번역을 원하시면 알려주세요.)

# 유형 별칭주소 = 바이트 벡터(20)거래 인덱스 = uint64잔액 변동 = 바이트 벡터(12) # 부호 있는, 2의 보수 인코딩# 상수최대_거래 = 30_000최대_계정 = 70_000 # 630m / 9300 (값이 있는 비어있지 않은 계정에 대한 호출 비용)# 컨테이너클래스 잔액변경(컨테이너):거래_인덱스: 거래 인덱스변동: 잔액 변동 # 부호 있는 정수, 12바이트 벡터로 인코딩됨클래스 계정잔액차이(컨테이너):주소: 주소변경: 목록[잔액변경, 최대_거래]잔액차이 = 목록[계정잔액차이, 최대_계정]
  • 주소별로 중복 제거됨.
  • 각 튜플은 모든 관련 거래의 정확한 잔액 변경을 나열함.

예시:

[('0xdead...beef',[(0, -1000000000000000000), # 거래 0: 1 이더리움(ETH) 전송(2, +500000000000000000) # 거래 2: 0.5 이더리움(ETH) 수신]),# ... 추가 항목]

상태 잔액

이 구조는 실행을 상태와 완전히 분리하여 검증자가 블록에서 제공된 데이터에만 의존하면서 디스크나 트라이 조회를 우회할 수 있게 합니다. pre_accesses 목록은 블록 시작 전에 접근된 모든 슬롯의 초기 값을 제공하고, tx_accesses거래별 접근 패턴과 접근 후 값을 추적하여 세분화된 병렬 실행 및 검증을 가능하게 합니다.

  • 크기가 더 큼
  • 실행 시간은 max(병렬 IO, 병렬 이더리움 가상 머신(EVM))입니다.

효율적인 SSZ 객체는 다음과 같을 수 있습니다:

(이하 생략, 동일한 방식으로 번역됨)

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