본문으로 건너뛰기

"엔지니어링" 태그로 연결된 13 개 게시물 개의 게시물이 있습니다.

엔지니어링 인사이트 및 기술 심층 분석

모든 태그 보기

Optimism 아키텍처

· 약 4 분
Tian Pan
Community Hacker

Optimism은 Ethereum을 확장하기 위해 설계된 EVM 동등성(Equivalence)·옵티미스틱 롤업 프로토콜입니다. Ethereum을 확장한다는 것은 네트워크가 처리할 수 있는 유용한 트랜잭션 수를 늘리는 것을 의미합니다. 옵티미스틱 롤업은 보안이나 탈중앙화를 희생하지 않으면서 Ethereum의 연산 및 저장 용량을 증가시키는 레이어 2 확장 기법입니다. EVM Equivalence은 Ethereum Yellow Paper에 정의된 상태 전이 함수를 완전히 준수한다는 뜻입니다.

옵티미스틱 롤업은 여러 트랜잭션을 하나의 트랜잭션으로 묶어 Ethereum 네트워크의 스마트 계약이 검증하도록 합니다. 이 과정을 “롤업(rolling up)”이라고 부르며, 개별 트랜잭션이 더 큰 트랜잭션으로 결합되어 Ethereum에 제출됩니다. “옵티미스틱”이라는 용어는 시스템이 트랜잭션이 유효하다고 가정하고, 반증될 경우에만 검증한다는 의미로, 이를 통해 더 빠르고 효율적인 처리를 가능하게 합니다.

전체 아키텍처

Optimism 아키텍처

op-node + op-geth

롤업 노드는 validator 모드와 sequencer 모드 중 하나로 실행될 수 있습니다:

  1. validator (검증자, aka verifier): Ethereum 노드를 실행하는 것과 유사하게 L2 트랜잭션을 로컬에서 시뮬레이션하며, 속도 제한이 없습니다. 또한 validatorsequencer의 작업을 검증하도록, output roots를 재생성하고 sequencer가 제출한 값과 비교합니다. 불일치가 발생하면 validator는 fault proof를 수행할 수 있습니다.
  2. sequencer: sequencer는 특권을 가진 주체로, L2 사용자의 트랜잭션을 받아 L2 블록을 생성하고 이를 data availability provider에게 ( batcher 를 통해) 제출합니다. 또한 L1에 output roots를 전송합니다. 현재 스택 전체에 하나의 sequencer만 존재하며, 이 때문에 OP 스택이 탈중앙화되지 않았다는 비판이 있습니다.

op-batcher

배치 제출자, 즉 batcher는 L2 sequencer 데이터를 L1에 제출해 검증자가 접근할 수 있도록 만드는 역할을 합니다.

op-proposer

Proposer는 L2 Output 체크포인트를 Ethereum 상의 L2 output oracle 계약에 생성·제출합니다. 최종 확정 기간이 지나면 이 데이터가 출금을 가능하게 합니다.

Batcher와 Proposer가 모두 L1에 상태를 제출하는 이유는? Batcher는 트랜잭션 데이터를 배치 단위로 L1에 제출하고, Proposer는 L2 상태에 대한 커밋먼트( output roots )를 제출해 L2 계정 상태의 최종 모습을 확정합니다. 두 역할을 분리함으로써 병렬 처리 효율성을 높일 수 있습니다.

contracts-bedrock

L2가 L1과 상호작용하기 위한 다양한 계약들:

  • OptimismPortal: L1 상태에서 스마트 계약 호출로 시작된 L2 트랜잭션 피드.
  • Batch inbox: Batch Submitter가 트랜잭션 배치를 제출하는 L1 주소.
  • L2 output oracle: 출금 및 fault proof에 사용되는 L2 output roots를 저장하는 스마트 계약.

Optimism 구성 요소

입금은 어떻게 하나요?

출금은 어떻게 하나요?

Optimism 문서에 대한 피드백

OP 스택을 이해하기 어려운 이유는 여러 가지가 있습니다. 그 중 하나는 동일한 구성 요소가 코드와 문서에서 약간씩 다른 이름으로 여러 번 언급된다는 점입니다. 예를 들어 “op-batcher”와 “batch‑submitter”, “verifiers”와 “validators”가 혼용되어 사용되면 각 구성 요소의 정확한 역할을 파악하기 어렵습니다.

또 다른 어려움은 아키텍처가 지속적으로 진화한다는 점입니다. 설계 요소가 시간이 지나면서 폐기될 수 있는데, 문서가 이를 즉시 반영하지 못하는 경우가 많습니다. 이로 인해 사용자는 오래되거나 부정확한 정보를 접하게 되어 혼란이 가중됩니다.

이러한 문제를 극복하려면 모든 문서를 꼼꼼히 검토하고, 개념을 일관되게 유지하며, OP 스택의 최신 변경 사항을 지속적으로 파악해야 합니다. 이를 위해 추가적인 조사와 다른 사용자·개발자와의 협업이 필요하지만, 복잡한 시스템을 완전히 이해하고 효과적으로 활용하기 위해서는 필수적인 과정입니다.

Optimism 소개: Optimistic Rollup 으로 이더리움 확장

· 약 5 분
Dora Noda
Software Engineer

Optimism은 보안이나 탈중앙화를 희생하지 않고 이더리움 확장을 위한 솔루션을 제공하는 옵티미스틱 롤업 프로토콜입니다. 이 프로토콜은 이더리움의 계산 및 저장 용량을 늘리면서 기존 이더리움 인프라와 최대한 호환되도록 설계되었습니다.

Optimism 소개: Optimistic Rollup 으로 이더리움 확장

기본 개념

이더리움 확장이란?

이더리움 확장은 네트워크가 더 많은 유용한 트랜잭션을 처리할 수 있는 능력을 의미합니다. 현재 이더리움은 대역폭, 계산, 저장 용량이 제한돼 있어 대량 트랜잭션 처리가 어렵습니다. 특히 계산과 저장이 가장 큰 병목으로 작용해 수수료가 급등합니다. 이더리움을 확장하고 수수료를 낮추려면 대역폭·계산·저장을 보다 효율적으로 활용해야 합니다.

옵티미스틱 롤업이란?

옵티미스틱 롤업은 레이어 2 확장 기법으로, 트랜잭션을 오프체인에서 실행하면서 보안과 탈중앙화를 유지합니다. 트랜잭션 데이터는 체인에 제출되지만 실제 실행은 오프체인에서 이루어집니다. 오프체인 실행에 오류가 발생하면 오류를 정정하고 사용자 자금을 보호하기 위해 체인에 오류 증명을 제출할 수 있습니다. 이는 분쟁이 있을 때만 법정에 가는 것과 비슷하며, 오류가 있을 때만 체인에 트랜잭션을 기록합니다.

EVM 등가성(EVM Equivalence)이란?

EVM 등가성은 이더리움 옐로우 페이퍼에 정의된 상태 전이 함수를 완전히 준수한다는 의미입니다. EVM 등가 롤업 프로토콜은 모든 EVM 표준을 따르므로 스마트 계약 개발자는 코드를 한 번만 작성하면 어디서든 배포할 수 있습니다. 즉, 이더리움 메인넷용으로 작성된 스마트 계약을 거의 수정 없이 EVM 등가 롤업 프로토콜에 배포할 수 있습니다.

Optimism = EVM 등가성 + 옵티미스틱 롤업 + 이더리움 확장

Optimism은 기존 이더리움 인프라와 최대 호환성을 유지하면서 이더리움을 확장하도록 설계된 EVM 등가 옵티미스틱 롤업 프로토콜입니다.

보안

보안을 희생하지 않고 이더리움을 확장하기 위해 Optimism은 레이어 1의 세 가지 핵심 속성을 유지합니다: 활력(liveness), 가용성(availability), 유효성(validity).

  1. 활력 – 누구나 언제든 트랜잭션을 보내 롤업 체인을 연장할 수 있습니다.
    • 트랜잭션은 시퀀서를 통해 또는 직접 레이어 1에 보낼 수 있습니다. 시퀀서는 저지연·저비용 트랜잭션을 제공하고, 레이어 1에 직접 보내면 검열 저항성을 확보합니다.
  2. 가용성 – 누구나 롤업 체인을 다운로드할 수 있습니다.
    • 체인 파생에 필요한 모든 정보가 레이어 1 블록에 포함됩니다. 따라서 레이어 1 체인이 존재하는 한 롤업도 존재합니다.
  3. 유효성 – 모든 트랜잭션이 올바르게 실행되고, 모든 출금이 정확히 처리됩니다.
    • 롤업 상태와 출금은 L1 계약인 L2OutputOracle에 의해 관리되며, 단일 정직 검증자 가정 하에 올바른(즉, 유효한) 롤업 블록 해시만 최종 확정됩니다. 잘못된 블록 해시가 L1에 주장되면 정직 검증자가 이를 무효임을 증명하고 보증금을 획득합니다.

Optimism은 오류 증명을 통해 롤업의 유효성을 강제합니다. 유효성 증명은 기술적으로 가능해지는 시점에 플러그인 형태로 추가될 수 있습니다.

네트워크 참여자

Optimism에는 사용자, 시퀀서, 검증자 세 종류의 참여자가 존재합니다.

Optimism 네트워크 참여자

사용자

네트워크의 핵심은 L2에 임의의 트랜잭션을 입금·출금할 수 있는 사용자입니다. 사용자는 이더리움 메인넷의 계약에 데이터를 전송해 L2에 입금하고, 시퀀서에 트랜잭션을 보내 레이어 2의 EVM 스마트 계약을 이용합니다. 또한 검증자가 제공하는 블록 탐색기를 통해 트랜잭션 상태를 확인할 수 있습니다.

시퀀서

시퀀서는 주요 블록 생산자 역할을 합니다. 하나의 시퀀서가 있을 수도 있고, 합의 프로토콜을 통해 여러 시퀀서가 협업할 수도 있습니다. 현재 1.0.0 버전에서는 Optimism Foundation이 감독하는 단일 시퀀서만 운영됩니다. 일반적으로 사양에서는 “시퀀서”라는 용어를 다수 시퀀서가 참여하는 합의 프로토콜의 대체어로 사용합니다.

시퀀서는

  1. 사용자의 오프체인 트랜잭션을 수락하고,
  2. 온체인 트랜잭션(주로 L1에서 발생한 입금 이벤트)을 관찰하며,
  3. 두 종류의 트랜잭션을 특정 순서대로 L2 블록에 합쳐서 L1에 calldata 형태로 두 가지 정보를 제출합니다.
    • 1단계에서 수락된 대기 중 오프체인 트랜잭션,
    • 온체인 트랜잭션 순서를 재구성할 수 있는 충분한 정보.

시퀀서는 또한 3단계에서 블록 데이터를 제공해 사용자가 L1 확정 전에 실시간 상태를 확인할 수 있게 합니다.

검증자

검증자는 두 가지 역할을 수행합니다.

  1. 롤업 데이터를 사용자에게 제공하고,
  2. 롤업 무결성을 검증하며 잘못된 주장에 이의를 제기합니다.

네트워크 보안을 유지하려면 최소 한 명 이상의 정직 검증자가 존재해 롤업 체인의 무결성을 검증하고 데이터를 제공해야 합니다.

주요 상호작용 다이어그램

다음 다이어그램은 프로토콜 구성 요소가 핵심 사용자 상호작용 중 어떻게 활용되는지를 보여줍니다.

입금 및 트랜잭션 전송

사용자는 보통 L1에서 ETH를 입금하면서 L2 여정을 시작합니다. 수수료를 지불할 ETH가 확보되면 L2에서 트랜잭션을 전송합니다. 아래 다이어그램은 이 흐름과 Optimism의 주요 구성 요소들을 나타냅니다.

입금 및 트랜잭션 전송

출금

출금은 L2에서 일반 트랜잭션으로 시작하지만, 분쟁 기간이 끝난 뒤 L1 트랜잭션을 통해 최종 완료됩니다.

출금 다이어그램

결론

Optimism은 기존 이더리움 인프라와 최대 호환성을 유지하면서 이더리움을 확장하도록 설계된 옵티미스틱 롤업 프로토콜입니다. 이더리움의 계산·저장 용량을 늘려 보안이나 탈중앙화를 희생하지 않고 더 많은 유용한 트랜잭션을 처리할 수 있는 솔루션을 제공합니다. Optimism에 대해 더 알고 싶다면 공식 사양을 확인하세요. 이더리움 핵심 원칙을 준수하고 기존 인프라와 호환성이 뛰어나기 때문에 Optimism은 이더리움이 보다 확장 가능하고 효율적인 네트워크로 거듭나는 데 핵심적인 역할을 할 것입니다.

Optimism 롤업 노드를 직접 설치·운영하는 데 지치셨나요? 네트워크에 더 쉽게 연결하고 싶으신가요? BlockEden.xyz Optimism RPC를 사용하면 몇 분 안에 Optimism 롤업에 연결할 수 있습니다! 복잡하고 시간이 많이 드는 노드 설정·유지보수에서 벗어나세요.

BlockEden.xyz Optimism RPC는 Optimism 롤업 연결 과정을 단순화해 프로젝트 개발에 집중할 수 있게 해줍니다. 사용하기 쉬운 플랫폼을 통해 빠르고 손쉽게 네트워크에 연결해 시간과 리소스를 절약하세요.

우리 플랫폼은 Optimism 롤업의 장점을 활용하고 싶지만 설정·유지보수에 시간을 할애하고 싶지 않은 개발자를 위한 번거롭지 않은 솔루션을 제공합니다. 전문가 팀이 항상 최신 기술을 유지하도록 관리하므로 애플리케이션의 안정성과 신뢰성을 확신할 수 있습니다.

Optimism 롤업의 복잡함에 발목이 잡히지 마세요. BlockEden.xyz Optimism RPC가 기술적인 부분을 담당하고, 여러분은 혁신과 창조에 집중하세요. 지금 바로 BlockEden.xyz에 가입하거나 체험해 보시고 원활한 연결과 효율성 향상의 혜택을 누리세요!

왜 Sui 블록체인은 빠르고 효율적인 트랜잭션 처리에 유망한 플랫폼인가

· 약 2 분
Dora Noda
Software Engineer

블록체인 세계에서 속도와 효율성은 어떤 플랫폼의 성공에 있어 필수적인 요소입니다. 바로 Sui 블록체인은 낮은 지연 시간의 트랜잭션 처리와 스마트 계약 실행을 제공한다는 약속을 내세우는 플랫폼입니다.

Sui와 BlockEden.xyz

Sui 블록체인의 독특한 특징 중 하나는 객체 소유권의 종류를 구분할 수 있다는 점입니다. 다른 블록체인 플랫폼에서는 모든 계약과 객체가 가변적으로 공유되지만, Sui에서는 객체가 주소에 의해 소유될 수 있으며 가변 소유, 불변 소유, 혹은 가변 공유 형태가 가능합니다. 이 기능은 스마트 계약과 자산 관리의 병렬 실행에 활용됩니다.

Sui는 자산 관리에 낮은 지연 시간을 중시하는 탈중앙화된 허가 없는 스마트 계약 플랫폼을 사용합니다. Move 프로그래밍 언어를 이용해 주소가 소유할 수 있는 객체 형태로 자산을 정의합니다. 이 플랫폼은 다른 블록체인 시스템의 검증인이나 채굴자와 유사한 역할을 하는 허가 없는 권한 집합에 의해 유지됩니다.

낮은 지연 시간을 달성하기 위해 Sui는 트랜잭션 처리를 두 단계로 나눕니다: 1) 객체 단위의 분산 락을 획득하고 2) 트랜잭션을 실행하여 그 효과를 커밋합니다.

첫 번째 단계는 권한 내에서 전역 동기화가 필요 없는 신뢰할 수 있는 브로드캐스트 원시 연산을 통해 수행되며, 샤딩을 통한 확장성을 가능하게 합니다. 공유 객체가 포함된 트랜잭션의 경우, 합의 프로토콜을 사용한 순서 지정이 필요합니다.

Sui는 권한 내에서 전역 락을 요구하는 병목 현상과 동기화 지점을 적극적으로 줄여, 자원을 늘릴수록 거의 선형에 가까운 확장성을 제공합니다. 또한 Move 가상 머신을 여러 코어 또는 물리적 머신에서 실행시켜, 버전이 지정된 입력 객체를 읽고 실행한 뒤 결과 객체를 저장소에 기록함으로써 스마트 계약의 병렬 실행을 지원합니다.

객체와 트랜잭션에 대한 저장소의 일관성 요구사항이 매우 느슨하기 때문에, 각 권한이 내부적으로 확장 가능한 분산 키‑값 저장소를 사용할 수 있습니다. Sui는 권한 간에 비잔틴 일관성 브로드캐스트 프로토콜을 사용해 자산에 대한 일반 연산의 안전성을 보장하며, 비잔틴 합의에 비해 낮은 지연 시간과 더 나은 확장성을 제공합니다.

전반적으로 Sui 블록체인의 설계 선택과 최적화는 빠르고 효율적인 트랜잭션 처리가 필요한 애플리케이션에 유망한 플랫폼이 되게 합니다. 객체 소유권 종류 구분, 객체 단위의 분산 락 획득, 스마트 계약의 병렬 실행이라는 세 가지 핵심 기능이 다른 블록체인 플랫폼과 차별화되는 요소입니다. Sui 블록체인과 함께라면 빠르고 효율적인 트랜잭션 처리의 미래가 현실이 됩니다.

블록체인 TPS에 대해 알아봅시다

· 약 3 분
Jack Sim
Web3 Builder

참고: 여기에 인용된 지표는 2022년 10월 기준이며 현재의 네트워크 성능을 반영하지 않을 수 있습니다.

Aptos 메인넷 출시 첫날, 소셜 미디어에서 몇 가지 혼란스러운 대화가 오갔습니다 –

TPS는 초당 트랜잭션 수(transactions per second)의 약자로, 엔지니어가 네트워크 트래픽의 규모를 측정하는 방법입니다. TPS에 대해 이야기할 때는 여러 시나리오가 있습니다:

  • 최대 TPS (Max TPS) 는 블록체인이 지원할 수 있는 최대 네트워크 트래픽을 의미합니다. 이는 체인이 합의에 도달하고 새 블록을 생성하는 속도, 그리고 블록 크기(예: BTC)나 블록의 가스 한도(예: Ethereum)에 의해 결정됩니다. 이더리움 및 이후의 스마트 컨트랙트를 지원하는 블록체인의 경우, 트랜잭션마다(예: 1대1 토큰 전송 vs 멀티 NFT 토큰 민팅) 계산 복잡성이 다르기 때문에 가스 한도에 의해 제한되는 것이 더 합리적이며, 이를 일관되게 측정해야 합니다. 즉, 최대 TPS는 체인의 처리량에 대한 엄격한 측정 기준은 아닙니다. 대신 초당 최대 가스량 (max gas per second) 이 더 정확한 기준이 됩니다. 그렇다면 개발자들은 어떻게 최대 TPS 값을 얻을까요? 이는 일반적으로 양호한 네트워크 조건, 완전히 가용한 밸리데이터, 그리고 가장 단순한 트랜잭션을 가정한 실험의 결과인 상한선입니다.

  • 실제 TPS (Actual TPS) 는 운영 중인 블록체인의 현재 트래픽 볼륨입니다. 이는 주로 네트워크가 얼마나 바쁜지에 따라 결정됩니다. Aptos 메인넷 출시 당시에는 준비된 dApp이 많지 않았고 Aptos 토큰을 보유한 사용자도 적었기 때문에, 당시 Aptos에서 활동하는 사용자가 많지 않았습니다. 이것이 당시 실제 TPS가 낮았던 이유입니다. 그러나 실제 TPS는 최대 TPS에 의해 제한됩니다. 소위 이더리움 혼잡(Ethereum congestion)은 실제 TPS가 이미 최대 TPS에 도달하여 더 이상의 트랜잭션을 처리할 수 없고 대기해야 하는 상황을 말합니다.

따라서 Aptos의 높은 최대 TPS는 생태계가 성장함에 따라 거의 즉각적인 트랜잭션 확정과 낮은 트랜잭션 수수료를 유지하며 그 장점을 입증할 것입니다.

이제 BlockEden.xyz 고객 여러분의 이야기로 돌아가 보겠습니다. 저희는 다양한 등급의 노드 API 서비스를 제공하며, 주요 차이점은 저희 서비스를 이용할 때의 QPS(초당 쿼리 수, queries per second) 제한입니다. 무료 등급은 기본적으로 1 QPS를 제공하고, Pro 등급은 10 QPS를 제공합니다. 이는 초당 호출할 수 있는 REST API의 수를 의미합니다. 이는 블록체인에서 초당 확정될 수 있는 트랜잭션 수와는 다릅니다. REST API를 호출할 때 쓰기 작업(즉, 트랜잭션 전송)뿐만 아니라 많은 읽기 작업(예: 계정 정보 조회, 블록 조회, 트랜잭션 조회)도 수행할 수 있습니다.

아직 저희 서비스에 가입하지 않으셨다면, 이 링크를 방문하여 무료로 시작해 보세요.