card-avalanchecard-avalanchecard-avalanche

About

Banity is brought to you by DECOM Switzerland AG, a regulated Swiss-based crypto asset management company which was founded in 2017.

The company facilitates the access to the entire crypto universe for institutional and private investors. All private keys are stored securely and encrypted by DECOM Switzerland AG in Switzerland.

DECOM Switzerland AG is SRO-Member VQF – an officially recognized self-regulatory organization (SRO) according to the Anti-Money-Laundering Act (AMLA).

Learn more

Basic Algorithm of the Bitcoin address generator

The process to create a Bitcoin address first starts with the generation of a private key. The private key (k) is a number that is usually chosen at random. The calculation that someone has to do in order to generate the Bitcoin public key is to perform an elliptic curve scalar multiplication, which is used in elliptic curve cryptography (ECC):

K = k * G

The private key is multiplied by a predetermined point on the curve, which is referred to as the generator point “G”, in order to generate another point on the curve, which is the corresponding public key “K”.

Finally, public keys ‘K’ run through a double hashing function (SHA256 and RIPEMD-160). In order to present public key hashes in a compact form – i.e. in the form of Bitcoin addresses – these are almost always displayed to users in a BASE58 coding address.

The reason behind Banity

Currently, most Bitcoin addresses are just made up of random numbers and letters. Getting a Banity will make your Bitcoin address stand out among other wallets and give your wallet a unique aspect. Furthermore, a Banity helps avoid confusion and makes it easier finding a specific Bitcoin address amongst many.

Vanity Address

When you create a crypto wallet, you get an address. This address – let’s say a Bitcoin address – contains 34 characters long alphanumeric characters with capital letters, small letters and numbers, which represents a crypto wallet. In general, nobody will remember which wallet address was created. Vanity addresses is one way of adding some recognizable characters to that address. Instead of just having random numbers in an address, this would be 1acceptbitcoin as an example so that people can recognize it more easily and make it human readable. It is therefore an address that can be found in relation to the actual public key.

Vanity Address Generation

First of all, it should be noted that Bitcoin addresses always start with a "1" or "3". If you wanted to create a public key address for "1bitcoinaccept" and another 14-21 random characters and numbers, each character in this sequence has a certain probability that will be displayed. If you want to get the first "a" for "1bitcoinaccept", the BASE58 coding of an address contains 58 characters:

Byte

Character

Byte

Character

Byte

Character

Byte

Character

0

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

A

10

B

11

C

12

D

13

E

14

F

15

G

16

H

17

J

18

K

19

L

20

M

21

N

22

P

23

Q

24

R

25

S

26

T

27

U

28

V

29

W

30

X

31

Y

32

Z

33

b

34

c

35

d

36

e

37

f

38

g

39

h

40

i

41

j

42

k

43

l

44

m

45

n

46

o

47

p

48

q

49

r

50

s

51

t

52

u

53

v

54

w

55

x

56

y

57

z

If you generate an average of 58 different private keys in a row, one of them will probably start with ‘b’ because there is a 1 in 58 chance among the 58 characters that this letter is an ‘b’. There is also a 1 in 58 chance that the second letter will be given a ‘i’. The probability of receiving ‘bi’ as the first character is therefore necessary to generate 58 times 58 keys (i.e. 582 keys) before one is found whose address by chance begins with ‘bi’. For “bit” it would be 583. Each additional letter in a vanity address increases the difficulty of finding a desired pattern. For “bitcoinaccept” it is therefore necessary to generate 5813 private keys before a random chance occurs, which on average starts with “1bitcoinaccept”.

Vanity addresses are searched through trial and error. The generation of vanity addresses requires a brute force algorithm, i.e., if there is no match with the desired sequence of letters and numbers, the algorithm generates a new random private key and follows the procedure again. The difficulty of generating a desired vanity address lies in the number of addresses that are needed to be tested on average.

The following figure shows how long a common vanity generator algorithm like Vanitygen (case insensitive) on an “AMD Ryzen 7 2700X processor”, ie a laptop or PC commonly used today, takes until a desired vanity address can be found on average.

Digit/Char

Vanity

Mkey/s (Million key per second)

Estimated time with a 50% probability

8

1BitcoinA

2.28

43.4 days

9

1BitcoinAc

2.28

3.5 years

10

1BitcoinAcc

2.28

104.6 years

11

1BitcoinAcce

2.28

2972.7 years

12

1BitcoinAccep

2.28

90469.7 years

13

1BitcoinAccept

2.28

9.313205e+006 years

Given that the difficulty increases exponentially the longer your vanity is, so does the average time required to find that vanity. This could take hours, days or even years. The time requirement is exponential in the number of characters you’re trying to find. This makes finding vanity addresses a very computationally intensive problem. Searching with a laptop would therefore take an astronomical amount of time. For this reason, it is recommended to run a vanity generator on a GPU. BANITY uses specially upgraded hardware and software. This speeds up the search considerably.

Vanity Address Security

Only the private key is responsible for security. The character of your public address doesn’t matters.