I don’t really care about fad stuff so I never bought any but also I never really understood how they worked practically. Like if I bought a famous tweet or jpg or what ever, how would I use the token to verify owner ship of the thing or sell it?

  • crashex@crazypeople.online
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 hours ago

    a way to have an append only database with no centralized authority.

    Thank you for finally making me understand blockchain.

    As a non-technical person - how can I trust that there really is no centralized authority? Wouldn’t whoever built the blockchain system retain some kind of power over it?

    • Nibodhika@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      2 hours ago

      Bitcoin is a protocol, kinda like HTTP or Morse code, whoever created it can’t change what things mean unless those using it accept it.

      To answer your question with some more technical details, Blockchain use a public/private key pair, explaining what they are and how they work is quite difficult without going deep into mathematics, but in short a private key is a secret number so big it would take billions of years to brute force even with the entirety of the computational power of earth. In short, it’s impossible to guess a private key. On the other hand a public key is a number that’s derived from that first number without a way to going back to it, a very dumb down example would be think on 2 numbers (123 and 5) multiply them and you have your private key (615) add them and you have your public key (128), knowing just the public key you can’t know what the private key is.

      Ok, so you have a number no one can guess and another number derived from it, so what? Well, because of the way the public key is derived from the private one you can encrypt things with the public key that only the person with the private key can decrypt, which is cool and all, but the important part here is the other way around: you can sign a message with a private key that anyone with the public key can verify. This is extremely important, because it means that if we use the public key to identify someone, only the person who knows the private key can sign as them, and no one (not even the creator of Bitcoin) can falsify that signature, because to do that they would have to know the private key.

      With that knowledge understanding what Bitcoin is is much easier. Imagine your public address is 12345 and you want to send 1 coin to me, my public address being 54321, you essentially send a message saying “12345 gives 1 coin to 54321” and sign it, now a miner will see that transaction, and if you have 1 coin to give they’ll try to build a block of transactions which includes yours. Eventually your transaction will make it into a block, and all blocks that are built on top of it will make it more difficult to revert.

      Final details, how do they know you have 1 coin? They tally all of the coins 12345 has received and sent over time. They store the total for each account in memory so they don’t have to calculate it every time, but that’s how they know if you have enough. And finally, every time someone creates a block they can claim a special transaction that creates a specific amount of new coins to any public key they want, that’s how new coins are created.

      As you can notice, you sign transactions and no one can falsify that, miners group transactions and it’s in their best interest to be honest (otherwise other miners won’t accept their block and they will have spend computer power for nothing). It’s a system where everyone is kept honest because attacking the system is more expensive than playing by the rules. And the rules are set and forget, although miners can change the rules collectively it requires lots of people to be in agreement and it won’t happen to revert your purchase.

      In short, it’s not exactly 0 trust, but it uses game theory to make sure that you can trust the system as it’s in everyone’s best interest that the system remains honest.

      If you have any other question let me know.