블록체인은 탈중앙화 기술로 많은 사람들에게 관심을 받았습니다. 분산 원장을 통한 신뢰를 증가시켜 믿을 수 있는 기술로 많은 사람들이 관심을 가졌으나 사용자 수가 늘어나면 늘어날수록 한 블록당 담을 수 있는 transaction수가 한정되어 있어 처리 속도가 늦어지는 문제가 발생하였습니다. 이러한 문제점을 다루는 트릴레마에 대하여 알아보도록 하겠습니다.
목차
트릴레마란 무엇인가?
트릴레마 해결을 위한 노력
트릴레마란 무엇인가?
블록체인 트릴레마는 블록체인 기술의 세 가지 핵심 요소인 탈중앙화, 확장성, 보안성 중 두 가지 요소는 동시에 해결할 수 있지만 세 가지 목표를 한꺼번에 해결할 수 없는 문제를 뜻하는 말로, 한 가지 요소를 향상하기 위해서는 다른 요소를 어느 정도 희생할 수밖에 없는 문제를 의미합니다.
비트코인과 이더리움의 경우 탈중앙화와 보안성 문제를 해결하였다고 평가받지만 계속하여 증가하는 사용자 수와 그에 따른 트랜잭션의 증가를 감당하기 어려워 확장성 문제를 겪고 있다고 합니다.
블록체인 핵심 요소
탈중앙화 (Decentralization)
탈중앙화는 집중화된 기관이나 개인에 의한 통제 없이 여러 노드들에 의해 운영되는 특징을 말합니다. 분산된 노드들은 합의 알고리즘을 통해 네트워크의 일관성을 유지하고 신뢰할 수 있는 거래 기록을 생성합니다.
확장성
블록체인 시스템이 처리할 수 있는 거래량이나 작업 부하에 대한 적응력을 의미합니다. 블록체인은 모든 노드가 동일한 거래 기록을 유지하고 검증해야 하므로, 거래 속도와 처리량에 제한이 있을 수 있습니다. 확장성은 블록체인 시스템이 많은 수의 거래를 효율적으로 처리하고, 대규모 사용자 및 애플리케이션을 지원할 수 있는 능력을 의미합니다.
보안성
블록체인에서 핵심적인 문제로 다루어지는 보안성은 블록체인 암호화 기술과 합의 알고리즘 등을 사용하여 거래의 무결성과 인증을 보장합니다. 탈중앙화 네트워크는 공격자가 시스템을 제어하기 어렵게 만들어 신뢰성을 높이지만 블록체인 시스템은 약점, 결함, 사용자의 실수 등으로 인해 보안 위험에 노출될 수 있습니다. 따라서 보안성은 블록체인 기술의 핵심 측면 중 하나로 간주됩니다.
트릴레마 해결을 위한 노력
블록체인 트릴레마를 극복하기 위해 다양한 노력이 이루어지고 있습니다. 어떠한 노력이 있었는지 알아보도록 하겠습니다.
Rollup
Rollup은 블록체인 네트워크에서 확장성 문제를 해결하기 위한 방법으로 Layer1 외부에서 트랜잭션을 수행한 후 데이터를 1차 계층으로 전송하여 합의를 이루는 방식입니다. 트랜잭션 데이터가 Layer1의 블록에 포함되므로, rollup은 기본적인 이더리움 보안에 의해 보호받을 수 있습니다. rollup의 방법에는 Zero knowledge rollup과 Optimistic rollup 두 가지 종류의 rollup이 있습니다.
Zero-knowledge rollup
Zero-knowledge rollup(ZK-rollup)은 계산과 상태 저장을 오프체인으로 이동하여 이더리움 메인넷의 처리량을 증가시키는 Layer2 스케일링 솔루션입니다. ZK-rollup은 수전건의 트랜잭션을 Layer2에서 일괄 처리한 후, main net에는 최소한의 요약된 데이터만 게시합니다. 이 요약된 데이터는 이더리움 상태에 추가되어야 할 변경사항을 포함하고, 해당 변경사항이 올바른 것임을 나타내는 암호학정 증명을 포함하고 있습니다.
자세한 내용은 아래의 사이트에서 확인할 수 있습니다.
https://ethereum.org/en/developers/docs/scaling/zk-rollups/
Optimistic rollup
Optimistic rollup은 Layer1의 처리량을 확장하기 위해 설계된 Layer2 프로토콜입니다. 이들은 오프체인에서 트랜잭션을 처리함으로써 Layer1의 부하를 줄이고, 처리 속도를 크게 향상할 수 있습니다. 사이드체인과 같은 다른 스케일링 솔루션과는 달리 메인넷에서 보안을 유도하는 방식으로 작동합니다. 또한 Optimistic rollup은 트랜잭션을 Layer1에 calldata로 기록하여 사용자의 가스 비용을 줄일 수 있습니다.
자세한 내용은 아래의 사이트에서 확인할 수 있습니다.
https://ethereum.org/en/developers/docs/scaling/optimistic-rollups/
사이드 체인
사이드체인은 Layer1과 독립적으로 실행되는 별도의 블록체인으로, main net과 양방향으로 연결됩니다. 사이드체인은 독립적인 블록 매개변수와 합의 알고리즘을 가질 수 있으며, 종종 효율적인 트랜잭션 처리를 위한 방식으로 설계됩니다. 사이드 체인은 Layer1의 보안 속성을 상속하지 않기 때문에 Layer2 스케일링 솔루션과는 달리, 사이드체인은 상태변경 및 트랜잭션 데이터를 이더리움 메인넷에 다시 게시하지 않습니다.
자세한 내용은 아래의 사이트에서 확인할 수 있습니다.
https://ethereum.org/en/developers/docs/scaling/sidechains/
rollup과 사이드 체인 차이점
Rollup | Sidechain | |
데이터 위치 | 대부분의 트랜잭션 처리가 오프테인에서 이루어지고, 결과적인 상태 업데이트와 요양 데이터만 메인넷에 기록 | 별도의 블록체인이기 때문에 트랜잭션 데이터와 상태가 사이드 체인에 저장 |
보안 모델 | 메인넷의 보안을 이용하며, 주로 오프체인에서 발생한 트랜잭션을 검증하기 위한 유효성 증명을 제출 | 독립적인 보안 모델을 가지고 있으며, 자체적으로 합의 알고리즘과 보안 메커니즘을 갖춤 |
상태 및 데이터 게시 | 상태 변경 및 트랜잭션 데이터의 일부 요약 정보가 메인넷에 게시되어 메인넷에서의 상태 업데이트를 보증 | 상태 변경 및 트랜잭션 데이터를 메인넷에 다시 게시하지 않음 |
탈중앙화와 보안 | layer 1의 탈중앙화와 보안 속성을 유지하면서 확장성을 제공하기 위해 설계 | 고성능 처리를 위해 탈중앙화나 보안을 어느 정도 희생할 수 있음 |
'BlockChain > BlockChain' 카테고리의 다른 글
[BlockChain] Openzeppelin의 defender 이해하기 (0) | 2023.07.04 |
---|---|
[BlockChain] hardhat으로 scan 사이트 verify하는 법 (mumbai) (0) | 2023.06.29 |
[BlockChain] hardhat이란? (설치, 컴파일, 테스트, 배포 방법) (0) | 2023.06.18 |
[BlockChain] GSN이란? (Gas Station Network) (0) | 2023.05.31 |
[BlockChain] DEX란? (0) | 2023.05.23 |