본문으로 건너뛰기
0%

dApp에 맞는 블록체인을 선택하는 방법

Mark Jonathas headshot

작성자 Mark Jonathas

2023년 4월 24일에 게시됨6분 읽기

가장 기본적인 수준에서, 블록체인은 개발자가 데이터 저장을 탈중앙화할 수 있게 해주는 훌륭한 인프라 도구입니다. 시스템으로서 블록체인은 개발자에게 신뢰할 수 있는 중앙 중개자 없이도 애플리케이션을 안전하게 배포할 수 있는 능력을 제공합니다.

블록체인은 다양한 애플리케이션에 사용될 수 있으며, 그 결과 여러 애플리케이션에 최적화된 다양한 유형의 체인이 존재합니다. 각 체인 유형은 조금씩 다릅니다. 따라서 개발자는 자신의 필요에 맞는 블록체인을 선택하기 위해 이러한 차이를 이해하는 것이 중요합니다.

이 글에서는 주요 블록체인 간의 핵심적인 차이점과, 개발자가 특정 유형의 체인을 다른 체인보다 선택하는 이유에 대해 다룹니다.

빌드할 블록체인을 선택할 때 확인해야 할 7가지 질문

프로젝트에 사용할 블록체인 플랫폼을 결정하는 과정에서, 개발자로서 고려해야 할 최소 7가지 요소가 있습니다:

1. dapp에 얼마나 많은 처리량이 필요한가?

개발 중인 프로젝트의 유형에 따라, 필요한 트랜잭션 처리량의 범위는 크게 달라질 수 있습니다.

예를 들어, 사용자가 하루에 수천 건의 마이크로 트랜잭션을 발생시켜야 하는 DeFi 게임을 만드는 경우라면, 처리량이 높고 가스비가 낮은 블록체인이 필요합니다.

반면 가끔씩만 트랜잭션을 발생시키는 DAO를 운영한다면, 협업의 용이성이 더 중요한 요소일 수 있습니다.

고려해야 할 중요한 점은 블록체인 프로토콜이 dapp과 함께 어떻게 스케일링되는지입니다. 처음 시작할 때는 낮은 트랜잭션 처리량으로도 충분할 수 있지만, 규모가 커지면 이는 수익을 갉아먹거나 고객을 불만스럽게 만들 수 있습니다.

따라서 결정을 내리기 전에, 특정 체인에서 빌드하는 것의 장기적인 비용과 속도를 고려하는 것이 중요합니다. 개발자는 메인넷의 확장성과 Layer 2 네트워크의 가용성을 모두 고려해야 합니다.

예를 들어, Ethereum 네트워크는 트랜잭션 처리량이 낮지만, 그 위에 구축되는 다수의 Layer 2 네트워크들은 훨씬 높은 처리량을 제공합니다. 2계층(2nd Layer)은 앱에 견고한 블록체인 생태계의 보안과 더 빠른 합의 메커니즘의 확장성을 함께 제공하도록 설계되었습니다.

2. 어떤 블록체인이 필요한 수준의 개발자 리소스를 제공하는가?

블록체인은 비교적 새로운 기술이기 때문에, 개발자가 이용할 수 있는 리소스에 따라 큰 차이가 발생할 수 있습니다. 많은 블록체인 프로토콜은 개발자에게 외부 튜토리얼과 가이드를 제공하거나, 개발자들이 서로 배울 수 있도록 그룹 채팅과 포럼을 만듭니다.

하지만 이러한 리소스의 품질은 저마다 다릅니다. 특정 체인을 시작하기 전에, 해당 프로토콜이 제공하는 리소스를 파악하는 데 시간을 들이는 것이 좋습니다.

예를 들어, 일부 시스템은 쉬운 조합성(composability)을 위해 설계되어 있지만, 그렇지 않은 시스템도 있습니다. 조합성이란 주어진 애플리케이션의 작은 부분들이 복사되어 다른 애플리케이션을 만드는 데 사용될 수 있는 정도를 의미합니다.

예를 들어, Ethereum Virtual Machine(EVM)과 호환되는 앱은 다른 EVM 호환 블록체인에도 dapp을 쉽게 재배포할 수 있습니다.

처음부터 새로 시작하는 것과, 기존 도구 및 인프라의 생태계를 기반으로 구축하는 것의 차이는 엄청날 수 있습니다.

dApp을 만드는 과정에서 어떤 문제가 발생할지는 아무도 알 수 없습니다. 따라서 이러한 문제가 생겼을 때 충분한 지원을 받을 수 있다는 것을 아는 것은 도움이 됩니다.

3. 어떤 블록체인 생태계가 dapp의 시장 진입 전략에 적합한 조건을 갖추고 있는가?

일부 블록체인은 이미 매우 활발한 생태계를 갖추고 있는 반면, 다른 블록체인은 아직 시간을 두고 개발되는 중입니다.

예를 들어, 개발자가 다른 앱에 의존하는 dApp을 빌드할 계획이라면, 큰 생태계를 가진 블록체인에서 개발하는 것이 합리적입니다.

예를 들어, 탈중앙화 거래소(DEX) 전반의 유동성을 집계하는 dApp을 만드는 경우, 선택한 블록체인에 유동성을 집계할 수 있는 여러 DEX가 존재하는 것이 필수적입니다.

반대로, 일부 블록체인에 존재하지 않는 제품을 만들려는 경우라면, 해당 애플리케이션에 경쟁자가 없을 블록체인을 선택하는 것이 유리할 수 있습니다.

물론, 개발자가 반드시 하나의 블록체인 생태계에만 안주할 필요는 없으며, 많은 프로토콜이 여러 생태계에서 성공적으로 성장해 왔습니다.

4. 블록체인은 어떤 프로그래밍 언어를 사용하는가?

특정 플랫폼에서 개발하는 복잡성은 상당히 다를 수 있습니다. 어떤 블록체인은 개발자에게 완전히 새로운 프로그래밍 언어를 배우도록 요구하는 반면, 다른 블록체인은 그 과정을 표준화합니다.

예를 들어, Solana 블록체인은 주 언어가 Rust이기 때문에, 경험 있는 Rust 개발자에게 접근하기 쉬울 수 있습니다. 반면, Ethereum과 EVM 생태계는 Solidity를 중심으로 합니다. EVM에서 빌드하려는 개발자는 Solidity를 배우는데, 이는 JavaScript와 크게 다르지 않기 때문입니다.

물론 이것이 항상 선택지가 되는 것은 아닙니다. 어떤 개발자 팀이든 다양한 숙련도의 구성원이 있기 마련이므로, 초보 개발자가 쉽게 시작할 수 있는지 여부가 크게 중요할 수 있습니다.

팀의 구성과 보유한 리소스를 고려하는 것은 어떤 블록체인을 사용할지 결정하는 데 도움이 될 수 있습니다.

5. 블록체인에서 빌드하면 어떤 인센티브가 존재하는가?

일부 블록체인 프로젝트는 충성도를 보상하고 네트워크에 기여한 개발자에게 보상을 지급하는 프로그램으로 개발자에게 인센티브를 제공합니다. 예를 들어, 일부 블록체인은 버그 발견과 포럼 응답에 대한 인센티브를 제공합니다.

다른 블록체인은 스테이킹 기회를 통해, 그리고 프로젝트가 플랫폼에 고객을 유입시킴으로써 수익을 얻을 수 있도록 하여 개발자에게 보상합니다.

경우에 따라서는, 고성장 잠재력을 가진 소규모 체인과 함께 빌드하여 팀들이 상호 성장의 보상을 나누는 것이 현명할 수 있습니다. 다른 경우에는, 단순히 신뢰할 수 있는 생태계를 선택하는 것이 더 나을 수 있습니다.

6. 블록체인이 기존 개발자 도구 및 통합과 호환되는가?

수년간의 개발을 거쳐, 일부 블록체인 도구는 업계 표준이 되었습니다. 예를 들어, Hardhat이나 Foundry와 같은 web3 툴킷은 매우 인기가 있으며, MetaMask와 같은 특정 크립토 지갑도 마찬가지입니다.

하지만 이러한 도구가 모두 여러 블록체인에서 작동하는 것은 아닙니다. 예를 들어 Hardhat과 Foundry는 EVM 호환 블록체인에서만 작동합니다. 다시 말해, 개발자는 이들 도구로 Solana dapp을 개발할 수 없으며, 대신 Anchor와 같은 도구를 사용해야 합니다.

마찬가지로, 특정 블록체인에 기존 도구를 통합하는 난이도도 크게 다를 수 있습니다.

많은 EVM 호환 블록체인은 동일한 통합 구조를 따르지만, 그렇지 않은 블록체인 간에는 차이가 있을 수 있습니다.

더 새로운 블록체인이거나 문서화가 부실한 블록체인의 경우, 통합을 설정하는 데 시간이 걸릴 수 있습니다.

그럼에도 불구하고, 개발자가 장기적으로 해당 블록체인의 성공을 믿는다면, 더 어려운 통합의 대가는 그만한 가치가 있을 수 있습니다.

7. 블록체인이 dapp에 충분히 안전한가?

블록체인의 맥락에서 보안은 몇 가지 다른 것을 의미할 수 있습니다. 네트워크 노드의 탈중앙화 정도와, 트랜잭션의 파이널리티(finality) 모두를 가리킬 수 있습니다.

탈중앙화는 조직이나 정부가 dapp을 중단시키기가 얼마나 어려울지를 나타낼 수 있기 때문에 중요합니다. 일부 개발자에게는 이것이 최우선 사항입니다. 하지만 다른 개발자에게는 트랜잭션의 파이널리티가 가장 중요한 보안 문제입니다. 선택한 블록체인이 포크(fork)되거나 재구성(reorganize)되어, 사용자의 트랜잭션이 더 이상 블록체인에 포함되지 않게 될 가능성이 얼마나 되는가?

블록을 생성하는 절차는 상당히 다를 수 있으며, 어떤 것은 다른 것보다 더 견고합니다. 따라서 선택한 블록체인이 강력한 보안 프로토콜을 갖추고 있는지 확인하는 것은 dApp의 생사를 좌우할 수 있습니다.

고려할 만한 다른 보안 이슈들도 있습니다. 예를 들어: 블록체인이 계속 가동 상태를 유지할 수 있는 능력, 서비스 거부(DoS) 공격에 대한 취약성, 또는 합의 메커니즘에 내재된 문제 등입니다. 단순한 조기 경보 신호에 불과할 수도 있지만, 블록체인이 과거에 중단된 적이 있는지, 포크되었는지, 또는 광범위한 재구성 시도를 겪었는지 고려하는 것은 앞으로 일어날 일을 예측하는 지표가 될 수 있습니다.

어느 경우든, 해당 블록체인의 역사를 조사하고 과거 다른 앱들이 그 위에서 어떻게 성능을 발휘했는지 고려하는 데 시간을 들이십시오.

적합한 블록체인 플랫폼 선택하기

특정 dApp에 적합한 블록체인 프로토콜을 선택할 때, 개발자는 주요 블록체인들 각각의 장단점을 알아두어야 합니다:

1. Ethereum

Ethereum은 스마트 컨트랙트 개념을 선구적으로 도입한 것으로 알려진 Layer-1 블록체인 플랫폼입니다.

Ethereum은 2015년 Vitalik Buterin에 의해 출시되었습니다. Vitalik은 Bitcoin의 탈중앙화 원칙을 가상 머신에 적용했습니다.

이 통찰 덕분에 Ethereum 블록체인은 금융 서비스, 거버넌스, 트레저리 관리, 결제, 거래소, 예술 등을 위해 개발된 수천 개의 앱을 보유한 혁신의 중심지가 되었습니다.

Ethereum은 탈중앙화된 보안 덕분에 스마트 컨트랙트 블록체인 중 가장 많은 가치를 끌어모았습니다.

Ethereum의 블록은 15초 동안 지속되며, 이는 정산이 그 시간 이내에 이루어짐을 의미합니다. Ethereum의 블록 크기는 최대한의 탈중앙화를 달성하기 위해 제한되어 있으며, 이로 인해 다른 일부 블록체인에 비해 트랜잭션 비용이 높습니다.

Ethereum은 현재 확장성 개선을 위한 노력을 지원하고 있습니다. 이 과정의 상당 부분은 Layer-2 블록체인의 개발을 지원하는 것을 포함합니다.

2. Arbitrum

Arbitrum은 Ethereum을 위한 가장 인기 있는 Layer-2 스케일링 솔루션 중 하나입니다. Offchain Labs가 구축하고 유지 관리하며, "옵티미스틱 롤업(optimistic rollups)"이라는 배칭 프로토콜을 사용합니다. 이는 트랜잭션이 Ethereum에 게시되기 전에, 기본적으로 모든 트랜잭션을 유효한 것으로 낙관적으로 취급하는 방식입니다.

이 기법을 통해 Arbitrum은 Ethereum의 보안성과 탈중앙화를 활용하면서도 더 빠르고 저렴한 정산을 제공할 수 있습니다.

완전한 탈중앙화가 Arbitrum의 로드맵에 포함되어 있지만, 현재 기술 스택의 일부는 Arbitrum 팀이 중앙에서 통제하고 있습니다. 팀이 기술을 반복 개선하고 그 실현 가능성에 확신을 갖게 되면, 전체 스택은 탈중앙화된 거버넌스 하에 놓이게 될 것입니다.

3. Optimism

Optimism은 Ethereum에 데이터를 게시하는 또 다른 옵티미스틱 롤업입니다.

Optimism 또한 Ethereum의 보안성과 탈중앙화의 혜택을 누리면서 더 저렴하고 빠른 트랜잭션을 제공합니다.

트랜잭션을 배칭함으로써, Optimism은 트랜잭션 처리량을 Ethereum 메인넷보다 한두 자릿수 더 높은 수준으로 확장할 수 있습니다.

Optimism은 Arbitrum과 마찬가지로 탈중앙화보다 확장성과 보안을 우선시합니다. EVM과 호환되는 Optimism Virtual Machine(OVM)이라는 시스템을 사용합니다.

Optimism의 로드맵에도 현재보다 더 탈중앙화되기 위한 계획이 포함되어 있습니다.

4. Polygon

이전에는 Matic Network로 알려졌던 Polygon은 2019년에 출시된 Layer 2 스케일링 솔루션으로, Ethereum 블록체인의 트랜잭션을 더 빠르고, 더 간단하고, 더 저렴하게 만들어줍니다.

zkSync나 StarkNet 같은 다른 Layer 2 솔루션과 달리, Polygon은 "맥가이버 칼" 같은 솔루션처럼 작동하며, 확장성 문제를 해결하기 위해 여러 도구를 조합합니다. 이는 Polygon이 여러 체인을 운영한다는 것을 의미합니다—하나는 트랜잭션 처리량을 우선시하고, 다른 하나는 보안을 우선시합니다. Optimism과 마찬가지로 Polygon은 100% EVM 호환성을 제공합니다.

Polygon은 모든 Ethereum Layer 2 솔루션 중에서도 가장 활발한 생태계 중 하나를 보유하고 있으며, 2021년에는 TVL이 90억 달러에 달해 정점을 찍었습니다.

Polygon Labs는 또한 자사의 개발자 리소스 도구인 Polygon University의 베타 버전을 출시했으며, 개발자를 위한 포괄적인 문서, 커뮤니티 리소스, 가이드를 제공하는 위키를 운영하고 있습니다.

5. Solana

Solana는 가장 인기 있는 대안 Layer-1 블록체인 중 하나입니다. 2017년에 설립되었으며, 현재 제네바에 본부를 둔 Solana Foundation이 운영하는 오픈소스 프로젝트입니다.

Solana는 창립자 Anatoly Yakovenko가 2017년에 개발한 히스토리 증명(proof-of-history, PoH) 개념을 선구적으로 도입한 것으로 알려져 있습니다. PoH는 이벤트 간의 순서와 시간 경과를 검증하기 위한 증명으로, 원장에 신뢰 없는(trustless) 시간 경과를 기록하는 데 사용됩니다.

Solana의 스마트 컨트랙트는 Rust로 작성되며, 이는 Solidity와 같은 EVM 호환 프로그래밍 언어를 배우고 싶지 않은 개발자에게 매력적입니다.

현재 Solana는 초당 3,886건의 트랜잭션을 처리하며, 이는 dApp에 빈번한 상태 업데이트가 필요한 개발자에게 매력적입니다.

세계에서 가장 큰 블록체인 네트워크 중 하나로서, Solana는 개발자가 Rust, C, C++와 같은 익숙한 언어를 사용할 수 있는 유연한 프로그래밍 환경을 제공합니다. 이는 고성능 탈중앙화 애플리케이션을 개발하고자 하는 이들에게 매력적인 플랫폼입니다.

6. StarkNet

StarkNet은 StarkWare Industries가 Ethereum 메인넷 위에 구축한 퍼미션리스 영지식 롤업(Zero-Knowledge Rollup, ZK-Rollup) Layer-2 스케일링 솔루션입니다.

StarkNet은 Eli Ben-Sasson과 Uri Kolodny가 STARK 기술을 사용해 확장성과 프라이버시를 개선하기 위해 설립했습니다.

StarkNet의 ZK 롤업은 여러 트랜잭션을 하나의 블록으로 "롤업"함으로써 Ethereum 메인넷의 확장성을 높이며, 이를 통해 가스비를 줄이고 트랜잭션 속도를 높입니다.

Starknet의 스마트 컨트랙트는 Cairo라는 프로그래밍 언어로 작성됩니다. 즉, Starknet 생태계를 사용하려는 개발자는 다른 개발자 도구를 배워야 하지만, 그 대가로 Ethereum의 보안성, 탈중앙화, 그리고 확장성을 얻게 됩니다.

다만, StarkNet에서 빌드할 때 한 가지 이점은 모든 지갑이 기본적으로 계정 추상화(account abstraction)를 사용한다는 점입니다.

결론

개발자가 dapp을 위한 블록체인을 선택하기 전에, 블록체인들이 서로 어떻게 다를 수 있는지 이해하는 것이 중요합니다.

앱은 여러 블록체인에 걸쳐 배포될 수 있으며, 반드시 하나의 블록체인에만 국한될 필요는 없다는 점을 기억하십시오. 그럼에도 불구하고, 프로젝트에 맞는 적합한 체인을 찾는 것은 상당한 시간, 노력, 비용을 절약해줄 수 있으며, 성공과 실패를 가르는 차이가 될 수 있습니다.

Background gradient

블록체인 매직을 만드세요

Alchemy는 가장 강력한 Web3 개발자 제품 및 도구를 리소스, 커뮤니티, 그리고 전설적인 지원과 결합합니다.