클레이튼, 루니버스의 퍼블릭 주소는 왜 0x로 시작하나요?
클레이튼과 루니버스의 지갑 주소도 이더리움과 같은 0x로 시작하는데요, 서로 호환이 안 되는 블록체인인데 같은 주소 체계를 사용하여 사용자에게 혼란을 주면서까지 0x를 사용하는 이유가 무엇인가요? 이를 통해 얻는 이득이 있는 걸까요?
클레이튼의 개발 문서를 보면 파악해 볼 수 있는데,
쉽게 생각해서 이더리움의 비잔티움 버전을 가져와 포크해서 만든 체인이 클레이튼이다 보니
주소체계는 이더리움 주소체계가 그대로 왔다고 보시면 되고,
이더리움도 같은 맥락이라고 보시면 됩니다.
별도로 이를 통해 얻는 이득이 있는 건 없고,
현재 암호화폐를 사용하는 사람들이 제일 익숙한 주소체계가 이더리움이기 때문에
그에 따른 익숙함이 있다라는 정도가 장점이라면 장점이고,
반대로 말씀하신대로 사용자들이 혼란을 겪을 소지도 있는 건 사실이니
이 부분은 이후에 다른 기술적 개발이 이루어질때까지는 조심하여 사용하셔야 될 것 같습니다.
제가 생각하는 이유로는 크게 2가지로 정리됩니다.
1. 기존에 잘 만들어진 프로그램을 벤치마킹하여 빠른 구현과 출시블록체인이 시장에 알려지고 빨리 개발하여 출시 후 선점효과를 누리려면,
이미 어느정도 검증을 받은 안전한 플랫폼(이더리움)을 벤치마킹하는 것이 유리할 것이라 생각됩니다.2. 이더리움에 익숙한 개발자들
플랫폼을 운영하려면 블록체인에 산업에 인재풀에서 인재를 데려와야하는데,
블록체인 개발자 수도 적을 뿐더러, 독자적인 블록체인 플렛폼을 운영하며
해당 플렛폼에 종속되는 개발자를 구하는 것은 어려운 일이 아닌가 싶습니다.
때문에, 이더리움을 활용해 개발을 진행함으로써 위와 같은 2가지 이득을 얻을 것이라 생각되어 그런 결과가 나온 것이라 생각합니다.안녕하세요.
0x를 사용하는 이유는, 그 뒤에 오는 값들이 16진수라는 것을 알려주기 위해서 사용하는 것입니다. 이더리움도 주소가 0x로 시작하고 있고, 생각보다 많은 블록체인들이 이런 주소체계를 쓰고 있습니다.
다만 질문자님께서 이야기 하신것처럼 이는 매우 혼란스럽고, 외우는게 불가능하여, 대부분은 기존에 가지고 있는 지갑에서 복사하여 붙여넣기 형태로 송금을 하거나 송금 주소를 알려주고 있습니다.
이와는 반대로 steem블록체인이나, EOS블록체인의 경우에는 최대 12자리의 숫자와 알파벳으로 구성된 주소체계를 사용하고 있어 조금 혼선이 덜하지만, 그래도 송금할때는 오타에 주의를 해야 합니다.
마치 은행의 계좌번호를 입력할때 주의 하는 것과 같습니다. 다만, 은행의 계좌번호는 입력을 하면 수신하는 상대방이 누구인지 알수 있지만, 블록체인은 그렇지 않으므로 더 세심한 주의가 필요합니다.
루니버스의 경우 제가 답변을 드릴 자료를 찾지 못해 클레이튼을 중심으로 설명드리도록 하겠습니다. 그렇다고 하더라도 큰 틀에서 루니버스의 경우도 설명이 될 것이라 생각합니다.
본론으로 들어가서 클레이튼 블록체인의 개발 문서를 확인하면 'Disclaimer: Some notes are derived from Ethereum documents as the Klaytn source code was initiated from Ethereum’s Byzantium version. As Klaytn develops further, KlaytnDocs and the source code will continue to be updated. Reference websites are as follows:'라는 면책 조항이 나옵니다.
이를 통해 클레이튼의 소스 코드가 이더리움의 비잔티움 버전을 가져와(포크하여) 개발된 것이라는 점을 알 수 있습니다. 따라서 계정 주소 체계가 이더리움의 체계처럼 16 진수 표기법으로 되어 있다고 할 수 있습니다.
한편, 루니버스의 경우에도 지갑 주소 또는 계정 주소 체계를 이더리움의 체계처럼 암호화를 거쳐 16 진수 표기법으로 변환하였기 때문에 유사한 주소 체계를 가지는 것이 아닌가 싶습니다.
답변이 도움이 되길 바랍니다.
이더리움의 지갑주소 생성 매커니즘은 우선 개인키를 생성한 뒤 이 개인키를 이용해 공개키를 생성하는 매커니즘을 가지고 있습니다. 생성된 공개키는 맨 앞에 0x의 문자열이 합쳐진 형태로 최종적으로 생성이 됩니다. 이때 0x는 16진수로 인코딩 되었다고 표시되는 prefix죠.
이더리움 공개키 주소 예: 0x002d3ffef027572ae1114027bd3ecf1f086ba0ea
대부분이 이더리움의 오픈소스를 가지고 프로잭트 개발이 되어 주소체계는 비슷하고 내부 코어 합의엔진 등만 수정 개발 되었기 때문에 비슷한 주소 체계를 사용합니다.
번외로 이더리움 프라이빗 키로 같은주소의 클레이튼 지갑을 사용 할 수 있습니다