블록 수준 접근 목록 (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 객체는 다음과 같을 수 있습니다:
(이하 생략, 동일한 방식으로 번역됨)




