Bitcoin Forum
November 03, 2024, 04:46:54 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 [2]  All
  Print  
Author Topic: How Bitcoin Addresses are generated? Understand the Math behind Bitcoin  (Read 1199 times)
Vadi2323
Legendary
*
Offline Offline

Activity: 2044
Merit: 1231


View Profile
February 09, 2020, 09:12:35 AM
Last edit: February 09, 2020, 10:25:16 AM by Vadi2323
 #21

I use the words from that post in Russian "Bitcoin turned 10 years old, and they all write instructions on how addresses are generated and even manage to get lost in terminology. For whom is this article? What is new in this information that the sectarians merited it together? How many more years does the community intend to chew on the ABC book?"

It is unfortunate that the technically illiterate article has earned so many Merits in the English-language part of the forum. Degradation is evident.

...
However, the author’s phrase:
This is the P2PKH format of public key. It is widely used for sending/receiving bitcoins. There are various rounds of different hashing algorithm involved to generate P2PKH key from hex of public key.
confirms my idea that the author has a terminological mess in his head about addresses and public keys.

Instead of the word address, the author uses the non-existent term P2PKH key, which misleads the reader.





Russian translation




This is far more impressive than I expected on the Beginners board! That must have been a lot of work, well done!

pooya87
Legendary
*
Offline Offline

Activity: 3626
Merit: 10996


Crypto Swap Exchange


View Profile
February 09, 2020, 09:49:04 AM
Merited by hatshepsut93 (1)
 #22

Bitcoin turned 10 years old, and they all write instructions on how addresses are generated and even manage to get lost in terminology. For whom is this article? What is new in this information that the sectarians merited it together? How many more years does the community intend to chew on the ABC book?
Bitcoin is 11 years old not 10 and it is still Bitcoin that is that old not the newcomers who keep coming along every day! posts like this are giving them a simple look under the hood and if they weren't created here i assure you that most newcomers would never even see it elsewhere even though there are already many better instructions such as Mastering Bitcoin by A.A.

It is unfortunate that the technically illiterate article has earned so many Merits in the English-language part of the forum. Degradation is evident.
it may contain some small mistakes here and there and may not be as well versed as what experts have written but it is far from being "technically illiterate".

...
However, the author’s phrase:
This is the P2PKH format of public key. It is widely used for sending/receiving bitcoins. There are various rounds of different hashing algorithm involved to generate P2PKH key from hex of public key.
confirms my idea that the author has a terminological mess in his head about addresses and public keys.

Instead of the word address, the author uses the non-existent term P2PKH key, which misleads the reader.
if we are going to nitpick then we should do it correctly!
first of all the full text that should have been quoted is this:
1) [18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA] Public Address: This is the P2PKH format of public key.
which makes it a lot more accurate. not to mention that the word "address" is already there!

secondly the word is not "address", the correct term is "script" since P2PKH is a script type not an address type, the term "address" is commonly used in its place to simplify it but since it is a nitpicking as i said the nit should be accurate itself!

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
webtricks (OP)
Legendary
*
Offline Offline

Activity: 1918
Merit: 1728


View Profile
February 09, 2020, 10:16:24 AM
Merited by hatshepsut93 (2)
 #23

-snip-

Welcome to the thread. I was waiting for someone from that Russian community to finally come here and write the things rather than being cocky intellectuals in their own board. Google Translate translates Russian perfectly and I have already read everything discussed in Russian thread.

No doubt, whatever discussed among Russian folks is absolutely correct. I even made one edit already after reading reply in Russian board. If you guys have problem with any line or mistyped terminology then you are most welcome to reply here and I will correct the things. I already made 8 edits based on recommendations in the thread.

Now coming to the content of this thread. I completely disagree with the statement that this stuff is some basic bitcoin stuff. Go on and search 'Bitcoin for beginners' on Youtube and find a single video which explains the concept behind creating bitcoin address let alone the coding part. I bet you won't find any.

Secondly I am not some professional Bloomberg or BBC writer who is getting paid in K's for every article. This article contains over 21000 characters and everyone is allowed to make some conceptual mistakes when writing something that long. That's why I am open to edits.

Thirdly, I don't think mistakes highlighted is misguiding the reader at all. Technically yeah, that may be wrong a little bit but my motive was to make this thread accessible to everyone. If I just have to write the textbook terminology then Bitcoin Wiki is far better than writing own custom threads.

Lastly, picking a piece of thread may sound incorrect but read the whole thread and I cleared everything in detail as the thread progresses.
Pmalek
Legendary
*
Offline Offline

Activity: 2940
Merit: 7537


Playgram - The Telegram Casino


View Profile
February 14, 2020, 08:14:32 AM
 #24

I translated and posted the translation of your thread into the Croatian local forum. Excellent work once again!
This is the link to my translation:
https://bitcointalk.org/index.php?topic=5225719.0

▄▄███████▄▄███████
▄███████████████▄▄▄▄▄
▄████████████████████▀░
▄█████████████████████▄░
▄█████████▀▀████████████▄
██████████████▀▀█████████
████████████████████████
██████████████▄▄█████████
▀█████████▄▄████████████▀
▀█████████████████████▀░
▀████████████████████▄░
▀███████████████▀▀▀▀▀
▀▀███████▀▀███████

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 
Playgram.io
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▄▄▄░░
▀▄







▄▀
▀▀▀░░
▄▄▄███████▄▄▄
▄▄███████████████▄▄
▄███████████████████▄
▄██████████████▀▀█████▄
▄██████████▀▀█████▐████▄
██████▀▀████▄▄▀▀█████████
████▄▄███▄██▀█████▐██████
█████████▀██████████████
▀███████▌▐██████▐██████▀
▀███████▄▄███▄████████▀
▀███████████████████▀
▀▀███████████████▀▀
▀▀▀███████▀▀▀
██████▄▄███████▄▄████████
███▄███████████████▄░░▀█▀
███████████░█████████░░
░█████▀██▄▄░▄▄██▀█████░
█████▄░▄███▄███▄░▄█████
███████████████████████
███████████████████████
██░▄▄▄░██░▄▄▄░██░▄▄▄░██
██░░░░██░░░░██░░░░████
██░░░░██░░░░██░░░░████
██▄▄▄▄▄██▄▄▄▄▄██▄▄▄▄▄████
███████████████████████
███████████████████████
 
PLAY NOW

on Telegram
[/
rajasobdar786
Copper Member
Newbie
*
Offline Offline

Activity: 145
Merit: 0


View Profile
February 24, 2020, 05:37:08 AM
 #25

Very Nice post Sir!

Pretty nice how you Have used the codes and pictures to send the full message across to BitcoinTalk viewers.
im a newbie member and i want to write these type of post to give some info to beginners
well thank you for  posting such a great informative post

johhnyUA
Legendary
*
Offline Offline

Activity: 2436
Merit: 1849


Crypto for the Crypto Throne!


View Profile
February 26, 2020, 04:25:00 PM
Last edit: February 26, 2020, 06:02:23 PM by johhnyUA
Merited by webtricks (3)
 #26

Public Key is the key that is shared to the sender and the world. Example: 18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA. Whereas Private Key is the key which is used to access the funds received on Public Key.

Please, correct this in your post. If you done your guide to get merits, then you can leave it as is. But if you think, that some JS developer may read it and try to do something using your guide, then you don't have any other possibility except to change it.

18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA is an address (abstract term) which is double hash of public key. (!!!)

For anyone who wrote at least 1 line of code in their life it's obvious that such incorrect information will result in butthurt. You shouldn't   misunderstand people who will try to use you guide. Thanks

The later review will appear soon

.freebitcoin.       ▄▄▄█▀▀██▄▄▄
   ▄▄██████▄▄█  █▀▀█▄▄
  ███  █▀▀███████▄▄██▀
   ▀▀▀██▄▄█  ████▀▀  ▄██
▄███▄▄  ▀▀▀▀▀▀▀  ▄▄██████
██▀▀█████▄     ▄██▀█ ▀▀██
██▄▄███▀▀██   ███▀ ▄▄  ▀█
███████▄▄███ ███▄▄ ▀▀▄  █
██▀▀████████ █████  █▀▄██
 █▄▄████████ █████   ███
  ▀████  ███ ████▄▄███▀
     ▀▀████   ████▀▀
BITCOIN
DICE
EVENT
BETTING
WIN A LAMBO !

.
            ▄▄▄▄▄▄▄▄▄▄███████████▄▄▄▄▄
▄▄▄▄▄██████████████████████████████████▄▄▄▄
▀██████████████████████████████████████████████▄▄▄
▄▄████▄█████▄████████████████████████████▄█████▄████▄▄
▀████████▀▀▀████████████████████████████████▀▀▀██████████▄
  ▀▀▀████▄▄▄███████████████████████████████▄▄▄██████████
       ▀█████▀  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀█████▀▀▀▀▀▀▀▀▀▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.PLAY NOW.
webtricks (OP)
Legendary
*
Offline Offline

Activity: 1918
Merit: 1728


View Profile
February 26, 2020, 05:35:20 PM
 #27

Public Key is the key that is shared to the sender and the world. Example: 18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA. Whereas Private Key is the key which is used to access the funds received on Public Key.

Please, correct this in your post. If you done your guide to get merits, then you can leave it as is. But if you think, that some JS developer may read it and try to do something using your guide, then you don't have any other possibility except to chenge it.

18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA is an address (abstract term) which is double hash of public key. (!!!)

For anyone who wrote at least 1 line of code in their life it's obvious that such incorrect information will result in butthurt. You shouldn't   misunderstand people who will try to use you guide. Thanks

The later review will appear soon

Glad you came by. Thanks for your edits, I made necessary changes in introduction as well as point (1) i.e. the definition of Public Address. Please check and tell me if anything else needed correction. While writing such lengthy guide, it is normal to do such mistakes. As I said earlier, this guide have over 21K characters and I manually typed each line.

PS: I am never looking for merits. If I was really a merit hunter then you would most probably be seeing 2000+ merits on my profile, it won't be difficult for me. However, I don't have such temptations.
jenskohl
Newbie
*
Offline Offline

Activity: 3
Merit: 0


View Profile
February 28, 2020, 12:17:20 PM
 #28

Overall this make me dizzy, "this need for further study" my brain said. First time reading about this on how the address generated from.
webtricks (OP)
Legendary
*
Offline Offline

Activity: 1918
Merit: 1728


View Profile
February 28, 2020, 06:31:20 PM
 #29

Overall this make me dizzy, "this need for further study" my brain said. First time reading about this on how the address generated from.

Yeah! Topic is a little bit excessively detailed. There are surely easy way to do so. For example, you can do what this thread is doing in few lines with Python by importing libraries. But that isn't the purpose of this thread. Rather I tried to go under the hood by writing bare implementation of every code. Right from taking random string, creating private key with it, using elliptic curve cryptography then deriving bitcoin address and WIF. Everything is written from scratch so that non-technical members can actually see how everything really happens.
johhnyUA
Legendary
*
Offline Offline

Activity: 2436
Merit: 1849


Crypto for the Crypto Throne!


View Profile
March 12, 2020, 08:39:29 PM
 #30

Glad you came by. Thanks for your edits, I made necessary changes in introduction as well as point (1) i.e. the definition of Public Address. Please check and tell me if anything else needed correction. .

Yep, now everything is pretty good. I remember that i had some more remarks about your text, and i will try too look into it a bit later, but for now i'm a little busy. But yeah, intro is now looking good.

Ok! So let's start with the topic. To use Bitcoin, user generally needs two things: Private Key and Bitcoin Address. Bitcoin Address is an identifier which looks like this: 18J6ai34uzGofUuzbiwhXJzKzdx1efDBqA. User have to share it with sender to receive payment. Whereas private key is a key which user have to input in wallet to access the funds received.


.freebitcoin.       ▄▄▄█▀▀██▄▄▄
   ▄▄██████▄▄█  █▀▀█▄▄
  ███  █▀▀███████▄▄██▀
   ▀▀▀██▄▄█  ████▀▀  ▄██
▄███▄▄  ▀▀▀▀▀▀▀  ▄▄██████
██▀▀█████▄     ▄██▀█ ▀▀██
██▄▄███▀▀██   ███▀ ▄▄  ▀█
███████▄▄███ ███▄▄ ▀▀▄  █
██▀▀████████ █████  █▀▄██
 █▄▄████████ █████   ███
  ▀████  ███ ████▄▄███▀
     ▀▀████   ████▀▀
BITCOIN
DICE
EVENT
BETTING
WIN A LAMBO !

.
            ▄▄▄▄▄▄▄▄▄▄███████████▄▄▄▄▄
▄▄▄▄▄██████████████████████████████████▄▄▄▄
▀██████████████████████████████████████████████▄▄▄
▄▄████▄█████▄████████████████████████████▄█████▄████▄▄
▀████████▀▀▀████████████████████████████████▀▀▀██████████▄
  ▀▀▀████▄▄▄███████████████████████████████▄▄▄██████████
       ▀█████▀  ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  ▀█████▀▀▀▀▀▀▀▀▀▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
.PLAY NOW.
Polar91
Hero Member
*****
Offline Offline

Activity: 1120
Merit: 553

Filipino Translator 🇵🇭


View Profile WWW
March 30, 2020, 07:19:13 AM
 #31

Filipino Translation: https://bitcointalk.org/index.php?topic=5236264
webtricks (OP)
Legendary
*
Offline Offline

Activity: 1918
Merit: 1728


View Profile
July 22, 2020, 08:38:00 PM
 #32

Bump!
Lordhermes
Sr. Member
****
Offline Offline

Activity: 1232
Merit: 379


View Profile WWW
July 23, 2020, 12:45:11 PM
 #33

Wow, this is really a good teachings that requires a big sum for before learning, we got it here free from OP, nice one, you really a life changing person that love inspiring people with secrets behind bitcoin addresses generation, thank you.
Maus0728
Legendary
*
Offline Offline

Activity: 2030
Merit: 1582


View Profile
July 23, 2020, 01:33:20 PM
 #34

Bump!
Thanks for bumping! I am having trouble finding your thread.

You did this program using Java right? Do you have any resources that offers specific function that is used to generate bitcoin addresses using C++ library? Though I quite understand what is the process of address generation under the hood, I think it would be a good experience for me to create similar program that is written using C++.

Thank you so much.
webtricks (OP)
Legendary
*
Offline Offline

Activity: 1918
Merit: 1728


View Profile
July 24, 2020, 05:24:06 PM
 #35

Wow, this is really a good teachings that requires a big sum for before learning, we got it here free from OP, nice one, you really a life changing person that love inspiring people with secrets behind bitcoin addresses generation, thank you.

I'm glad you liked it!

Bump!
Thanks for bumping! I am having trouble finding your thread.

You did this program using Java right? Do you have any resources that offers specific function that is used to generate bitcoin addresses using C++ library? Though I quite understand what is the process of address generation under the hood, I think it would be a good experience for me to create similar program that is written using C++.

Thank you so much.

I have written code in Javascript and NodeJS (not Java). Yes, there is an extensive and well-maintained Bitcoin Library in C++ namely libbitcoin. Then of course, you have Bitcoin Core. You can easily create Bitcoin Addresses in both of these. Both got some cool pre-written C++ functions. But if you are interested in writing everything from scratch like I did in OP then I don't think there is any specific resource available in C++. Maybe somebody has written an article on the same which you maybe able to find on Search Engine. Smiley 
Pages: « 1 [2]  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!