What do you think would be an actually good use of blockchain/smart contracts? What kind of problems (big or small) is it a good tool for? - eviltoast

Hello!

When I was creating a CTF for a conference, I’ve finally got to learn about how blockchain and smart contracts actually works in practice, and the whole concept is simply brilliant. A quick introduction for those unfamiliar with it would be in this summary, but just to summarize how I basically understand it, blockchain is simply a VM that runs code (smart contracts) a both the code, and result of every execution of it is calculated by a bunch of users (so, mining is basically running a VM) and appended into the blockchain based on some kind of consensus and proof of work. This means that you get a single source of truth and history of every execution of a smart contract that is decentralized and you can rely on it.

But, almost every use of blockchain or smart contracts I have seen has pretty large issues either in sustainability in the long term, or in cases where you simply need some form of an authority to prevent and punish misuse. While I’m not really that much familiar with every use of blockchain so far, I will first list what I’ve already thought about or seen, and the main issues that I think are a deal-breaker for choosing blockchain for that kind of tasks. It’s possible that some of the issues are wrong or have already been solved, so please correct me if I’m wrong - my knowledge of blockchain isn’t really that in-depth.

First and the most common use is the one you are probably most aware of - cryptocurrencies. If I ignore the biggest and most unfortunate issue of cryptocurrencies turning into an investment-only product, with hugely volatile and inflated price that is not backed by any kind of real value (sure, you can pay with BTC, but it’s slow, expensive and super volatile to be useful, so the only real use is to literally sell it to others for a profit - which also basically means you are scamming someone out of their money down the line), I see the following problems with using blockchain for currencies:

  • Longevity - The ledger size is already getting massive, only after a few year. It’s not sustainable, and it will eventually be really hard to keep the whole ledger at a large enough number of places to not run into problems of integrity. It’s growing exponentionally, and is at around 500Gb after around 10 years.
  • Gas cost - It’s getting harder and harder to mine and confirm new transactions, which increases the cost while also making less people able to mine new transactions without being at a loss. This will only get worse, and eventually lead to the 50% problem (if someone controls 50%+ of mining nodes, he can confirm fake transactions or do whatever he wants with the blockchain) being a real issue.
  • Lack of moderation - This may be one of the more controversial issues, because it goes directly against the whole idea of cryptocurrencies, but is one of the biggest problems I see that are in the way of crypto being able to be considered for wider use. We live in a world where some people are dicks that are not afraid to steal and cheat, and something like a currency simply has to be moderatable. You need to be able to punish criminals, and take back what they have stolen. If someone doesn’t pay their debts and owns me money, the government should be able to just take the money if they have them. If someone uses an account for scamming and stealing, it should be possible to freeze it.

The last issue will eventually show in most of the other uses of blockchain as well, and while I have included it, I’m still not sure how I feel bout it. In an ideal world, you would not have to deal with something like this. I would also really like to have an option to do my transactions privately, without anyone being able to profile my behavior and data, but such a system would have to allow for some safeguards against missuse to be widely adoptable. (Which is an interresting off-topic question - would it be possible to create a system that is private, but also has the possibility for trusted authorities to freeze accounts and force transactions?) And the more that I think about it, the more I’m certain that I’d rather have a centralized system where you can punish criminals and scammers, than a system where lives of people are regularly ruined by someone stealing all of their savings unpunished. But it is a thin line - I only say that because I live in a country that is all-right and I can trust my government - for now. But I definitely agree that such a private unmoderated option should exist - but can’t be considered for widespread use, which I’ve heard some people say that “crypto will replace cash in a few years”. And this is why it never will, IMO. But this discussion shouldn’t be about whether this is a good opinion or not - but more about “what blockchain is a good tool for”.

Next one are NFTs. I will just quickly gloss over them, because they are even bigger scam than crypto is. Ever heard someone say “Someone has copied and minted my NFT?”. Well, it’s a shame that there isn’t some kind of centralized authority that could, you know, not allow them to do that.

Another use I’ve heard someone praise as “the future” was lending money. I’m not sure what were they talking about, but the whole point was that you can… Escrow an amount you are borrowing, and then borrow the same amount? It didn’t make any sense, so I guess I’m missing something, but then again - we have the same issues as above, while also it being just a bizare idea - why simply not use the amount you already have? The person tried to explain it to me, but it just feels gimmicky. And if you escrow a lesser amount, you then have the same problem with moderation as above - nothing can force you to return the money (unless it is already escrowed, but then, why??)

So far, every use of blockchain I have heard about would be better done in a centralized fashion, especially as far as longevity is concerned. The growing ledger size and increasing gas cost, along with the 50% problem simply makes most of these kind of uses too impractical to work on a larger scale.

But I really like the concept and idea of smart contracts, and I’m sure there has to be some kind of use that is not as “revolutionary” or large scale. I’m just having hard time coming up with any.

I have only one - voting, and maybe transparent randomization (i.e lottery). Smart contracts are an amazing way to collect votes transparently but privately, since you can be sure that no-one can cheat, if you set it up properly. It’s also something that doesn’t suffer from the longevity problem, because it’s more of a one-shot use of blockchain, rather than something ongoing - which also justifies the price.

(tl;dr feel free to start here:) Which is what I’m interested in - does any of you have similar ideas for use of smart contracts and blockchain, that would be practical in a daily live? Be it one-shot smart contracts for a small task, such as voting or random winner selection, maybe some kind of escrow. It doesn’t have to be a “society changing system”, or something revolutionary. A common small code snippets or apps that would solve the trust issue inherent to a centralized task is what I’m after - but have hard time coming up with.

And just a disclaimer - I don’t plan on building anything and am not fishing for the next blockchain thing, I barely even understand it. I would just like to incorporate blockchain into my programming repertoire as a tool, because the concept feels so clever, but is also misused or misunderstood due to hype, but it has to have it’s uses that are overshadowed by people jumping on the blockchain bandwagon without considering whether it’s really the best tool for the job.

But is has to be a good tool for some kind of problems, right? And I would like to start a discussion about what would that be, without it being affected by the hype and reputation surrounding blockchain. I feel like that would be an interesting though exercise, and I’m sure we can come up with some interesting little uses here and there, without it being gimmicky but actually the best tool for the job.

Thank you!

EDIT: And I’d like to add that I never got into the blockchain hype, and my opinion on how it’s used so far is mostly negative. If a product mentions blockchain, I usually just avoid it as a gimmick. But that’s why I’m genuinely interested in this discussion - I don’t judge a tool about how people misuse it.

  • TCB13@lemmy.world
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    1 year ago

    Yes it is, and I hope it actually fixes the issue. But I’m not sure how it works in detail and it doesn’t seem to actually replace the mess that banks made but instead just add a bandage. At least is seem to use ISO 200022 message standards but as I said would it be THAT hard to simply ditch all the crap and model a baking system around what the EU/Russia does? Actually I don’t get why the US can’t just adopt the internationally used SWIFT system and the IBAN improvements that is used by 77 countries world wide for their national and international transfers. This system won’t make the US dependent on anyone as it is mostly a bunch of technical standards and recommendations on how to transfer money between banks.

    • pjhenry1216@kbin.social
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      The US can and does use SWIFT for international transfers. SWIFT doesn’t automatically make something instant. Nor does IBAN since that is just a code.

      Standards are as you stated, just standards on defining how to record a transaction. It doesn’t define a system to process these transactions. It’s like a file format. You still need something to process/transfer that file. The EU (currently) relies on SEPA for instant transfers. And it requires both endpoints to use euros.

      Instant transfers are not as simple as everyone thinks and most folks don’t actually know what is behind them or how they work. I am far from an expert but I’m just trying to point out it is sort of esoteric stuff and most people don’t even know if the transfer they’re performing is even actually instant or not.

      Blockchain would also make it very difficult to have disputes where one must be forced to pay another. It assumes everyone is “equal” and one can’t forcefully take money from another. You can believe that’s great, but garnishment and repossession of funds is a thing that all countries will need to be able to do. That’s a fundamental break in how blockchain effectively works. It works against it.

      Edit: I also just realized you’re not pro-blockchain for finance, but my points still stand for the concept in general.

      • TCB13@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Banks in the EU are required to implement SWIFT and also follow the PSD2 directive that includes the means for “instant transactions”.

        My previous posts weren’t about saying that because there’s SWIFT/IBANs the EU has instant transactions, but about the fact that US institutions made a very fragmented mess out of money transactions and the quickest way to get out of it is to adopt the SWIFT/IBAN standards that everyone else use. Why have different messaging standards for national and international transfers? SWIFT/IBAN standards are proven and used by a large number of countries and fixed a ton of messes.

        After they clear the account identification scheme mess, they can, then, easily roll out a US version of SEPA. The first step is always standardization and simplification and luckily for the US most of the world has been testing, using and improving the standards for a while.

        I agree and share your concerns about blockchain for finance and I know the systems we’ve were designed to avoid those same concerns and get the job done.

        • pjhenry1216@kbin.social
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Again, US banks do. But SWIFT and IBAN are used almost exclusively for international transactions, EU included. It’s their whole purpose. SEPA exists alongside SWIFT and does not rely on SWIFT. It’s why is so much more restrictive and can only do euro to euro.

          The US banks are standardized. That’s not the problem. It’s really control and cost. Like right now, FedNow still costs 4 cents per transaction which is expensive. ACH costs about half that. But it’s also controlled by NACHA instead of the government.

          In any case, I’m about as far down this rabbit hole as I’d like to go. We at least agree on blockchains… “usefulness”.

          • TCB13@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            The US banks are standardized

            Are they? Routing and account numbers, transactions that fail often and people complaining all the time. Is that enough standardization, most likely not.

            • pjhenry1216@kbin.social
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              1 year ago

              I am not on TikTok and it won’t play the whole video, so this does nothing. Its not a useful rebuttal. I’m fine if you want to cite your argument, but this is useless. Who goes around using TikTok as damn evidence. “Hey, look at this random stranger say something.”

              Edit: transfers don’t generally fail unless there’s a lack of funds. And that isn’t the definition of standard anyway. Standards can be unreliable. And what is wrong with routing and account? Put together it contains much of the same info as an IBAN.

              • TCB13@lemmy.world
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                And what is wrong with routing and account? Put together it contains much of the same info as an IBAN.

                Yes I know, but what about the rest of the standards? What about having something like SEPA and others? It kinda looks like banks break deals between each other and implement whatever they want and how they want with little accountability.

                • pjhenry1216@kbin.social
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  No. They go through the ACH which is operated by NACHA. They don’t just have private deals between the two of them (I mean, I guess they can). I mean, you keep saying what about the rest of the standards and then naming a specific system. A system isn’t a standard. It’s possible you’re just using the wrong terminology and I’m completely misunderstanding you. But all banks in the US operate the same basic way. According to standards that are required to operate in the ACH plus to meet federal regulations. FDIC insured isn’t just all willy nily.