<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Technical_background_of_version_1_Bitcoin_addresses</id>
	<title>Technical background of version 1 Bitcoin addresses - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://en.zaoniao.it/index.php?action=history&amp;feed=atom&amp;title=Technical_background_of_version_1_Bitcoin_addresses"/>
	<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Technical_background_of_version_1_Bitcoin_addresses&amp;action=history"/>
	<updated>2026-05-15T09:41:31Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>http://en.zaoniao.it/index.php?title=Technical_background_of_version_1_Bitcoin_addresses&amp;diff=7124&amp;oldid=prev</id>
		<title>Admin: Created page with &quot;{{#seo: |title=Technical background of version 1 Bitcoin addresses - zaoniaoWiki |keywords=Bitcoin wallet,bitcoin,keypair, Bitcoin Addresses, private key, version 1, v1 |descr...&quot;</title>
		<link rel="alternate" type="text/html" href="http://en.zaoniao.it/index.php?title=Technical_background_of_version_1_Bitcoin_addresses&amp;diff=7124&amp;oldid=prev"/>
		<updated>2019-07-24T09:00:54Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{#seo: |title=Technical background of version 1 Bitcoin addresses - zaoniaoWiki |keywords=Bitcoin wallet,bitcoin,keypair, Bitcoin Addresses, private key, version 1, v1 |descr...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{#seo:&lt;br /&gt;
|title=Technical background of version 1 Bitcoin addresses - zaoniaoWiki&lt;br /&gt;
|keywords=Bitcoin wallet,bitcoin,keypair, Bitcoin Addresses, private key, version 1, v1&lt;br /&gt;
|description=Bitcoin address - is a 160-bit hash of the public portion of a public/private ECDSA keypair. Using public-key cryptography, you can &amp;quot;sign&amp;quot; data with your private key and anyone who knows your public key can verify that the signature is valid.&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;amp/&amp;gt;&lt;br /&gt;
[[File:BitcoinAddress.png|600px|right|Technical background of Bitcoin address]]&lt;br /&gt;
A [[Bitcoin address]] is a 160-bit hash of the public portion of a public/private ECDSA keypair. Using public-key cryptography, you can &amp;quot;sign&amp;quot; data with your [[private key]] and anyone who knows your public key can verify that the signature is valid.&lt;br /&gt;
&lt;br /&gt;
A new keypair is generated for each receiving address (with newer [[Deterministic wallet | HD wallets]], this is done deterministically).&lt;br /&gt;
The public key and their associated private keys (or the seed needed to generate them) are stored in the wallet data file.&lt;br /&gt;
This is the only file users should need to backup.&lt;br /&gt;
A &amp;quot;send&amp;quot; transaction to a specific [[Bitcoin]] address requires that the corresponding wallet knows the private key implementing it.&lt;br /&gt;
This has the implication that if you create an address and receive coins to that address, then restore the wallet from an earlier backup, before the address was generated, then the coins received with that address are lost; this is not an issue for HD wallets where all addresses are generated from a single seed&amp;lt;ref&amp;gt;[https://support.coinbase.com/customer/portal/articles/1816349-how-do-i-get-a-bitcoin-address- Coinbase - How do I get a Bitcoin address?]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
Addresses are added to an address [[Protocol documentation|key pool]] prior to being used for receiving coins. If you lose your wallet entirely, all of your coins are lost and can never be recovered.&lt;br /&gt;
&lt;br /&gt;
Bitcoin allows you to create as many addresses as you want, and use a new one for every transaction.&lt;br /&gt;
There is no &amp;quot;master address&amp;quot;: the &amp;quot;Your Bitcoin address&amp;quot; area in some wallet UIs has no special importance.&lt;br /&gt;
It's only there for your convenience, and it should [[change]] automatically when used.&lt;br /&gt;
&lt;br /&gt;
Bitcoin addresses contain a built-in check code, so it's generally not possible to send Bitcoins to a mistyped address. However, if the address is well-formed but no one owns it (or the owner lost their wallet.dat), any coins sent to that address will be lost forever.&lt;br /&gt;
&lt;br /&gt;
Hash values and the checksum data are converted to an alpha-numeric representation using a custom scheme: the Base58Check encoding scheme. Under Base58Check, addresses can contain all alphanumeric characters except 0, O, I, and l. Normal addresses currently always start with 1 (addresses from [[script]] hashes use 3), though this might change in a future version. Testnet addresses usually start with ''m'' or ''n''. Mainline addresses can be 25-34 characters in length, and testnet addresses can be 26-34 characters in length. Most addresses are 33 or 34 characters long.&lt;br /&gt;
&lt;br /&gt;
== Collisions (lack thereof) ==&lt;br /&gt;
Since Bitcoin addresses are basically random numbers, it is possible, although extremely unlikely, for two people to independently generate the same address. This is called a collision. If this happens, then both the original owner of the address and the colliding owner could spend money sent to that address. It would not be possible for the colliding person to spend the original owner's entire wallet (or vice versa). If you were to intentionally try to make a collision, it would currently take 2^107 times longer to generate a colliding Bitcoin address than to generate a [[block]]. As long as the signing and hashing algorithms remain cryptographically strong, it will likely always be more profitable to collect generations and [[transaction fee|transaction fees]] than to try to create collisions&amp;lt;ref&amp;gt;[https://support.coins.ph/hc/en-us/articles/203153400-What-is-my-Coins-ph-wallet-address- What is my Coins.ph wallet address? – Coins.ph Help Center]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
It is more likely that the Earth is destroyed in the next 5 seconds, than that a collision occur in the next millenium.&lt;br /&gt;
&lt;br /&gt;
==How to create Bitcoin Address==&lt;br /&gt;
0 - Having a private [[ECDSA]] key&lt;br /&gt;
 18E14A7B6A307F426A94F8114701E7C8E774E7F9A47E2C2035DB29A206321725&lt;br /&gt;
1 - Take the corresponding public key generated with it (65 bytes, 1 byte 0x04, 32 bytes corresponding to X coordinate, 32 bytes corresponding to Y coordinate)&lt;br /&gt;
 0450863AD64A87AE8A2FE83C1AF1A8403CB53F53E486D8511DAD8A04887E5B23522CD470243453A299FA9E77237716103ABC11A1DF38855ED6F2EE187E9C582BA6&lt;br /&gt;
2 - Perform [[SHA-256]] hashing on the public key&lt;br /&gt;
 600FFE422B4E00731A59557A5CCA46CC183944191006324A447BDB2D98D4B408&lt;br /&gt;
3 - Perform [[RIPEMD-160]] hashing on the result of SHA-256&lt;br /&gt;
 010966776006953D5567439E5E39F86A0D273BEE&lt;br /&gt;
4 - Add version byte in front of RIPEMD-160 hash (0x00 for Main [[Network]])&lt;br /&gt;
 00010966776006953D5567439E5E39F86A0D273BEE&lt;br /&gt;
''(note that below steps are the [[Base58Check|Base58Check encoding]], which has multiple library options available implementing it)''&amp;lt;br&amp;gt;&lt;br /&gt;
5 - Perform SHA-256 hash on the extended RIPEMD-160 result&amp;lt;ref&amp;gt;[https://www.blockonomics.co/blockonomics Blockonomics - Bitcoin Address / Wallet Watcher - Login]&amp;lt;/ref&amp;gt;&lt;br /&gt;
 445C7A8007A93D8733188288BB320A8FE2DEBD2AE1B47F0F50BC10BAE845C094&lt;br /&gt;
6 - Perform SHA-256 hash on the result of the previous SHA-256 hash&lt;br /&gt;
 D61967F63C7DD183914A4AE452C9F6AD5D462CE3D277798075B107615C1A8A30&lt;br /&gt;
7 - Take the first 4 bytes of the second SHA-256 hash. This is the address checksum&lt;br /&gt;
 D61967F6&lt;br /&gt;
[[File:bitcoinad.jpg|500px|right|thumb|Bitcoin Address example]]&lt;br /&gt;
8 - Add the 4 checksum bytes from stage 7 at the end of extended RIPEMD-160 hash from stage 4. This is the 25-byte [[binary]] Bitcoin Address.&lt;br /&gt;
 00010966776006953D5567439E5E39F86A0D273BEED61967F6&lt;br /&gt;
9 - Convert the result from a byte string into a base58 string using Base58Check encoding. This is the most commonly used Bitcoin Address format&lt;br /&gt;
 16UwLL9Risc3QfPqBUvKofHmBQ7wMtjvM&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://gobittest.appspot.com/Address Address testing suite]&lt;br /&gt;
* [http://lenschulwitz.com/base58 Online Address Validator and Base58 Encoder/Decoder]&lt;br /&gt;
&lt;br /&gt;
==See Also==&lt;br /&gt;
* [[ASIC]]&lt;br /&gt;
* [[Cloud mining]]&lt;br /&gt;
* [[Hardware wallet]]&lt;br /&gt;
* [[Ethereum]]&lt;br /&gt;
* [[List of cryptocurrencies]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Bitcoin Core documentation}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technology]]&lt;br /&gt;
[[Category:Alternative cryptocurrency]]&lt;br /&gt;
[[Category:Bitcoin Core documentation]]&lt;/div&gt;</summary>
		<author><name>Admin</name></author>
		
	</entry>
</feed>