EOS메인넷 런칭과 운영 비용 점검

By @raindays6/16/2018eos


빌드는 폴리싱 단계로 진입했습니다. 디자인도 계속 입히고 연출 작업을 진행하고 버그들을 수정하고 있습니다. 작업을 열심히 진행하는 와중에 메인넷 활성화 희소식이 전해졌습니다.

EOS 메인넷 Activation

어제(6월 15일) 순식간에 15%를 훌쩍 넘겨 투표가 끝났습니다. 21명의 BP에게 블록 생성 권한까지 이양이 되면서 드디어 메인넷을 사용할 수 있는 상황이 되었습니다. 저희도 이제 메엔넷에 dApp을 올려볼 준비를 하면서 계정을 만들어 봤습니다. 개발중인 testnet에서는 memory / cpu bandwidth / net bandwidth 가 unlimit된 상태라 비용적인 면에서 감당이 될만한지 체크를 해봤습니다.

아래 명령으로 계정에서 사용 가능한 체인내 자원들에 대한 정보를 가져올 수 있습니다.

$ cleos -u http://user-api.eoseoul.io:80 get account eosknightscd
memory: 
     quota:     7.955 Kb     used:     3.365 Kb   

net bandwidth: 
     staked:          0.1000 EOS           (total stake delegated from account to self)
     delegated:       0.0000 EOS           (total staked delegated to account from others)
     used:                 0 bytes
     available:         44.5 Kb   
     limit:             44.5 Kb   

cpu bandwidth:
     staked:          0.1000 EOS           (total stake delegated from account to self)
     delegated:       0.0000 EOS           (total staked delegated to account from others)
     used:                 0 us   
     available:        8.691 ms   
     limit:            8.691 ms   

메모리 비용 점검

댄이 밝힌 DAWN4 소개 문서에 따르면 계정 생성에 0.1달러가 들거라고 밝혔습니다.

therefore, we are initially pricing RAM at $0.000018 per byte (assuming $20/token). New accounts require about 4KB of RAM which means they will cost about $0.10.

아래 이미지는 어제자 램 구매 로그 입니다.

0.124 EOS에 8K정도를 할당 받을 수 있었습니다. 4K를 기준으로 할때 댄의 말처럼 1EOS를 20$로 가정하면 4K에 1.24$가 필요한 셈이니 0.1달러가 들거라고 밝힌 초기 비용의 12배나 되네요.. dApp의 운영을 위한 메모리 확보 가격이 가정했던것에 비해 12배도 넘게 더 필요한 상황이 되었습니다. 아마도 BP 의 메모리 공급이 댄글의 가정은 1TB였는데 현재 공급이 64GB이나 128GB정도이지 않을까 추정해봅니다. (현재 공급량을 확인하는 명령이 있는지 궁금하네요)

램 가격은 뱅코 프로토콜에 의해 가격이 가변입니다. 시간이 지날수록 가용 램이 줄어들어 점점 비싸지는 식입니다. 이미 너무 비싼더 더 비싸진다니.. 물론 BP가 메모리를 더 공급하면 떨어지겠지만요

현재 기준으로는 1MB당 16EOS 정도가 필요하고 32MB의 공간을 구매하려고 한다면 512EOS 정도의 비용이 필요합니다.

CPU 가격 점검

CPU쪽은 메모리보다 상황이 더 심각했습니다. 우선 메모리는 구매하는 것인데 비해 CPU자원은 스테이크 해두면 할당 받는 식입니다. bandwidth 라는 것이 단위시간당 할당량이라는 것에 대한 의미인데 24시간에 한번씩 초기화 됩니다.. 1분을 할당 받으려면 700EOS정도를 스테이킹 해둬야 합니다. 1분이면 60,000 밀리 초입니다. 현재 저희가 개발중인 게임에서 자주 사용되는 트랜잭션이 20ms 정도가 소요됩니다. testnet의 pc가 1.4아톰 프로세서이니 성능이 빵빵한 bp의 cpu에서 동작하고 좀더 최적화를 한다고 가정해서 메인넷에서는 2ms에 수행이 완료 된다고 가정하겠습니다. (메인넷에서 테스트해보고 싶은데, 테스트하려고 dApp을 올리는데만 70EOS 어치의 램과 cpu / network bw가 필요하네요..)

저희 게임은 eos의 처리량을 믿고 트랜잭션을 많이 일으키는 방식으로 개발이 되었습니다. 모든 유저의 액션이 체인 내에서 실행이 됩니다. 하루에 평균으로 유저당 300건의 트랜잭잭션을 일으킨다고 가정하면 이 숫자드를 토대로 하루에 감당 가능한 유저 수가 나옵니다.

60000(cpu bandwidth) / 2 (trx 시간) / 300(유저당 1일 trx발생) = 100명

데일리 액티브 유저 1000을 목표로 한다면 7,000 EOS를 스테이킹 해둬야 하는 상황입니다. 한번 운영하면 서비스 종료가 힘든 상황이니 이 자산은 쉽게 언스테이크할수 없습니다. 초기 투자 비용이 너무 크기 때문에, 앞으로 개발될 임대 앱 들을 통하지 않고는 EOS확보가 쉽지는 않을 것 같습니다.

런칭 계획

메모리 비용과 CPU 가격을 점검하면서 멘붕인 상황입니다. 초기 운영 비용이 너무 비싸서 7월을 목표로 했던 것은 수정하고 상황을 다시 살펴야 될것 같습니다. 임대앱의 런칭과 램과 cpu 가격의 변화를 기다려 봐야겠습니다.

CPU 비용이 contract가 아닌 user에 부과됨을 확인했습니다. 이부분은 다른 글을 통해서 따로 이야기 할께요

comments