DAppChain: 사이드체인을 통한 이더리움 DApp 확장

Loom Network Korean
Loom Network Korean
8 min readMar 9, 2018

이 글은 Georgios Konstantopoulos가 쓴 DAppChains: Scaling Ethereum DApps Through Sidechains를 번역한 글입니다. 오역이 있으면 Private Note 기능으로 알려주세요!

사이드체인에 대해 썼던 이전 글에서, 룸 네트워크가 대형 온라인 게임과 소셜 앱들을 만들고 운영하기 위한 블록체인 플랫폼이 되기 위해 무엇을 지향하고 있는지 알아보았습니다.

우리는 커뮤니티들이 블록체인에서 운영되는 미래를 꿈꿉니다. 또한 트위터, 레딧(Reddit), 페이스북, 스택오버플로, 거기에 MMORPG 같은 게임들까지 모두 커뮤니티에 의해 운영되고 누구도 검열할 수 없는 날이 오기를 바라지요.

이더리움에서는 할 수 없을까?

현 시점에서 DApp들의 확장을 막는 방해 요소들은 다음과 같습니다:

  1. DApp들은 다른 DApp들, 그리고 리소스를 위한 금융 트랜잭션과 경쟁해야 한다(예를 들어, 사용자들이 트랜잭션을 더 빨리 처리(confirm)되도록 하기 위해서 가스에 더 많은 비용을 써야 하고, 이는 확장이 불가한 수수료 기반의 시장을 만든다).
  2. 트랜잭션들이 백만 달러를 전송할 만한 급의 보안 수준으로 다뤄진다.
  3. DApp들을 제어할 수 있는 중앙 요소가 없으면 해당 DApp을 업데이트할 수 없다.

우리는 DApp들에서 발생하는 모든 액션이 모두 똑같이 최고의 보안 수준을 필요로 하지는 않는다는 점에 주목했습니다. 악의적인 공격자에게도, 게임에서 발생하는 작은 가치의 거래나 소셜 앱의 게시글에 대해 공격하는 것은 크게 의미가 없을 겁니다. 백만 달러급의 가치가 있는 이더 트랜잭션의 이중 지불이나 검열에 대해 공격하는 것에 비교하면 말이죠.

본질적으로, 이더리움의 사용자들은 최고 수준의 보안이 필요하지 않을 때에도 DApp의 함수를 실행하기 위해 더 많은 비용을 지불하고 있는 것입니다.

DAppChain 입문

DAppChain은 무엇인가?

룸 네트워크는 DAppChain을 사용하여 개발자들이 대규모의 게임과 소셜 앱을 만들 수 있도록 합니다 — 즉, DApp이 자신만의 사이드체인에서 돌아가도록 하는 것입니다.

좀 더 구체적으로 말하자면, DAppChain은 메인 체인(여기서는 이더리움)과 병렬적으로 실행되는 애플리케이션별 사이드체인입니다. 이를 위한 규칙들은 사용 방법에 맞춰 바꿀 수 있고, 보안성은 메인 체인의 합의 알고리즘에 의해 유지됩니다.

1 DApp = 1 DAppChain.

Loom DAppChain에서 운영되는 DApp들은 민주적이다.

사용자들은 DAppChain에서 그들만의 노드를 운영함으로써 특정 DApp을 지원하고 해당 DApp의 개발 과정에 투표할 수 있는 권리를 얻을 수 있습니다. 즉, 사용자들이 동의하지 않는 업데이트를 개발자들이 릴리즈할 수는 있지만, 사용자들은 그들의 노드를 업데이트를 거부하도록 설정하고 분기할 수 있죠.

사용자들은 투표를 하고 그들의 의견을 표현할 수 있습니다. 이러한 점에서 개발자들이 커뮤니티가 원하지 않는 변화를 만들어낼 수 있는 전통적인 게임과 웹서비스와는 다릅니다.

Loom DAppChain에서 운영되는 DApp들은 확장 가능하다.

DAppChain에서 발생하는 모든 트랜잭션은 해당 DApp에 한정하여 발생하므로, 특정한 타입의 트랜잭션에 최적화된 합의 알고리즘을 체인에 적용할 수 있습니다.

예를 들어 게임의 경우에, 우리는 위임된 지분 증명(Delegated Proof of Stake)과 같은 매우 빠르고 실행 비용이 저렴한 합의 알고리즘을 사용할 수 있습니다.

이러한 방식은 특정한 사용 사례에 맞춰 매우 높은 성능을 내기 위해 ASIC이 사용하는 방법과 유사합니다.

각각의 DAppChain은 해당 DApp에 알맞게 맞춰지고 최적화된다.

Loom DAppChain에서 운영되는 DApp의 데이터는 공개되고 공유할 수 있다.

전통적인 게임이나 웹 서비스에서는, 개발자가 사용자들이 원하지 않는 업데이트를 하기로 결정하거나 어떤 계정을 추방 또는 검열하는 막을 방법이 없습니다(문제 제기를 하는 것 정도밖에는…). 해당 시점의 게임 상태 등에 대한 정보도 다시 접근할 수 없죠.

반면에 DAppChain에서는, 노드를 운영하는 사용자들은 해당 DAppChain의 최초 블록부터 모든 데이터의 복사본을 가지게 됩니다.

이런 공유할 수 있고 공개된 데이터를 통해 새로운 혁신이 가능하고, 지금껏 없었던 개념을 만들 수 있습니다. 예를 들면 똑같은 상태를 공유하는 두 개의 게임을 만들 수도 있겠죠.

월드 오브 워크래프트 타입의 게임을 하는데, 해당 게임 세계가 마인크래프트 타입의 게임을 하는 사용자들로부터 만들어질 수 있습니다. 각각의 게임 세계의 액션들이 다른 게임의 세계에 영향을 줄 수 있는 것이지요.

개발자들은 DAppChain에 저장되어 있는 다른 게임 세계의 캐릭터 데이터를 사용하는 새로운 게임을 출시할 수도 있습니다. 그런 방식으로, 해당 게임의 새로운 사용자들은 이미 존재하는 그들의 캐릭터와 자산을 가지고 새로운 세계에 즉시 참여할 수 있습니다(기본적으로 이전 게임의 데이터를 새로운 게임에 적용함으로써 말이지요).

Loom DAppChain에서 돌아가는 DApp들은 안전하다.

이전에 논의했던 것처럼, 확장을 위해 분산화를 희생하는 알고리즘은 이상적이지 않습니다. 강력한 공격자들에게 공격 대상이 되는 취약점이 늘어나기 때문이죠. 이는 Loom DAppChain에도 물론 적용이 내용이지만, 하나의 큰 차이가 있습니다. 바로 보상입니다.

공격자가 블록체인을 공격하기 위해서는 엄청나게 많은 리소스가 필요합니다. 이더리움과 같은 범용 블록체인에서는, 그렇게 많은 리소스를 사용할 만큼 공격에 대한 보상이 큽니다. 오고 가는 가치의 양이 많고, 다수의 거래에 대해 이중 지불이나 검열을 하는 것이 큰 돈이 되기 때문이지요.

커뮤니티를 대표하는 DAppChain에는 다음의 사항들이 적용됩니다:

  1. 트윗 하나를 검열하는 것은 금융 트랜잭션을 검열하는 것에 비해 얻을 수 있는 것이 훨씬 적다. 이 점에서 악의적 행동이 억제된다. 정치적으로 무언가를 얻고자 하는 것이 아니라면 말이다. 우리는 정치적인 무언가를 고려하지는 않는다.
  2. 적은 보상에도 불구하고 공격자가 커뮤니티를 공격하는 데에 성공한다면, 커뮤니티는 이전 시점에서 자유롭게 분기(fork)를 하고 그들만의 길을 만들 수 있다. DAO 해킹 이후 이더리움이 이더리움과 이더리움 클래식으로 나뉜 것과 비슷하게 말이다.

결과적으로 확장성과 분산화를 적절하게 달성할 수 있는 하나의 방법인 것입니다.

Loom DAppChain은 개발자 친화적인 환경을 가지고 있다.

개발자들은 DAppChain의 기반을 만들기 위해 룸(Loom)의 소프트웨어 개발 도구(SDK)를 사용할 수 있게 될 겁니다.

그럼 그들은 블록체인 관련 로직을 신경쓸 필요 없이, 응용 로직을 작성하는 데에 집중할 수 있게 됩니다.

우리의 SDK는 3월에 첫 릴리즈가 될 것입니다.

룸 네트워크 DAppChain 생성기 — 템플릿을 쓰거나 DIY로 만들 수 있습니다.

우리는 단순히 DApp을 만드는 것 이상을 가능하게 한다 — 바로 진짜 블록체인을 만드는 것이다.

시험용 DAppChain에 대한 블록 탐색기

결론

이 글을 통해 이더리움 상에서 돌아가는 확장 가능하면서도 분산된 구조를 가진 DApp의 미래에 대한 우리의 비전을 제시했습니다.

물론 이더리움의 확장 솔루션인 Raiden, Plasma, Sharding, Casper나 Truebit 또한 여전히 매우 중요합니다.

룸 네트워크는 메인 체인의 연산 부담을 DAppChain으로 덜어냄으로써 확장에 기여합니다. 안전한 블록체인 위에서 돌아가는 DApp이 그대로 존재하도록 하면서 말이죠.

요악하자면, 룸(Loom)의 DAppChain은 다음을 가능하게 합니다:

  1. 개발자가 실제 블록체인 로직을 몰라도 자신만의 블록체인 기반 앱을 만들 수 있는 사용자 친화적인 방법을 제공하여, 개발자가 핵심 앱 로직에 집중할 수 있게 한다.
  2. 높은 가스 비용과 느린 스피드에 의해 제한되지 않는 MMORPG나 소셜 미디어 같은 대규모 앱을 만들 수 있게 한다.
  3. 이더리움 상에서 일부만 돌아가고 나머지는 중앙 웹 서버에서 운영되는 유명한 DApp들과는 다르게, DApp이 완전히 분산화된 블록체인에서 돌아가게 한다.
  4. DApp을 업데이트, 분기 가능하게 하고 공개적으로 공유된 데이터를 제공함으로써 발전적인 실험과 혁신이 가능하게 한다.

룸 네트워크가 곧 출시됩니다.

Loom Network는 고성능 디앱을 확장하기 위한 멀티체인 상호운용 플랫폼입니다 — 이미 상용 가능한 상태이며, 감사 및 실제 테스트를 거쳤습니다.

Loom 베이스체인에 여러분의 디앱을 한 번 배포하고 나면, 오늘날 모든 주요 블록체인에 걸쳐 가능한 가장 광범위한 사용자 기반에 접근할 수 있습니다.

Loom Network를 처음 접하시나요? 여기서 시작하세요.

LOOM 토큰을 스테이킹해서 베이스체인을 보호하는 데 참여하고 싶으신가요? 여기서 그 방법을 알아보세요.

우리가 하는 일이 마음에 드시나요? 그렇다면 어서 우리의 프라이빗 메일링 리스트에 가입하고, 우리가 계속 전달하는 모든 업데이트를 계속 받아보세요.

--

--