Connecting…
Connecting…
View all
ordinary subinium
Telegram · @web3subin

<Solana Vanity Address>

Posted
2024.12.27 13:44
Views
2,901
Forwards
26

좋은 프로젝트가 러그와 같은 느낌으로 끝났지만, 솔라나 토큰 키 생성은 알아두면 좋습니다. pump 코인의 끝은 왜 pump로 끝나고, 어떻게 솔라나 토큰은 커스텀 토큰을 만드는지 말이죠. 일단 모든 블록체인 키 생성의 전반적인 방식은 대동소이합니다.

1. 프라이빗 키 생성
2. (optional) 전처리
3. 타원곡선을 통한 공개키 생성
4. 인코딩

타원곡선의 경우, 비트코인과 이더리움의 경우 secp256k1을 사용하고, 솔라나의 경우에는 ed25519를 사용합니다. 비교적 ed25519가 구현이나 서명 측면에서 훨씬 간단하고 쉽습니다. 보안 수준은 둘 다 128비트 수준으로 큰 차이는 없습니다.

토큰 주소도 마찬가지로 랜덤시드에서 공개키 생성입니다. 즉, Vanity Address를 만드는 방법은 단순합니다. 전수탐색, 즉 랜덤시드를 계속 바꿔가며 원하는 주소가 나올 때까지 돌리면 됩니다. 이게 비트코인 PoW 방식과 똑같고, 결론적으로 원하는 스트링을 구하기 위한 난이도는 기하급수 적으로 올라갑니다. 솔라나의 경우 Base58 기반의 주소 구조를 쓰고 있습니다. (숫자+알파벳 중 일부 골라서 58개의 문자로 구성) 간단하게 길이에 따라 58배씩 올라간다고 보시면 됩니다.

물론 함수는 단순합니다. 이 함수를 무제한 실행하면 됩니다.

const mintKeypair = Keypair.generate();
const mintAddress = mintKeypair.publicKey.toBase58();

그래서 단순히 CPU 싱글스레드가 아니라 GPU 멀티스레드로 생성하는 게 효과적입니다. CPU와 GPU 성능의 격차가 있을 수 있겠지만 관련하여 재밌는 실험 글이 있어서 공유합니다. 대략 6글자부터 시간 단위로 넘어가네요.

https://smith-mcf.medium.com/solana-vanity-address-using-gpus-5a68ad94d1d4

Views2,901Forwards26View on Telegram