Bitcoin Forum
May 20, 2024, 10:31:56 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: [1]
1  Bitcoin / Project Development / Book - Beginner's Guide to Bitcoin: Seeking Your Insights and Contributions! on: March 20, 2024, 04:05:42 PM
Over the past 18 months, I have dedicated myself to gaining a deeper understanding of how Bitcoin works from a technical standpoint. My journey involved reading several books, numerous articles, and posts, watching many videos, and writing summaries of each concept to solidify my understanding. As a result, I have compiled over 70 pages of content to date. This process sparked the idea of consolidating all these writings into a book (available for free download) in hopes of helping others understand Bitcoin as I have.

The book is intended for beginners. I've structured it around questions and answers, explaining various technical aspects of Bitcoin. I also included analogies to make the more abstract concepts within Bitcoin relatable to everyday examples.

This book will not focus on Bitcoin's monetary thesis. There are excellent resources for that topic, such as "The Bitcoin Standard". Nor is it meant to be a deep technical dive, for which "Mastering Bitcoin" and "Grokking Bitcoin" are highly recommended (and have been references for me).

I'm currently sharing an excerpt with a few knowledgeable individuals in the Bitcoin space to gather feedback, corrections, and suggestions for improvement!

And, of course, I want to share it with you all on Bitcointalk, who have been so helpful over the last few months. I would be honored if anyone here is willing to read it and point out any mistakes.  Grin

Since most members here prefer to remain anonymous, I've published version 01 and recorded it on the blockchain using Mirror (I have a Google doc, but it requires an email to share!).

Note: Bibliographic references are still missing

Feel free to suggest best practices for this post! My plan is to update it as I make corrections and/or add content. If this post violates any forum rules, please let me know, and I will edit or delete it as necessary.

I hope the book will have many pages of acknowledgments! While I plan to release it for free and cannot offer payment for assistance, rest assured that, with your permission, your names (or in this case, profiles) will be mentioned in the book.

After all, the goal is to make it CC0 so that anyone can download, read, and learn a bit about Bitcoin!

It has been a challenging, demanding, but ultimately rewarding journey. I hope to continue learning and giving back to the community and those outside it with some insightful content.

https://mirror.xyz/detalks.eth/lkFLBJ_skJefvnvMuuwLkW61ukv6EIDmCNw8eoDdbgU
2  Local / Português (Portuguese) / Conta da MicroStrategy no X foi hackeada on: February 26, 2024, 01:14:36 PM
E já tem muita gente que caiu no golpe de phishing!

Voltamos àquela velha discussão: A tecnologia é segura, já as pessoas...



3  Local / Português (Portuguese) / Livro - Introdução ao Bitcoin on: January 31, 2024, 10:37:19 PM
Nos últimos meses me dediquei a entender melhor como o Bitcoin funciona tecnicamente.
Li alguns livros, li vários artigos, posts, assisti vários vídeos e sempre que entendia o conceito, eu escrevia para fixar o conhecimento.
Conclusão que acabei escrevendo mais de 50 páginas até hoje.
Comecei a pensar na possibilidade de consolidar todos esses textos e lançar um livro (download grátis) para quem sabe ajudar outros a entender um pouco sobre como o Bitcoin funciona, assim como eu entendi.

A idéia é ser um livro para iniciantes.
Tentei seguir uma linha onde eu trago uma pergunta e respondo ela explicando um dos conceitos tecnicos do Bitcoin.
Também tentei incluir analogias para ajudar a trazer conceitos mais abstratos dentro do Bitcoin para exemplos mais concretos do dia a dia.

Estou nesse momento escrevendo uma introdução que exploro um pouco dos problemas que o Bitcoin se propõe a resolver (em resumo: sistema financeiro centralizado, com política monetária sujeita a dirigismo, censura).
Também já tenho preparado um breve história dos projetos anteriores ao Bitcoin que tentaram solucionar esses problemas, para enfim chegar no Bitcoin e começar a explicar como funciona tecnicamente.

O livro não será focado na tese monetária do Bitcoin. Para esse tema, tem excelentes livros como Bitcoin Standard por exemplo.
Também não se propõe a ser um livro para ir a fundo tecnicamente. Para isso tem o Mastering Bitcoin e o Grokking Bitcoin (que inclusive foram e estão sendo referências).

Estou compartilhando o trecho técnico com algumas pessoas que conheço que entendem da parte técnica do Bitcoin para receber feedbacks, correções e melhorias!

E obviamente irei compartilhar com vocês do Bitcointalk que têm me ajudado tanto nos ultimos meses!
Ficarei lisonjeado se alguém quiser ler e apontar os erros!

Como a maioria aqui não é doxxed, então publiquei a v01 e registrei na blockchain pelo Mirror (tenho um doc de google mas é necessário email pra compartilhar!).

E também fiquem à vontade para indicar melhores práticas para esse post!
Minha ideia é ir atualizando ele conforme eu for corrigindo e/ou adicionando conteúdos!
E caso esse post não esteja em linha com as regras do fórum, só me avisar que eu edito ou apago!

Espero que o livro tenha várias páginas de agradecimento!
Como pretendo lançar de graça, não terei como pagar ninguém que ajudar, porém podem ter certeza que caso autorizado, terão os nomes (ou no caso perfis) mencionados no livro!

Afinal, a ideia é ser cc0 para que qualquer pessoa possa baixar, ler e aprender um pouco sobre Bitcoin!

Tem sido uma jornada desafiadora, demandante, mas muito recompensadora. Espero continuar aprendendo e retribuindo para a comunidade e para os de fora com um pouco de conteúdo!

Segue link da v01:
https://mirror.xyz/detalks.eth/oeWHfgCF60v85YDY5hSZL44ntE5NZosmAEjBOyTFEVQ

Atualização:
Versão nova com uma introdução:
https://mirror.xyz/detalks.eth/lkFLBJ_skJefvnvMuuwLkW61ukv6EIDmCNw8eoDdbgU
4  Local / Português (Portuguese) / 1 bitcoin será enviado para a Lua dia 08/01/24 on: January 05, 2024, 08:18:05 PM
Segunda-feira está previsto o lançamento do Vulcan da ULA que vai levar o Peregrine para a Lua. Lembrando que é a primeira vez que o "ocidente" irá pousar na Lua novamente após as missões Apollo!

E a exchange BitMEX anunciou que enviará fisicamente 1 bitcoin (BTC) para a Lua em uma cold wallet, pesando 43 g e carregada com 1 BTC.
Será uma das 201 cargas enviadas na missão!

O endereço é o 1MoonBTCixFH3XTrWRCbMpK23o74nQrA1Q
Interessante que ele terminou de ser carregado com 1 BTC nas ultimas horas!

O lançamento será de madrugada no Brasil, mas quem quiser acompanhar:
https://www.youtube.com/watch?v=wZ6KTFMHenA
5  Local / Português (Portuguese) / US Treasury sanciona Sinbad crypto mixer on: November 29, 2023, 06:38:26 PM
A notícia tá pipocando em alguns sites de notícias crypto.

Reconheci o nome pois está na assinatura de alguns dos fóruns!

Não é nova esse tipo de sanção a mixers.
No caso, a alegação é que o Sinbad teria sido usado em atividades de lavagem de dinheiro para o Grupo Lazarus, um grupo de hackers patrocinado pelo Estado e associado à Coreia do Norte.

E aí voltamos ao debate da fungibilidade do Bitcoin.

Uma coisa é derrubar um site, outra é impedir que satoshis específicos sejam bloqueados por exchanges.

Na notícia não deixa claro, mas alguém sabe o que exatamente essa sanção significa?

6  Local / Português (Portuguese) / Startup Societies Conference - 01 de dezembro, em São Paulo on: November 24, 2023, 01:33:27 PM
Podemos fundar uma cidade ou um país?

Dado que a internet permitiu criarmos startups para competir com as grandes corporações, também permitiu criarmos criptomoedas para serem uma alternativa às moedas estatais, qual seria o próximo passo?



Criamos startups como Amazon e Google.
Também criamos comunidades como Facebook (agora Meta), Twitter (agora X), e o Linkedin.
Há quase 15 anos Satoshi criou o Bitcoin, que precedeu o ETH da Ethereum e milhares de outras criptomoedas.

Todas essas iniciativas começaram pequenas:
O Google dentro de uma garagem;
O Facebook dentro de um dormitório em uma faculdade;
O Bitcoin a partir de uma postagem em uma lista de discussão, e que por um mês foi usado por apenas uma pessoa;

Todas essas iniciativas se tornaram alternativas para resolver problemas existentes, passaram a ser utilizadas por bilhões de usuários e hoje valem bilhões, e até trilhões de dólares.

E é isso? Chegamos no fim da linha? O máximo que a internet irá nos permitir é construir novas empresas, novas moedas e nada além disso?

E fosse possível criar novas cidades ou novos países conectando pessoas com o mesmo propósito ao redor do mundo?

Esse é o conceito de Network State.

Se você ficou curioso, bora pra 1ª Conferência de Startup Societies da América Latina.


https://ipe.city/conference


Quem quiser ir me avisa que consigo código de desconto!


7  Local / Português (Portuguese) / O governo dos EUA detém mais de US$ 5.500.000.000 em Bitcoin (BTC) on: October 18, 2023, 05:25:49 PM
Sempre tive curiosidade de saber quantos BTCs os governos poderiam ter.

Um grupo de analistas da 21.co Research fez uma estimativa do montante controlado pelo governo dos EUA com base em informações publicamente disponíveis: 194.188 BTCs.

São rastreadas as carteiras associadas às três maiores apreensões de BTC do governo desde 2020.

Nov 2020 Silk Road Seizure - 69,369 BTC
Jan 2022 Bitfinex Hack Seizure - 94,643 BTC
Mar 2022 James Zhong Seizure - 51,326 BTC

Link para matéria: https://dailyhodl.com/2023/10/18/us-government-holds-over-5500000000-in-bitcoin-btc-according-to-on-chain-data/

Link para o painel que monitora as carteiras: https://dune.com/21co/us-gov-bitcoin-holdings

8  Other / Beginners & Help / A summary of what I understood about Private / Public Keys and Digital Signature on: September 28, 2023, 12:55:31 PM
I'm on a journey "back to basics" in Bitcoin.
And the best way I found to find out if I understood, is to write and see if the content makes sense to a lay person.

I finished the chapter on Private / Public Keys and Digital Signatures.

The idea is to understand the problems that are solved with a given concept and use some analogies.

I would be honored with any comments regarding:
- Errors in concepts and understandings;
- Suggestions for structural improvements;
- Example improvements;

I hope it's useful to someone!

Let's go:

Private / Public Keys and Digital Signatures

Problem: Who issues your account login and password?

In the traditional banking world, when you want to open a bank account, you walk into a branch or visit a website, provide your personal details, and the bank creates an account for you. It's the bank that gives you an account number and helps you set a password. They hold the power and control over account creation, and they ensure that only you, with your unique password, can access your funds. If you forget your password or if someone tries to fraudulently access your account, it's the bank's responsibility to verify your identity and safeguard your money. The bank acts as the central authority, the gatekeeper, and the verifier.

Now, in a decentralized system like Bitcoin. If there's no central entity like a bank, then who creates your account? Who ensures that only you can access your bitcoins?

The brilliance of Bitcoin's decentralized system is that it doesn't rely on a central authority to issue accounts or validate transactions. Instead, it leverages the power of cryptography. In the Bitcoin world, you create your own "account" by generating a pair of cryptographic keys: a public key, which is like your account number, and a private key, which is like your password.
But unlike a bank password that can be reset, your private key is unique and non-recoverable. Lose it, and you lose access to your funds. Share it, and others gain access. It's a system built on trust in mathematics and code, rather than trust in a central institution.

This decentralized approach offers freedom, control, and responsibility. It's a revolutionary shift from the centralized systems we've always known, placing the power of account creation and access squarely in the hands of the individual.

Excellent. But once I have my account and password, who will validate that I authorized a transaction?

Problem: Who verifies that a transaction was actually authorized by the issuer and not tampered with?


Digital signature: They bridge this trust gap, offering a decentralized way to verify that a transaction truly originates from its claimed source and guarantees that it has not been tampered with.

Digital signatures is a more secure subset of electronic signatures. So, let’s understand the differences, real-world applications, especially in a decentralized context and for Bitcoin.

Let's start with a broader category:

Electronic Signatures:
Think of the electronic signature as the digital equivalent of your handwritten signature on a paper document. It's any electronic data (like a typed name, an uploaded image of a handwritten signature, or a click on an "I agree" button) which is logically associated with other electronic data and is used by the signatory to sign. It's akin to a physical signature but in electronic form.

Most of us engage with electronic signatures, often without realizing it. Here are some commonplace examples:

Agreeing to the terms and conditions of a software or online service by clicking "I Accept."
Signing on digital pads after credit card transactions at retail outlets.
Using signing platforms, where one can draw or upload an image of your signature to digitally sign a document.


Your electronic signature is your signature and doesn’t change based on the item being signed: when you sign a cheque, a letter, or a document, the whole point is that your signature looks the same. This is easy for other people to copy! This is really terrible security!

The problem with electronic signatures is that they rely on a trusted third party to validate the authenticity of the signatory and the integrity of the signed data. For instance, when using e-signature platforms, the platform itself acts as the third party, ensuring that the signatory is who they claim to be and that the document hasn't been tampered with after signing.

In contrast, a digital signature is only valid for that exact piece of data, and so it cannot be copied and pasted underneath another piece of data, nor can someone else re-use it for their own purposes. Any tampering with the message will result in the signature being invalidated. The digital signature is a one-time proof that the person with a private key really did approve that exact message. No one else in the world can create that digital signature except you, unless they have your private key.

So given that we learned that Bitcoin does not have a trusted third party, this is where digital signatures come in to "sign" valid transactions confirming the sending of coins from one account to someone else’s.

Digital Signature:

Delving deeper, the digital signature is a specific type of electronic signature. Rooted in cryptography, it involves creating a unique digital code (“signature”) using a private cryptographic key. When others receive the digitally signed document, they can use the signatory's public cryptographic key to verify the document's authenticity and ensure it remains unaltered since being signed.

Imagine I've organized an exclusive party, and I want to send out special invitations to a select group of friends. Given the event's exclusivity, it's vital that the recipients know that the invitation genuinely came from me and hasn't been replicated or forged.
To ensure this, I seal each invitation envelope with my unique wax stamp. This stamp, known only to belong to me, adds a touch of authenticity to each invitation. Once pressed into the wax, the seal's intricate design hardens, making it evident if someone were to tamper with the envelope.
While my wax stamp is unique, the method to verify it isn't hidden. Over the years, friends and acquaintances have come to recognize the design of my stamp. Moreover, I've often shared a magnifying glass at gatherings, which displays the finer details of my stamp's design for anyone curious.
Once they receive the invitation, anyone can analyze the wax seal and validate its authenticity.
This verification assures that the invitation is genuine and indeed from me.

In this scenario:
•   My unique wax stamp represents the private key. It's used to assert authenticity by "signing" the invitation.
•   The magnifying glass, shared among friends and acquaintances, represents the public key. It allows anyone familiar with my stamp to verify the authenticity of the seal, ensuring the invitation truly comes from me.



A digital signature is created by taking the message you want to sign and applying a mathematical formula with your private key. Anyone who knows your public key can mathematically verify that this signature was indeed created by the holder of the associated private key (but without knowing the private key itself).

Knowing that those who will solve the problem of issuing the account and password are the public key and the private key, and that those who will solve the problem of verifying the authenticity of transactions are digital signatures, then how are they created? How do they work?

To do this we will have to quickly understand a little cryptography. Although this is the most important and complicated topic, we will only touch the surface.

Cryptography is used to provide:
Encryption: When only the intended recipient can interpret the message (Confidentiality);
Signatures: When you want to ensure that the message was written by the sender (authentication) and was not tampered with in transit (integrity);

There are two ways to do encryption. Those two ways are symmetric encryption and asymmetric encryption.

The main difference between these two is that symmetric encryption is going to encrypt and decrypt content using the same keys, and asymmetric encryption is going to encrypt and decrypt using different keys.

So let's talk about what that means.


To show you how this is going to work, we're going to use the alphabet. Now for these examples, we're going to assume that there's only lowercase a through z, there's no uppercase characters, there's no numbers, there's no symbols. We're going to keep it simple for the explanation.

So the symmetric encryption uses the same key for encryption and decryption. So let's say we start with the word HELLO. We are going to use a symmetric encryption algorithm in combination with a secret key. Now the algorithm we are going to use for this example is simply moving the letters forward, and we are going to move it that amount of times In this case: three. Well if we start at the H and I move forward three times, we'll end up at K. If we did the same for the rest of the letters in the word, we'd end up with KHOOR.

To decrypt this, we would simply take the cipher text and do the inverse of the algorithm. So if our algorithm was to move forward, our decryption algorithm is going to be to move backwards and we’re going to use the same key. So if we move forward three times to encrypt, we’re going to move backwards three times to decrypt. If we start at the K and we move backwards three times, we'll end up back at the H. And again we could do this for the rest of the letters to decrypt the whole word.

So that's a simple example of symmetric encryption. In this case, the same key was used for both encryption and decryption.

Now let's talk about asymmetric encryption and you're going to see it's a little different. With asymmetric encryption, we’re still going to use an encryption algorithm, but the keys I use for encryption and decryption are going to be different.

Here I'm going to use the encryption key of five. Again I'm going to start with H and I'm going to move forward five times to get to M. I could do it with the rest of the letters in this word to get to MJQQT. Now it might seem like you can just go backwards to get back to H. But  asymmetric encryption algorithms are usually a one-way function. Remember the hash algorithms we learned previously? We can't do them backwards!

So in the case of asymmetric encryption, we can't actually go backwards. Instead we have to go forward a different amount. To decrypt this, I'm going to have to take my cipher text and use a different key going forward again. So starting with the M, if I go forward 21 positions, I'll end up back at the H. And I could do it again for the rest of the letters to decrypt the rest of the word. But note that unlike symmetric encryption, we move forward to encrypt and forward again to decrypt. With symmetric encryption, I was able to use the same key to encrypt the decrypt. Whereas with asymmetric encryption, I had to use different keys to encrypt and decrypt.

Now let's talk about those keys a little bit more. Those two keys I used in this case, 5 and 21 are mathematically related. Whatever I encrypted with 5 could only be decrypted with 21. There are other combinations of keys that you could use in our little example using just the alphabet. Actually anything that adds up to 26 would work. So I could have also used an encryption key of 6, a decryption key of 20.

Well, what if I used them in the reverse order? What if I encrypted a 21? Could I not then decrypt with 5?

Well, let's give it a shot. Again, I'm going to start at the H and I'm going to see if I can move forward 21 times. That will bring me back to the C and I could also do the same for the rest of the letters. And then to decrypt this, I would again take my cipher text and then move forward another 5 times. That would bring my C back to an H successfully decrypting the first letter of my plain text. I could again use the same decryption key to decrypt the rest of the letters. The main thing I'm pointing out here is this property of asymmetric encryption is that what you can encrypt with one key can only be decrypted by the other key. But it works in either direction. I can encrypt with 21 and decrypt with 5, or as we showed earlier, I can encrypt with 5 and decrypt with 21.

These two asymmetric keys are mathematically related.

Now, what the industry does with this is they take one key and they label it as the public key and they make it available to anybody that asks for it. And then they take the other key and they call it the private key and they keep it to themselves.

Given that cryptography allows encryption and signatures, but for Bitcoin purposes, we will only focus on the Signature feature.

So, if you have the private key you can sign a message.
And if you have the public key, you can prove the signature was made by the owner of the private key;


When someone wants to send bitcoins to another person, they create a transaction message specifying the amount and the recipient. However, instead of signing the entire transaction message, which can be of variable length and relatively large, Bitcoin employs a more efficient approach: What is signed is the hash of the transaction.

This way, we can ensure:

Uniformity: Regardless of the length or content of the original message (transaction), its hash will always be of a fixed length (256 bits in the case of Bitcoin's SHA-256 hashing algorithm). This uniformity is convenient for processing and verification purposes.

Efficiency: Signing a hash, which is a fixed and relatively small size, is computationally more efficient than signing a potentially large and variable-length message.

Security: The cryptographic hash functions used in Bitcoin (like SHA-256) have the property that even a tiny change in the input will produce a vastly different output. This means that if even one character in the original transaction changes, the hash will change entirely. Thus, by signing the hash, the integrity of the entire transaction is ensured.

So, this is how public and private keys are used to sign a transaction in Bitcoin:

I am going to generate a transaction of 1 bitcoin for my grandma. I'm then going to run that transaction through a hashing algorithm. That's going to result in a particular output. For our example, the hashing algorithm produces the output "HELLO" from the input "transaction of 1 bitcoin".
That output "HELLO" is then going to be encrypted with my private key. Given that my private key is 5 (letters ahead in the alphabet), this means signing the hash "HELLO" results in "MJQQT". The result of that, which is the encrypted output "MJQQT", is the signature. That is actually the signature of that transaction of 1 bitcoin. That gets appended to the transaction, and then both the transaction and the signature get sent across the wire.

Now, that signature was created with my private key, which means on the other side, my grandma is going to use my public key to verify the signature. Given that my public key is 21 (letters ahead in the alphabet), my grandma will use it to verify if the signature was made by the private key that is a pair of my public key.
What she's going to do is take the signature "MJQQT" and decrypt it using my public key. That's going to result in the output of the hash of the transaction: "HELLO" .
Then my grandma is going to independently calculate a hash of that transaction. If the output "HELLO" that my grandma got in her calculation matches the output "HELLO" that I had sent, this proves two things.

First, it proves that the transaction has not changed since I signed it. Remember, this output was created by taking a hash of this transaction. So if anything changed in this transaction, my grandma would have gotten a different output. This gives us the property of integrity.

The other thing that signatures prove is that only I could have created the signatures. This signature was created as a result of taking my private key and encrypting the digest "HELLO". Well, if my grandma was able to decrypt something with my public key, this proves it was definitely my private key that signed it. And the only person in the world that has my private key is me. This gives us authentication.

Pages: [1]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!