Difference between revisions of "Address"

From Bitmessage Wiki
Jump to navigation Jump to search
(created page)
 
(added address types)
Line 7: Line 7:
 
== Length ==
 
== Length ==
 
Without the '''BM-''' prefix, an address is usually 32-34 chars long. Since an address is a hash it can be calculated by the client in a way, that the first bytes are zero (\0) and bitmessage strips these. This causes the client to do much more work to be lucky and find such an address. This is an optional checkbox in [[PyBitmessage]].
 
Without the '''BM-''' prefix, an address is usually 32-34 chars long. Since an address is a hash it can be calculated by the client in a way, that the first bytes are zero (\0) and bitmessage strips these. This causes the client to do much more work to be lucky and find such an address. This is an optional checkbox in [[PyBitmessage]].
 +
 +
== Address Types ==
 +
There are two address types the user can generate in PyBitmessage. The resulting addresses have no difference, but the method how they are created differs.
 +
 +
=== Deterministic Address ===
 +
For this type of Address a passphrase is required, that is used to seed the random generator. Using the same passphrase creates the same addresses.
 +
Using deterministic addresses should be done with caution, using a word from a dictionary or a common number can lead to others generating the same address and thus being able to receive messages not intended for them.
 +
 +
'''Usage'''
 +
* Create the same address on multiple systems without the need of copying [[keys.dat]] or an [[Address Block]].
 +
* create a [[Decentralized Mailing List]].
 +
* Being able to restore the address in case of address database corruption or deletation.
 +
 +
=== Random Address ===
 +
Random addresses are generated from a randomly chosen number. The resulting address cannot be regenerated without knowledge of the number and therefore the keys.dat should be backed up.
 +
 +
'''Usage'''
 +
* Generate unique addresses
 +
* Generate one time addresses.

Revision as of 19:22, 9 June 2013

Bitmessage adresses are Base58 encoded public key hashes. An address looks like BM-BcbRqcFFSQUUmXFKsPJgVQPSiFA3Xash. All Addresses start with BM-, however clients should accept addresses without the prefix. PyBitmessage does this. The reason behind this idea is the fact, that when double clicking on an address for copy and paste, the prefix is usually not selected due to the dash being a common separator.

Public Key usage

Addresses may look complicated but they fulfill the purpose of verifying the sender. A Message claiming to be from a specific address can simply be checked by decoding a special field in the data packet with the public key, that represents the address. If the decryption succeeds, the message is from the address it claims to be.

Length

Without the BM- prefix, an address is usually 32-34 chars long. Since an address is a hash it can be calculated by the client in a way, that the first bytes are zero (\0) and bitmessage strips these. This causes the client to do much more work to be lucky and find such an address. This is an optional checkbox in PyBitmessage.

Address Types

There are two address types the user can generate in PyBitmessage. The resulting addresses have no difference, but the method how they are created differs.

Deterministic Address

For this type of Address a passphrase is required, that is used to seed the random generator. Using the same passphrase creates the same addresses. Using deterministic addresses should be done with caution, using a word from a dictionary or a common number can lead to others generating the same address and thus being able to receive messages not intended for them.

Usage

Random Address

Random addresses are generated from a randomly chosen number. The resulting address cannot be regenerated without knowledge of the number and therefore the keys.dat should be backed up.

Usage

  • Generate unique addresses
  • Generate one time addresses.