Bitcoin address is required

Bitcoin address

Enjoyed the article? Share:

Bitcoin address is an identifier (account number), starting with 1 or 3 and containing 27-34 alphanumeric Latin characters (except 0, O, I). Bitcoin addresses can be also represented as a QR-code. The addresses are anonymous and do not contain information about the owner. A bitcoin address can be obtained for free, using, for example, Bitcoin software. Bitcoin address example:

Addresses can be generated at no cost by any user of Bitcoin. For example, using Bitcoin Core, one can click «New Address» and be assigned an address. It is also possible to get a Bitcoin address using an account at an exchange or online wallet service.

There are currently two bitcoin address format in common use:

Common Pay-to-Pubkey Hash (P2PKH) which begin with the number 1. Newer Pay-to-Script Hash (P2SH) type starting with the number 3, eg: 35bSzXvRKLpHsHMrzb82f617cV4Srnt7hS .

Contents

What’s in a Bitcoin address [ edit ]

Most Bitcoin addresses are 34 characters. They consist of random digits and uppercase and lowercase letters, with the exception that the uppercase letter «O», uppercase letter «I», lowercase letter «l», and the number «0» are never used to prevent visual ambiguity.

Some Bitcoin addresses can be shorter than 34 characters (as few as 26) and still be valid. A significant percentage of Bitcoin addresses are only 33 characters, and some bitcoin address length may be even shorter.

Every Bitcoin address stands for a number. These shorter addresses are valid simply because they stand for numbers that happen to start with zeroes, and when the zeroes are omitted, the encoded address gets shorter.

Several of the characters inside a Bitcoin address are used as a checksum so that typographical errors can be automatically found and rejected. The checksum also allows Bitcoin software to confirm that a 33-character (or shorter) address is in fact valid and isn’t simply an address with a missing character.

Purpose and opportunities [ edit ]

Transfer/receive transactions of Bitcoins (Cryptocurrency, BTC) can be performed via address like the work with e-mail messages. One person can create an unlimited number of addresses, increasing the anonymity level of the payments. When performing the next transaction with BTC a new address is often created (the funds are credited/debited within 1-2 hours). At the same time the private key pair is generated, providing access to the identifier and the ability to perform transactions with currency. They are stored in the wallet.dat file on the user’s computer.

Input conditions [ edit ]

In order to avoid errors when manually inputting the address, it is recommended to use the clipboard. Symbols register is considered when you manually input the address. In case of incorrect input Bitcoins are sent to the wrong address or the transaction is rejected. Last one is done automatically if the identifier contains symbols that are used as a checksum (for verification).

The probability that a mistyped address is accepted as being valid is, approximately 1 in 4.29 billion.

How to create Bitcoin address? [ edit ]

The address is created by generating of random numbers and performing specific mathematical operations. It does not require Internet connection and registration at Bitcoin, where it begins to be monitored. Thousands of addresses (including personalized) and keys thereto can be generated within 1 minute, for example, when using Vanitygen utility.

Читайте также:  Биткоин зачем нужны видеокарты

Creating bitcoin address can be done without an Internet connection and does not require any contact or registration with the Bitcoin network. It is possible to create large batches of addresses offline using freely available software tools. Generating batches of addresses is useful in several scenarios, such as e-commerce websites where a unique pre-generated address is dispensed to each customer who chooses a «pay with Bitcoin» option. Newer «HD wallets» can generate a «seed» token which can be used to allow untrusted systems (such as webservers) to generate an unlimited number of addresses without the ability to spend the bitcoins received.

Transactions [ edit ]

Record of the BTC transfer from one address to another generates a transaction. It contains the hash of the previous transaction signed by the sender and Bitcoins recipients address. All information is sent to the Bitcoin network and after signatures verification transaction is accepted for processing.

Most Bitcoin wallets have a function to «sign» a message, proving the entity receiving funds with an address has agreed to the message. This can be used to, for example, finalise a contract in a cryptographically provable way prior to making payment for it.

Some services will also piggy-back on this capability by dedicating a specific address for authentication only, in which case the address should never be used for actual Bitcoin transactions. When you login to or use their service, you will provide a signature proving you are the same person with the pre-negotiated address.

It is important to note that these signatures only prove one receives with an address. Since Bitcoin transactions do not have a «from» address, you cannot prove you are the sender of funds.

Current standards for message signatures are only compatible with «version zero» bitcoin addresses (that begin with the number 1).

Bitcoin Address Validation [ edit ]

If you would like to validate a Bitcoin address in an application, it is advisable to use a method rather than to just check for string length, allowed characters, or that the address starts with a 1 or 3. Validation may also be done using open source code available in various languages or with an online validating tool.

Loss of Bitcoins [ edit ]

Loss of Bitcoins is possible in the following situations:

  • if the wallet is lost because of the hard drive failure,
  • when generating a new address, getting BTC on it and restoring the wallet from an earlier backup, where address is not yet created,
  • when sending Bitcoins to address that doesn’t have owner.

Multi-signature Bitcoin address [ edit ]

Addresses can be created that require a combination of multiple private keys. Since these take advantage of newer features, they begin with the newer prefix of 3 instead of the older 1. These can be thought of as the equivalent of writing a check to two parties — «pay to the order of somebody AND somebody else» — where both parties must endorse the check in order to receive the funds.

The actual requirement (number of private keys needed, their corresponding public keys, etc.) that must be satisfied to spend the funds is decided in advance by the person generating this type of address, and once an address is created, the requirement cannot be changed without generating a new address.

Address balances [ edit ]

Addresses are not wallets nor accounts, and do not carry balances. They only receive funds, and you do not send «from» an address at any time. Various confusing services and software display bitcoins received with an address, minus bitcoins sent in random unrelated transactions as an «address balance», but this number is not meaningful: it does not imply the recipient of the bitcoins sent to the address has spent them, nor that they still have the bitcoins received.

Читайте также:  Расчет справедливой стоимости инвестиции

An example of bitcoin loss resulting from this misunderstanding is when people believed their address contained 3 BTC. They spent 0.5 Bitcoins and believed the address now contained 2.5 BTC when actually it contained zero. The remaining 2.5 Bitcoins was transferred to a change address which was not backed up and therefore lost. This has happened on a few occasions to users of Paper wallets.

«From» addresses [ edit ]

Bitcoin transactions do not have any kind of origin-, source- or «from» address.

Источник

Адреса Bitcoin. Часть I, теория.

Адрес Bitcoin, или просто адрес, является идентификатором, содержащим около 33 алфавитно-цифровых символов, в текущей версии протокола начинается с символа 1 или 3, используя этот идентификатор вы можете совершать операции с Bitcoin. Адреса могут быть получены на безвозмездной основе любым пользователем Bitcoin. Например, с помощью программного обеспечения Bitcoin, нажав кнопку «Получить адрес».

Пример Bitcoin адреса: 1BQ9qza7fn9snSCyJQB3ZcN46biBtkt4ee

Как с помощью электронной почты вы можете отправить письмо, зная адрес получателя, также вы можете отправить BTC кому-либо, отправив их на соответствующий адрес Bitcoin. Только в отличие от электронной почты один человек может, и это поощряется, иметь неограниченное число различных адресов Bitcoin. Рекомендуется использовать уникальный адрес для каждой транзакции, если вы хотите добиться большей анонимности платежей. Большая часть программного обеспечения Bitcoin и тематические веб-ресурсы помогут с этим, путем создания нового адреса каждый раз при создании транзакции, или когда вы вручную запросите новый адрес.

При использовании веб-сайтов, которые принимают Bitcoin или держат у себя ваши сбережения в BTC, не удивляйтесь, что сайт будет создавать временные Bitcoin адреса для переводов. Временные адреса могут меняться при каждой новой транзакции, но старые адреса обычно остаются рабочими. При отправке Bitcoin на такие временные адреса, обычно их зачисляют на ваш счет в течение часа или двух (в зависимости от политики сайта).

Адреса вводятся точно и с учетом регистра символов. Как правило, Bitcoin адрес должен быть скопирован и вставлен с использованием буфера обмена компьютера где это возможно. Если приходится набирать адрес Bitcoin вручную, проверьте дополнительно, правильно ли введен адрес. Если он будет введен неправильно, то средства будут отправлены не на нужный счет, т.е. утеряны, или такая транзакция может быть отклонена, если адрес не будет соответствовать правилам. Некоторые из символов внутри адреса Bitcoin используются в качестве контрольной суммы, так что опечатки могут быть автоматически обнаружены и отклонены.

Некоторые Bitcoin адреса могут быть короче 33 символов. Значительная часть существующих адресов Bitcoin содержат только 32 символа — это совершенно нормально. Каждый адрес Bitcoin является чем-то вроде номера счета. Случается, что они начинаются с нуля, и когда нули опускаются, закодированный адрес становится короче.

Технически Bitcoin адрес представляет собой 160-битный хэш от открытого ключа ECDSA ключевой пары. Используя математические методы, вы можете «подписать» данные вашим секретным ключом, и любой, кто знает ваш публичный ключ, может удостовериться, что подпись действительна. Для получения более подробной информации, как работает криптографическая система с открытым ключом можно обратиться к соответствующей статье в Википедии . А если вам требуются глубокие знания о генерации адреса биткоин, то их можно почерпнуть в статье Википедии про спецификацию протокола Bitcoin.

Читайте также:  Доминация биткоина над альткоинами это

Каждой новой сгенерированной паре ключей ставится в соответствие адрес для приема монет. Bitcoin адреса (открытые ключи) и соответствующие им закрытые ключи хранятся в файле wallet.dat. Этот файл принадлежит только вам и необходимо постоянно делать его резервные копии. Операция отправки BTC на определенный адрес Bitcoin подразумевает, что у получателя есть соответствующий закрытый ключ находящийся в его кошельке. Это означает, что если вы сгенерируете новый адрес и получите на него монеты, а затем восстановите кошелек из более раннего бэкапа, в котором адрес еще не был сгенерирован, то монеты, переданные на этот адрес будут потеряны. Если вы полностью потеряли ваш кошелек, то все монеты будут потеряны и не смогут быть восстановлены.

Bitcoin позволяет сгенерировать столько адресов, сколько вы пожелаете, И каждый из них будет полностью самостоятельными. Не существует главного адреса, поле «Your Bitcoin address» в пользовательском интерфейсе программы Bitcoin не имеет особого значения, это один из адресов, имеющихся в вашем кошельке. Приложение только для вашего удобства будет автоматически менять их время от времени для повышения вашей анонимности в системе. При этом все другие ваши адреса будут оставаться рабочими навсегда. Они перечислены в разделе «your receiving addresses». Каждый адрес занимает всего 500 байт и потому даже большое их число в кошельке, как правило, не является проблемой.

Bitcoin адрес содержит встроенный код проверки, так что совершенно невозможно отправить биткоины на некорректный адрес. Однако, если адрес правильно сформирован, но никто не владеет им (или владелец потерял wallet.dat), любые монеты, отправленные на этот адрес, будут потеряны навсегда.

Адрес может содержать все буквенно-цифровые символы латинского алфавита, кроме 0, O, I (i большое), and l (L маленькое). В настоящее время, все нормальные адреса всегда начинаются с 1 или 3, хотя это может быть изменено в будущих версиях. Адреса тестовой сети обычно начинаются с m или n. Нормальные адреса могут иметь длину в 25-34 символов, а адреса тестовой сети могут быть из 26-34 символов в длину. Большинство же адресов все же состоят из 33 или 34 символов.

Кроме того, можно отправить BTC непосредственно на IP адрес.

Поскольку Bitcoin адреса базируется на случайных числах, возможно, хотя и крайне маловероятно, что для двух людей независимо друг от друга сгенерируются одинаковые адреса. Это называется коллизия. Если это случается, то оба владельца этого адреса могут тратить деньги, отправленные на этот адрес. Но здесь невозможно второму владельцу адреса потратить все деньги первого настоящего владельца (или наоборот). Если бы вы намеренно решили подобрать такой адрес, который вызовет коллизию, то на настоящий момент вам бы пришлось потратить в 2^107 раз больше времени, чтобы сгенерировать такой адрес, чем на создание нового блока. Пока подписи и алгоритмы хеширования остаются криптографически сильными, а вероятно так будет всегда, выгоднее будет генерировать и получать комиссии за переводы, чем искать дублирующиеся адреса.

Как создается bitcoin адрес:

1. Берется открытый ключ (65 байт, 1 байт 0x04, 32 байт соответствуют координате X, 32 байт соответствуют координате Y):

2. Производится SHA-256 хэширование открытого ключа:

3. Выполняется RIPEMD-160 хэширование результата SHA-256:

4. Добавляется байт-идентификатор сети перед RIPEMD-160 хэшем (0x00 для основной сети)

5. Выполняется SHA-256 хэширование по расширенному результату от RIPEMD-160:

6. Выполняется SHA-256 хэширование по предыдущему SHA-256 хэшу, результат будет представлять собой контрольную сумму:

7. Берутся первые 4 байта от полученного хэша:

8. Эти 4 байта контрольной суммы из пункта 7 добавляются в конец расширенного RIPEMD-160 хэша из пункта 4. Это 25-байтовый двоичный Биткоин адрес.

9. Результат пункта 8 конвертируется в строку base58 . Это наиболее часто используемый формат bitcoin адреса.

Источник

Оцените статью