0 EOS 계정이 가능한 것인가???? - Zero ESO account possible?

in #kr-dev7 years ago



들어가며...


안녕하세요.

다들 궁금해 하시는 것 같아, 오늘 시험 2탄에 들어갔습니다. 이론 상 이게 Best가 아닌가 합니다.

오늘의 2번째 질문은...

이미 만들어진 EOS계정을 탈탈 털수 있는가? 즉 EOS계정에 0EOS를 남기고 모두 다른 곳으로 보낼수 있는가 입니다.

결론을 말씀드리면

"없습니다. 불가능합니다.!!!"

오 마이 갓!!!

그럼 손해 아닌가? 라는 생각이 머리속에 "탁" 스쳐지나갑니다.

또 하나의 결론을 말씀 드리면 "큰" 손해는 절대 아닙니다.

자 한번 끝까지 가보시죠. 다만...초보이신 분들은 꼭 전문가분과 같이 진행하시거나..안정빵의 최소 수치인 0.5EOS이하로 빼지는 마세요.



실험 시작

우선 EOS계정 하나를 준비합니다. 부 계정이 없으면 복구를 못할수도 있으니 꼭 부계정 또는 친구나 지인이 있는 분들만 해보시기 바랍니다. 꼭 굳이 해보실 필요는 없습니다. 그냥 이렇다고 보고 넘어가셔도 됩니다.

여러 지갑툴이나 사이트를 이용해서 우선 unstaking을 합니다. 아래의 순서로 하세요.

  1. CPU, Bandwidth를 unstaking, 지금의 CPU, Bandwidth 시세 기준으로 CPU는 0.4EOS, Bandwidth는 0.01가 최하로 남길수 있는 수치입니다. 즉 위의 수치만 남기고 EOS를 싹 unstake하시면 됩니다.

그러면 아래와 같이 됩니다.

스크린 샷 기준으로는 0.1EOS까지 CPU에 남겼지만, 이 경우 CPU 시간이 0.01밖에 되지 않아 transfer가 제대로 되지 않습니다. 따라서 위에 수치로 말씀드린 0.5EOS이상을 남겨 주세요. 왜냐하면 여러가지 operation을 하면 CPU사용수치가 쌓이고, 이게 다시 내려갈때 까지 다른 계정에서 조차도 아무것도 해줄수가 없습니다.

아래는 빼도 박도 아무것도 못하는 상황의 스크린샷이니 절대 이렇게 만들지 마세요. (다른 계정에서 buyram을 해주어야 상황을 해결할수 있습니다.)

즉 이 스크린 샷에서 보시는 수치가 남길수 있는 최소한의 수치까지 남긴 것입니다.(CPU, Bandwidth에 대해서요.) 이제 RAM을 보시죠. 단 여기서 주의하실 건 test하신다고 여러번 unstake하시면 그 만큼 메모리가 더 소모되어 팔게 줄어 듭니다. 한방에 CPU, Bandwidth를 터셔야 합니다.

투표도 안하고 계정 생성만 된 상태면 RAM은 아래와 같이 점유가 되고 있습니다.

즉 3.37KB가 계정 생성을 위한 기본 점유 크기입니다.



램을 팔아치우자!

자 이제 CPU와 Bandwidth의 EOS를 unstake했으니, 이제 RAM을 비울 차례입니다. 저번 글 https://steemit.com/kr-dev/@jeaimetu/eos-ram 에서 transfer는 RAM을 점유안한다고 했으니, 그리고 unstake도 했으니 그냥 팔아 치웁니다.

그런데 EOS가 처음 만들어질 당시의 계정들은 메모리가 7.96KByte가 주어집니다.RAM을 팔때 byte단위로 팔수 있지요. 계산의 편의를 위해서 8K라고 가정하면

8K - 점유한 KB(예를 들면 4.08KB) = 3.92Kbyte = 3.92 * 1024 = 4014Byte

K가 1000이 아니라 1024인 이유는 컴퓨터가 이진수를 쓰기 때문입니다. 그냥 1024를 쓰시면 됩니다.~

이 만큼 팔아치우면 지금 점유한 크기만큼 남게 됩니다.

자 이상태가 계정을 탈탈 털 수 있는 상태입니다. (CPU는 0.5EOS를 남겼다가 시험을 위해서 중간에 0.25를 뺀 것으로 0.05라고 보아주세요. 그리고 Memory값은 그 전에 어떤 operation을 하셨는지에 따라서 사람마다 다릅니다.)

이쯤되면 왜 큰 손해가 아닌지 아시겠죠?

현재 RAM의 가격은 0.01780808 EOS per kb 입니다. 처음에 7.96KB가 주어지고, 3.37KB가 기본으로 쓰이니 우리가 팔수 있는 것은 unstake의 0.8을 빼면 7.96 - 3.37 - 0.8 = 4.51KB입니다.

가격으로 환산해 보면 4.51 * 0.01780808 = 0.08EOS입니다.

그리고 계정에 남아 있는 것은 0.51EOS이구요.. 약 0.43EOS의 손해가 지금 발생하기는 하지만, RAM값이 조금 후에 더 올라갈 것이라고 가정하면 크게 손해를 안 볼수는 있을 것 같습니다.



마치며...


지금까지, 최소로 남길수 있는 EOS계정의 수치와 터는법?에 대해서 알아보았습니다. 우여 곡절이 있기는 한데요, 초보이고 안정빵으로 계정을 터셔야 한다면..

  1. Bandwidth는 0.01 EOS만 남긴다.
  2. CPU는 0.5 EOS를 남긴다.
  3. 마지막으로 RAM을 싹 팔아치우고..
  4. Transfer를 해서 끝낸다. (CPU를 남겨놓는 이유가 이것 때문입니다. CPU를 못 쓰면 transfer가 안되기 때문입니다.)

입니다. 이 과정중에 실수하게 되면 다시 buyram하고 stake하고 복잡한 일을 해야 하니..추천 드리지는 않습니다. 그냥 이론적으로만? 알아 놓으시면 될 것 같습니다.

중간에 정말 빼도 박도 못하는 상황이 되어 무지 고생했고, 앞으로 다시는 하지 않고 싶습니다. 이거 하면서 어디로 갔는지 모르겠는데요..1EOS가 사라졌습니다. 뭥미??

Sort:  

전 0.1/0.1 남기고 두번에 걸쳐 이상없이 트랜스퍼 했습니다.업비트로 전송했는데 만일을 위해 첫번째는 0.1/0.1 언스테이크 상태로 1eos 두번째 0.1/0.1 남기고 모두 전송...0.1 cpu 만 있어도 두번이나 전송 완료 되었으므로 최소 0.5cpu가 필요하다는건 아닌것 같습니다.

보완실험 감사합니다. 그런 의미로 full voting찍었습니다. CPU시간은 안전빵? 개념인데요, 아마 transfer하신 시간대에 CPU를 조금만 쓴것이 아닐까 합니다. 분석을 위해서 transaction id를 공유해주실수 있을지요?

답글을 이제 봐서 답장이 늦었습니다.메일 주소 알려주시면 메일로 tx id 보내드릴게요 ^^ 스팀에 eos id 랑 갯수가 영구 박제가 되서 이곳에 답글을 못다는점 양해 바랍니다. 메일 받으신후 @jeaimetu 님의 메일 주소 삭제하시면 될것 같아요 ^^
그런데 tx id 에 여러 정보가 있나보죠? 개발자가 아니라서 봐도 잘 모르겠던데 말이죠. 참고로 오늘도 0.1/0.1 상태에서 개인지갑으로 전송해 봤는데 이상없이 잘 되네요.

비밀 메모로 보내겠습니다. 그게 제일 정보보호에 좋죠.

메일 보내드렸어요~~

고생하셨습니다. 위험한 실험이네요 ㄷㄷ...

@donekim님께서 이 포스팅에 많은 관심을 가지고 있어요. 리스팀을 해주셨군요~!

여튼..account creation transaction을 싹 뒤져보아야 겠습니다. 제가 개발자인지...아닌지 헷갈리네요.

@neogia님께서 이 포스팅에 많은 관심을 가지고 있어요. 리스팀을 해주셨군요~!

@seaofhappy님께서 이 포스팅에 많은 관심을 가지고 있어요. 리스팀을 해주셨군요~!

@jeaimetu 님의 의견을 듣고 싶은 일이 있는데요. 어떻게 하면 대화를 나눠 볼 수 있을까요?? 스팀챗 가능할까요??

방금 스팀챗 가입하고, 대화요청 드렸어요.

이렇게 글을 쓰고 났는데, 저희 EOS CAFE Korea분께서 아래 계정정보를 찾아 주셨습니다.

램이야 그렇지만, CPU와 Bandwidth를 어떻게 0으로 만든건지 너무 궁금합니다.!!!! 물론 associated action이 없으니...아무것도 못하는 계정이겠지만 생성의 비밀조차 궁금하네요. Cleos로 한번 해보아야 겠습니다. 오..그건 되겠네요.

cleos create account eosio user

이렇게요..음 이건 무언가 반칙?인데요...

@skazhaclazlo님께서 이 포스팅에 많은 관심을 가지고 있어요. 리스팀을 해주셨군요~!

테디님 좋은 포스팅 감사합니다!
저기 궁금한 것이 있는데요, 현재 EOS Asia팀에서 제공하는 계정 생성킷(https://www.myeoskit.com/#/tools)에서는 모계정에서 새로운 자녀계정을 생성할 때 Net stake하고 CPU Stake를 0.1씩을 두는 것을 기본값으로 하고 있던데 이것도 안전빵으로 보기는 어려운건가요? 위에서 0.5EOS 정도가 최소값이라고 하셔서요^^;

Network은 0.1도 괜찮은데요, CPU는 0.1이면 transfer가 안됩니다. CPU가격에 따라 다르겠지만 적어도 CPU가 0.01ms가 있어야 하거든요. 0.4EOS 와 0.1EOS 를 추천드립니다. 다만 신규계정 생성시에는 cpu, bamdwidth매입가격이 변하니 그것에 맞추어야 겠지만요.

myeoskit에 설정되어 있는 기본값으로 설정하는 것은 말 그대로 기능을 하지 못하는 깡통계정을 생성하는 최소값이라고 생각해야겠네요 ㅠㅠ 실제로 트랜스퍼가 가능한 계정을 만들려면 앞으로는 Net 0.1 / CPU 0.4 로 설정해야 되는거죠? 테디님 아니었으면 큰일날뻔 했습니다! 감사합니다!!! :D