https://github.com/zperteam/zperlight/blob/master/smartcontract/contracts/ZperToken.sol
최근 후오비에서 오버플로우에 의한 해킹된 코인(SMT, BEC) 이 떠돌면서 시장에 큰 충격을 줬다. 총 발행량 31억 개인 SMT 코인 1경 개가 입금되는 것을 후오비가 포착하면서 이슈는 크게 확산되지 않았지만, 시장은 이를 명분으로 조정이 들어왔다. 해킹의 원인은 해당 토큰 컨트렉트 코드에서 safeMath 를 사용하지 않은데서 비롯됐다. transferProxy 함수에서 오버플로우가 발생한 것이다.
자산이 오가는 컨트렉트 코드에서 보안과 안정적인 코드를 짜는 일의 중요성은 두 말하면 입아프다. 대부분의 컨트렉트가 연산 검증을 위해서 safeMath로 오버플로우와 언더플로우를 점검을 하는 것을 기본으로 한다. ZPER 코드에서 safeMath를 사용하지 않으면서 batchTransfer 코드를 써 놓은 것은 위험도를 이해하지 못하고 있는 것이라고 본다. 토큰 컨트렉트를 다시 발행하거나 리스크를 그대로 가진 채로 토큰 배분을 진행해야 할텐데, 올바른 결정을 했으면 좋겠다.
컨트렉트 개발은 비행기 엔진을 만드는 것과 같이 안정성을 필수로 한다. 급하게 컨트렉트를 만들어서 이더리움 모으려는 마음은 이해가 가지만, 문제가 발생했을 때는 암호화폐 시장 전체의 신뢰도 하락으로 이어질 수 있다. 책임감을 갖고 ICO 를 진행하는 것은 투자금을 모으는 일 보다 중요한 일이다.
학력 이슈에서 문제가 생긴 이후 코드 불안정성을 보니, 급하게 진행하면서 발생하는 문제점이 눈에 많이 띈다. 체인 파트너스, 데일리 모두 돈을 벌고 싶은 모습은 이해가지만, 기본적인 코드는 점검 하면서 진행은 했으면 좋겠다.
ICO 투자자들과 전체 암호화폐 시장의 발전을 위해서...