blob 사용으로 전환하기
1
blob 사용을 위한 scalar 값 결정
Blob으로 데이터를 제출하도록 전환하는 첫 번째 단계는 사용자에게 수수료를 부과하는
공식에 설정할 scalar 값을 계산하는 것입니다.
scalar 값은 체인이 하루 평균 처리하는 트랜잭션 수, 체인에서 발생하는 트랜잭션 유형,
op-batcher에 설정한 OP_BATCHER_MAX_CHANNEL_DURATION, 그리고 L1 비용에 더해 사용자에게 부과하려는 목표 마진에 따라 달라집니다.
측정된 batcher 지출을 기준으로 scalar 크기를 정하는 방법은 batcher 비용 조정 가이드의 fee scalar로 지출 회수하기를 참고하십시오.
fee scalar에 대한 자세한 내용은 트랜잭션 수수료의 Ecotone 섹션을 참고하십시오.마진 변경을 위한 수수료 조정
체인 운영자는 체인의 처리량이 변하여 blob을 훨씬 더 많이 또는 적게 채우게 되었거나, 단순히 운영 비용을 충당하기 위해 마진을 늘리고 싶은 경우 scalar 값을 높이거나 낮추고 싶을 수 있습니다. L1 데이터 비용에 대한 마진을 늘리거나 줄이려면l1baseFeeScalar와 l1blobBaseFeeScalar를 같은 배수로 조정하기만 하면 됩니다.예를 들어 L1 데이터 비용에 대한 마진을 ~10% 늘리려면 다음과 같이 합니다.2
blob용 scalar 값 업데이트
이상적인 L2의 gas price oracle이
BaseFeeScalar와 BlobBaseFeeScalar를 결정했다면 이 값들을 체인에 적용해야 합니다. 첫 번째 단계는 두 값을 L1 Config에 설정할 단일 값으로 인코딩하는 것입니다.L1 SystemConfigProxy.setGasConfigEcotone에 트랜잭션을 보내 Scalar 값을 설정할 수 있습니다.baseFeeScalar와 blobBaseFeeScalar에 대해 예상한 값을 반환하는지 확인하십시오(~1분 대기).이 확인은 L2에서 수행되므로 체인의 RPC URL을 사용하고 있는지 확인하십시오. 이 호출을 할 때 geth에
gas-price도 제공해야 합니다.- baseFeeScalar
- blobBaseFeeScalar
3
blob을 게시하도록 batcher 업데이트
수수료 구성이 업데이트되었으므로 즉시 batcher를 구성해야 합니다!batcher 구성 단계:
scalar 값을 업데이트한 시점부터 Batcher를 업데이트하기 전까지 체인이 사용자에게 수수료를 적게 부과할 수 있으므로, scalar 값 업데이트 직후에 바로 수행하십시오.
OP_BATCHER_DATA_AVAILABILITY_TYPE=blobs를 구성하십시오. 적용하려면 batcher를 재시작해야 합니다.- 수수료 절감을 극대화하도록
OP_BATCHER_MAX_CHANNEL_DURATION이 적절히 설정되어 있는지 확인하십시오. 자세한 내용은 OP Batcher 최대 채널 구성을 참고하십시오. - 선택적으로 batcher가 다중 blob을 지원하도록 구성할 수 있습니다. 자세한 내용은 다중 blob batcher 구성을 참고하십시오.
calldata 사용으로 되돌리기
체인 운영자로서blobBaseFee가 충분히 비싸고, 체인이 구성된 batcher
OP_BATCHER_MAX_CHANNEL_DURATION 내에 blob을 의미 있게 채울 만큼 충분한 트랜잭션을
처리하지 않는 경우, calldata로 데이터를 게시하는 방식으로 되돌리고 싶을 수 있습니다. 트랜잭션이 blob과 calldata 중 어느 쪽이 더 저렴할지 판단하려면 현재 blob base fee와 L1 base fee를 비교하거나, OP_BATCHER_DATA_AVAILABILITY_TYPE=auto를 설정하여 batcher가 자동으로 비교하도록 하십시오. 장단점은 batcher 비용 조정 가이드의 데이터 가용성 유형 선택을 참고하십시오. 체인은 다음 단계에 따라
blob에서 calldata 사용으로 다시 전환할 수 있습니다.
1
calldata 사용을 위한 scalar 값 결정
calldata를 사용하는 경우, Ecotone 이전에 “scalar”를 설정했던 것과 비슷하게
체인은 수수료를 업데이트하여 마진을 늘리거나 줄일 수 있습니다. calldata를 사용하는 경우, 원하는 마진을 달성하도록
BaseFeeScalar를 설정할 수 있습니다. 다만 “overhead” 구성 요소가 제거된 것을
보상하기 위해 5-10% 정도 높여야 합니다.
측정된 batcher 지출을 기준으로 scalar 크기를 정하는 방법은 batcher 비용 조정 가이드의 fee scalar로 지출 회수하기를 참고하십시오.L1의 Pectra 업그레이드 이후, calldata DA만 사용하는 체인은 BaseFeeScalar를 10/4배로 높여야 합니다. 이 공지를 참고하십시오.
BaseFeeScalar를 조정해야 합니다.
예를 들어 L1 Fee 마진을 10% 늘리려면 다음과 같이 합니다.2
calldata용 scalar 값 업데이트
scalar 값을 설정하려면 blob용 Scalar 값 업데이트에 설명된 것과 동일한 절차를 따르십시오.
3
calldata를 게시하도록 batcher 업데이트
수수료 구성이 업데이트되었으므로 즉시 batcher를 구성해야 합니다.
다시 한번 강조하지만, scalar 값을 업데이트한 시점부터 Batcher를 업데이트하기 전까지 체인이 사용자에게 수수료를 적게 부과할 수 있으므로, scalar 값 업데이트 직후에 바로 수행하십시오.
OP_BATCHER_DATA_AVAILABILITY_TYPE=calldata를 구성하십시오. 적용하려면 batcher를 재시작해야 합니다.- 절감 효과를 극대화하도록
OP_BATCHER_MAX_CHANNEL_DURATION이 적절히 설정되어 있는지 확인하십시오. 참고: 여기서 높은 값을 설정하면 비용이 낮아지지만, blob을 사용하는 처리량이 낮은 체인에 비해서는 효과가 덜합니다. 자세한 내용은 OP Batcher 최대 채널 구성을 참고하십시오.
batcher에서 auto DA 모드 사용하기
이제 batcher는 어떤 DA 유형이 더 저렴한지에 따라 blob과 calldata 사이를 자동으로 전환하는 기능을 지원합니다. 이는 체인의 DA 수익 마진을 약간 개선할 수 있는 최적화입니다. 이 모드를 활성화하려면OP_BATCHER_DATA_AVAILABILITY_TYPE=auto를 설정하십시오.
기타 고려 사항
- Ecotone 업그레이드와 관련된 L1 Data Fee 변경 사항에 대한 정보는 트랜잭션 수수료 페이지를 참고하십시오.
- 아카이브 node를 활성화하려면 blob archiver 서비스에 접근해야 합니다. Optimism의 서비스를 사용하거나 직접 운영할 수 있습니다.