eoseoul / eos-qna

EOS Questions and Answers
0 stars 0 forks source link

[Question] 계정은 왜 영문+1~5숫자로 구성된 12자리로 제한되나요? #3

Open gd0live opened 6 years ago

gd0live commented 6 years ago

제 추측으로는 영문 26자 + 숫자 5자 = 31 (2^5 - 1) 5비트 * 12자리 = 60비트로 ascii로 저장하는 것보다 데이터 압축이 가능해서 그런 것 같습니다.

redjade commented 6 years ago

https://github.com/eoseoul/docs/blob/relnotes-1.0.4/ko/translations/Introducing_EOSIO_Dawn_4.md#%EA%B3%84%EC%A0%95-%EC%9D%B4%EB%A6%84-%EC%95%8C%EB%B0%95%EA%B8%B0---name-squatting

일부 사용자는 EOSIO 계정 이름에 사용할 수 있는 글자를 12글자로 제한한 점을 우려해왔습니다. 이 12글자 이름은 64비트 정수형의 base-32 인코딩에서 비롯됩니다. 64비트 정수형은 기본 머신 워드 사이즈라서 매우 효율적입니다. 트랜잭션 안에서 계정 이름을 여러 번 참조하고 (코드, scope, 권한 등) 데이터베이스 인덱스도 64비트 정수형을 기반으로 합니다. 계정 이름의 길이를 늘리면 성능과 아키텍처에 큰 영향을 미쳤을 것입니다.

Dawn 4.0 출시노트 번역에 위와 같은 부분이 있긴 합니다. 참고하셔서 추가로 검토해주시면 좋겠습니다. ^^