이오스의 CPU 병목지수를 줄일 수 있는 방법은 없는건가요?
댑 관련 데이터 제공 사이트 댑토탈(DAppTotal)에 따르면, 전날(12일) EOS 메인넷의 CPU 소모량이 12,242,473 ms를 기록하며 네트워크 CPU 병목지수가 100%를 기록했다.
이오스의 CPU가 계속해서 100% 포화상태입니다. 병목지수를 줄일 수 있는 방법은 없는건가요?
안녕하세요. 이오스 CPU 병목현상에 대하여 답변드리겠습니다.
CPU자원이 부족하게 되면 트랜젝션 처리에 제한을 받게 되어 사용자들은 댑서비스 활용에 제한을 받게 되고 더 많은 CPU자원을 확보해야만 트랜젝션 처리가 가능하기 때문에 상당한 비용이 필요하게 됩니다.
댑사들도 원할한 서비스 제공을 할 수 없기 때문에 컨텐츠 운영에 영향을 받게 됩니다.
이런 문제를 극복하기 위해서 각 특정 댑사들은 무료 CPU자원을 유저에게 제공하는 곳도 있습니다.
한 예로 토큰 포켓에서는 자렴한 비용으로 CPU자원을 사용할 수 있는 방법을 제공하고 있습니다.
토큰 포켓
+ 토큰 포켓 forget 모드 사용시 : 100TPT (0.05EOS) = 29.84ms CPU 사용 가능
+ 스테이킹 사용시 시 : 298.4 EOS 스테이킹 = 29.84 ms CPU 사용 가능
그 외 에브리피디아, 프로스펙터, 카르마, 웜뱃, 토큰 포켓 x EOS 다이너스티, 갬블 디앱 등이 있으며, 제한적이지만 무료 트랜젝션을 하루 5회를 제공하는 곳도 있습니다.
이와 함께 EOSIO 2.0이 도입하게 되면 자원활용에 대한 부담을 줄일 수 있을 것으로 내다보고 있습니다.
현재 EOSIO 2.0은 테스트넷에서 운영중에 있고 최근에는 정식버전 전 단계인 RC버전이 업데이트 되기도 하였습니다.
감사합니다.
최근 EIDOS로 인해 이오스 블록체인의 자원 이용률이 최대치에 달하여 일반 유저들의 블록체인 이용이 어려운 상황인 것으로 알고 있습니다.
그렇지만 당장 이오스 측에서 EIDOS에 대한 어떤 조치를 취할 가능성은 낮아 보입니다. 며칠 전 올라온 댄 라리머의 트윗을 보면,
이오스 블록체인이기 때문에 이 정도로 트랜젝션이 폭증하더라도 거래를 처리할 수 있는 것이라는 식의 말을 하고 있고, (Yeah, the network is processing far more transfers per second than any other public network and sustaining it... all before eosio 2.)
거래 처리 속도가 빠른 블록체인이라도 확장성의 한계는 존재하기 마련(You do get that even a chain that could process 20k tps can run out of capacity...)이라고 말하고 있기 때문입니다.
따라서 EIDOS가 부정한 방법을 이용하여 네트워크에 과부하를 일으킨 것이 아니기 때문에 현재 블록체인의 거래 처리 성능에 따라서 어쩔 수 없는 문제라고 보고 있는 것이 아닌가 싶습니다.
그렇다면 EIDOS처럼 악의적이지 않은, 블록체인 상의 과부하에 대해서는 장기간 이러한 일이 유지되지 않을 것이라고 생각하여 별다른 조치를 취하지 않더라도, 만약 이오스 블록체인 상에서 악의적인 과부하를 일으키는 일이 생길 경우에 대처할 방법은 무엇이 있는지 생각해 볼 필요가 있다고 생각합니다.
실제로 작년에 이오스 블록체인에서 5만 이오스를 스테이킹하고 있는 blocktwitter라는 계정이 이오스 네트워크의 트랜젝션 수가 적은 시간에 자신의 CPU자원 보다 훨씬 많은 자원을 한꺼번에 사용하며(블록체인의 유휴 자원의 사용을 허용하고 있음) 엄청난 스팸 트랜젝션(We Love BM)을 일으킴으로서 이오스 코인을 많이 스테이킹 하지 않은 다른 사용자들의 CPU자원 사용을 방해하여 일시적으로 트랜젝션의 처리가 원활하지 않았던 적이 있습니다.
이와 관련하여 이오스 블록체인은 한정된 컴퓨팅 자원과 네트워크 자원을 나눠서 사용하게 되는데 한 계정이 자신에게 할당된 몫보다 더 많은 CPU 자원을 순간적으로 동원하여 무의미한 스팸 트랜젝션을 보내는데 사용함으로써 상대적으로 적은 이오스를 스테이킹 하고 있던 사용자들의 이오스 블록체인 이용에 불편을 주게 된 것이라고 할 수 있습니다. (지금 상황과 유사한 상황이라고 할 수 있습니다.)
이러한 문제를 해결하기 위해서는 BP들의 투표와 합의를 통해 이런 스팸 계정을 블락시킬 수 있도록 하는 방법과 BP들이 그레이리스트를 만들고 이런 스팸 계정들을 등록하여 이 계정들의 경우 자신의 이오스 스테이킹으로 할당된 자원 이상의 유휴 자원들을 활용하지 못하도록 하는 방법, 궁극적으로 광범위한 합의에 의해 계정에 스테이킹된 이오스 코인을 몰수할 수 있는 방법을 마련하는 것 등이 있을 수 있고 이를 통해 이번 EIDOS와 관련된 문제 해결의 힌트를 얻을 수 있지 않을까 생각합니다.
물론 EIDOS와 스팸 트랜젝션을 같은 선상에 놓고 비교할 수는 없겠지만, 네트워크 자원 이용률의 포화 상태가 장기화되어 이오스 블록체인이 소수를 위한 블록체인으로만 기능한다면 퍼블릭 블록체인이라고 부르기가 민망한 상황이 올 수도 있습니다.
그렇기 때문에 블록원과 이오스 사용자들, 대표 노드들이 나서서 문제를 해결하기 위해 논의를 하고, 합의하여 해결책을 마련한 후 시행하는 것이 필요하다고 생각합니다. (하루에 제공되는 에어드랍의 수량이나 에어드랍 시간을 제한하는 방법도 좋지 않나 싶습니다.)
답변이 도움이 되길 바랍니다.