[루디움 렉쳐] 아비트럼 딥다이브_9oodam 학습 내용 정리 (1주차_1)

아비트럼 인트로

아비트럼 네트워크 탄생 배경 및 현황 개요

블록체인 업계의 확장성 문제 대두

-> 롤업 기술 : 메인 체인의 보안성을 유지하면서 처리 속도와 확장성을 획기적으로 개선할 수 있는 해결책

-> 아비트럼, 옵티미즘 등의 주요 롤업 프로젝트 성장

 

아비트럼 : 이더리움의 확장성 문제를 해결하기 위해 오프체인 랩스에서 개발한 레이어2 솔루션

 

옵티미스틱 롤업

- 아비트럼의 핵심 기술로, 이더리움의 보안성을 유지하면서 처리 속도와 비용 효율성을 크게 개선

- 트랜잭션을 레이어2에서 수행하고 결과만 주기적으로 메인넷에 기록

- 이 과정에서 트랜잭션의 유효성을 '낙관적'으로 가정하고, 문제가 있을 경우 이의제기 할 수 있는 기간을 둠


아비트럼의 특징

1. 이더리움 호환성: 기존 이더리움 스마트 컨트랙트와 개발도구를 그대로 사용 가능

2. 높은 확장성: 이더리움 대비 최대 100배 이상의 처리량 제공

3. 낮은 거래 비용: 이러디움 대비 가스비 10~20배 절감

4. 강력한 보안성: 이더리움 보안 모델을 그대로 활용


롤업과 트랜잭션 라이프 사이클

1. Roll Up

- 모든 트랜잭션을 일단 유효하다고 가정하고 처리한 뒤, 나중에 문제가 있다면 이의를 제기할 수 있도록 하는 것

- 트랜잭션 데이터를 이더리움 메인넷에 'Call data(콜데이터)'로 기록한 뒤, 약 일주일 동안 누구든 해당 블록의 유효성에 의문을 제기할 수 있음

- 문제가 제기되면, 'Interactive fraund proofs(대화형 사기 증명)' 방식으로 이를 해결

Interactive fraund proofs(대화형 사기 증명)
- 양측이 단계적으로 문제를 좁혀가다가 최종적으로 단 하나의 실행 단계에 대해서만 이더리움 메인넷에서 검증하는 방식
- 정상적인 상황에서는 메인넷에 최소한의 데이터만 기록하면 되므로 가스 비용을 크게 줄일 수 있다.
- 더 복잡한 트랜잭션도 처리할 수 있어 이더리움의 가스 한도를 넘어서는 작업도 가능하게 만든다.

 

- Validator: 일부는 스테이커가 되어 ETH를 예치 -> 정직하게 행동하면 이를 회수할 수 있음

 

- RBlock: 이전 확인된 RBlock 위에 새로 제안된 RBlock이 쌓일 수 있음 -> 밸리데이터는 이전 블록의 확인을 기다리지 않고 계속 새 블록을 제안할 수 있음 -> 체인의 효율성 향상

[악의적인 벨리데이터에 의해 체인 상태가 복잡해진 경우]

위처럼 여러 개의 블록이 서로가 자신이 올바른 후속 블록이라고 주장하는 경우 (106, 109번)

-> 블록 번호 순서대로 처리

 

 

2. Transaction LifeCycle

 

(1) Sequencer: 트랜잭션의 순서를 결정

- 직접 전송(오프 체인): 클라이언트가 체인을 L2 노드에 연결하고 서명된 트랜잭션 직접 전송

- L1을 통한 delay 전송: 클라이언트가 L1 트랜잭션을 아비트럼 체인의 delayed inbox에 서명하여 메시지를 보냄

 

(2) Soft Guarantee: 악의적인 시퀀서라도 트랜잭션을 재정렬하거나 일시적으로 지연시킬 뿐, 위조하거나 잘못된 상태 업데이트를 제안할 수 없음

 

(3-1) batch and compress: 시퀀서는 L2 트랜잭션 배치를 L1에 게시 (만약 시퀀서가 트랜잭션을 포함하지 않으면, 클라이언트는 지연된 인박스에 직접 게시, 일정 시간 후 강제 포함)

-> L2 트랜잭션의 최종성 == 이를 기록한 L1 트랜잭션의 최종성

 

(4-1) 벨리데이터가 이 트랜잭션을 포함하는 RBlock 주장

 

(5-1) 일주일 이의 제기 기간 이후 확정되면 L1 의 아웃박스 루트 업데이트 (L1 에서 RBlock 확인 가능)


시퀀서와 인터체인 메시징

(3-2)  오프체인 인박스에서 트랜잭션 순서 결정

 

(4-2)  아비트럼 니트로 VM을 사용해 로컬에서 실행 (L1, L2 수수료를 계산하고 할당)

 

(5-2)  클라이언트에게 거의 즉시 트랜잭션 영수증 제공

 

이 과정에서 시퀀스는 2가지 방식으로 트랜잭션 시퀀스 발행

- 실시간 피드 (Soft Finality): 구독자에게 각 트랜잭션이 순서화 될 때마다 즉시 알림 제공

- L1 배치 게시 (Hard Finality): 주기적으로 트랜잭션 그룹을 압축하여 이더리움에 콜데이터로 게시

 

변경 사항 설명

- 직접 메시지 태깅

- 메시지 태깅

- 지연된 인박스

- 메시지 릴리스

- 강제 승격 


가스비

1. L2 가스: 니트로 체인에서 트랜잭션을 실행하는 데 필요한 가스량으로, 이더리움의 가스와 비슷한 개념
2. L1 콜데이터: 트랜잭션 데이터를 L1에 기록하는 비용으로, 시퀀서를 통해 처리된 트랜잭션에만 부과

Fee = exp(-a(B-b))

* Fee: 기본 수수료
* B: 현재 백로그
* a, b: 조정 상수

백로그가 많을수록 수수료가 높아짐

 

사용자가 내는 총 수수료는 L2 기본 수수료에 (L2 가스 사용량 + L1 콜데이터 수수료)를 곱한 값

이더리움처럼 가스가 부족하거나 기본 수수료 한도가 너무 낮으면 트랜잭션이 실패

(다만 이더리움과 달리 니트로는 '팁' 기능은 없다.)