Skip to content
Draft
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions content/posts/2022/02/performance-and-governance/index.kor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
---
title: 성능과 거버넌스
date: 2022-02-10
authors: [swen.mun]
---

안녕하세요. 게임용 블록 체인 라이브러리인 [Libplanet]과, 이를 활용한 탈중앙 게임
[나인 크로니클]을 만들고 있는 [플라네타리움]의 문성원입니다. 오늘은 "나인 크로니클"을 개발하고, 노드를 운영하는 중 많이 들었던 질문인 성능과 확장성, 그리고 지분 증명(<abbr title="Proof of Stake">PoS</abbr>])으로의 거버넌스 전환에 대해, 블록체인 개발자로서의 기술적 견해를 소개드리려고 합니다.

[Libplanet]: https://libplanet.io/
[플라네타리움]: https://planetariumhq.com/
[나인 크로니클]: https://nine-chronicles.com/
[PoS]: https://ko.wikipedia.org/wiki/%EC%A7%80%EB%B6%84%EC%A6%9D%EB%AA%85


# 이상과 현실

앞서 소개드린 나인 크로니클이 탈중앙 게임이라는 것은, 엄밀히 말하면 이 글을 작성하는 2022년 2월 현 시점에선 옳지 않습니다. 나인 크로니클에서 사용하는 대부분의 블록체인 파트를 담당하는 Libplanet은 현재 작업 증명(<abbr title="Proof of Work">PoW</abbr>)만을 지원하고 있긴 하지만, 나인 크로니클의 메인넷은 이를 사용해서 돌아가고 있다고 말하기도 어렵습니다. 현재 나인 크로니클 메인넷에서는 오로지 한 대의 마이너만이 마이닝을 할 수 있기 때문이죠.

탈중앙 게임을 표방하는 나인 크로니클에서, 오로지 한대의 마이너만이 블록을 선출할 권한이 있다는 것은 굉장히 이상하게 들립니다. 이 결정은 2021년 8월에 내려졌는데, 당시 나인 크로니클 메인넷이 가지고 있던 2가지 문제에 대해 적절한 해결책이 나오지 않았기 때문에 내려진, 일종의 임시 조치입니다.

1. 나인 크로니클은 Tx 마다 수수료를 부과하고 있지 않기 때문에, 마이너들이 블록에 트랜잭션(Transaction, 이하 Tx)를 넣어야 할 이유가 없습니다. 이 때문에 Tx를 포함하지 않은 블록을 만드는 마이너들이 많아져도, 다른 마이너들이 이를 막고 정상적으로 게임을 운영하기 위한 블록(i.e. Tx가 들어간 블록)을 찍을 동기 또한 없어지게 됩니다. 이로 인한 이기적 마이닝(Selfish mining)이 가능한 문제를 가지고 있습니다.
2. Libplanet의 기술적 성숙도가 미진한 관계로 네트워크에서 여러 마이너가 블록을 경쟁적으로 채굴하는 환경에서 Tx가 온전히 전파되지 않는 문제가 있었고, 이런 Tx 전파문제와 위의 이기적 마이닝 가능성이 겹쳐 네트워크가 사실상 제대로 동작하지 않는 지경까지 이르렀습니다. [^1]

때문에 현재 나인 크로니클 메인넷은 인가된 [4개의 마이너 주소][Authorized miners]가 채굴한 블록만을 정본이라고 인정하고 있으며, 채굴을 위한 해시 레이트 경쟁이나 [리오그][] 문제가 발생하지 않고 있습니다.

[PoW]: https://ko.wikipedia.org/wiki/%EC%9E%91%EC%97%85_%EC%A6%9D%EB%AA%85_%EC%8B%9C%EC%8A%A4%ED%85%9C
[Authorized miners]: https://github.com/planetarium/lib9c/blob/2134062d144002cf892615fb70fc91f5d49711a6/Lib9c/Policy/BlockPolicySource.cs#L75-L81
[^1]: 사실, 개발팀은 의도적인 이기적 마이닝보다는, 이 문제로 인한 Tx 전파가 네트워크 장애의 주된 원인으로 파악하고 있습니다.


# 그런데도 왜 느린가요?

하지만 여전히 나인 크로니클은 느립니다. 보다 구체적으로는, 게이머가 전투 액션을


# PoS를 (해야) 하는 진짜 이유


# 정리