Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generator of personalized addresses for TON blockchain #883

Open
mcnckc opened this issue Nov 26, 2024 · 1 comment
Open

Generator of personalized addresses for TON blockchain #883

mcnckc opened this issue Nov 26, 2024 · 1 comment
Assignees
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers

Comments

@mcnckc
Copy link

mcnckc commented Nov 26, 2024

Summary

User's public address is a random, meaningless string of characters. It is possible to make it not entirely random, but partly personalized, and we propose the software with such functionality

Context

The software is going to be distributed in a form of an executable file, working as a command line utility, due to a very simple functionality. Software is designed to give the user a real TON address matching user's constraints, along with private data, allowing to sign transactions for this address.

User can constrain the appearance of the start or the end of the address, or both. For each character user may leave one or more options.
For example user can constrain the end of the address to be exactly _123456, possible result is: UQCF1NqCCBCUaDsmm1fC51wMpV0vwt3loKf997ArRtJ_123456

Or constrain the start of the address to be exactly APPLE:
UQAPPLE4APeEfnGAbTIbXYGALf0rp9ALm5iJuFvddzg-6A0I

It will be possible to add several variants of constraints, to search for any of them.

Process of searching for an address takes some time, so the main focus in development is on performance in searching speed, to reduce this time. There will be two versions of software, one performs search on a CPU and works everywhere. The second one is for NVIDIA GPU-enabled systems, with increased performance.

In short, realistic number of single-option characters will be 7-8. Here is the table of claimed performance. Note that time reduces, if the user leaves more than one option for a character, or provides several constraint variants. Lower numbers of characters are a matter of seconds for any hardware.

5 characters 6 characters 7 characters 8 characters
Intel Core i5-8350U(4C, 8T) (low-end CPU) 4 min 20 sec 4 h 40 min 12,5 days > 2 years
AMD Ryzen 5 3600(6C, 12T) (budget CPU) 26 sec 30 min 31 h 30 min 84 days
NVIDIA GTX 1650 SUPER (cheapest GPU) 2 sec 2 min 2 hours 5,5 days
NVIDIA RTX 4090 (most expensive home GPU) 0 sec 13 sec 13,5 min 14,5 hours

And it is possible to achieve more characters, ignoring character case, allowing 0 instead of O, and other tricks.

To sum up, this tool allows user to have a personalized address in TON mainnet, for aesthetic purposes or for fun. Personalization is always a good opportunity.
Having a personalized address can be compared to owning an NFT, or more precisely a SBT, because it is hard to sell an ownership of an address. But unlike with NFTs, a valuable entity is embedded in the address itself, and not stored somewhere in the blockchain.

Main advantage of our particular tool is a decent performance.

Maybe some services for custodial storage can implement ideas from our software, or even take it as is, to add a feature of address personalization to their products, because on the server side they have much more computing power, than a typical user on his home PC.

References

One alternative is: https://github.com/ton-community/vanity-contract, read comparison in #818

Estimate suggested reward

$1500

@mcnckc mcnckc added the Developer Tool Related to tools or utilities used by developers label Nov 26, 2024
@delovoyhomie
Copy link
Collaborator

Hey @mcnckc!
In light of the latest comment (#818 (comment)) and a thorough review of the bounty, we are pleased to announce that the proposed solution has been approved.

Congrats, and thank you for your valuable contribution!

@delovoyhomie delovoyhomie added the Approved This proposal is approved by the committee label Nov 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Approved This proposal is approved by the committee Developer Tool Related to tools or utilities used by developers
Projects
None yet
Development

No branches or pull requests

2 participants