Straight to the point: I live in one of those corrupt societies (Turkey).
Too much government control and I honestly don't feel safe for my money and crypto is a safe haven. Having lived through an oppressive regime for years, I'd support anything that takes power and freedom from authorities back to the people (at least to an extent).
For example: PayPal is blocked in my country and I was able to use Ether to buy a tshirt (and there weren't any other options of payment other than PayPal and crypto). It was actually a better UX than I've expected: it said "send this amount of ether to this address" in the middle of the screen and once I sent it (and it was confirmed) everything was smooth. I could also donate to Ukraine instantly in war.
About smart contracts: yeah a smart contract's code itself can never be changed (for a good reason) but if you need it, there are upgradeable smart contracts:
Basically your initial smart contract is just a proxy with a "pointer" to another smart contract that has a owner-invokable function to change that pointer (which can be changed because it's a state value, not hardcoded into the contract code). That proxy delegates all function calls to the pointed contract and after initial deployment you deploy the actual "implementation" contract and set proxy contract's pointer to the neely deployed contract and it works (See OpenZeppelin's Upgradeable contract class). There are a few caveats like not changing property declaration orders and (obviously) deploying your contract as upgradeable in the first place?, but that's generally it.
While immutable code could be a disaster, it holds value for the core values of blockchain: even I (as the creator of the contract) can't do anything malicious after deploying the contract. Everything that the contract can do is open in the public. Of course nasty bugs have been very costly, but as static analyzers become better and auditing/security practices become more solid, we'll have less disasters and more benefits of the immutability which provides perfect transparency with no trust (as in: no need to trust).
> Too much government control and I honestly don't feel safe for my money and crypto is a safe haven. Having lived through an oppressive regime for years, I'd support anything that takes power and freedom from authorities back to the people (at least to an extent).
That I can completely understand and is what makes me not totally negative towards crypto related services. There is a lot of people that live under oppressive regimes around the world. If we could use technology to create something completely decentralized that would be unstoppable even by lawmakers that would probably be net positive since it gives power to the people.
I get that smart contracts holds such a value, but there is very little benefit for me at the moment since I trust that the government won't mess up my finances (other than taking a lot of it by tax) but it's nice that there is another option.
I have to say that I see a lot of negative development even in my country in general (especially related to free speech) so putting some money in crypto may be worth it long term. I already have some bitcoin and some eth. I have a hardware wallet but I haven't really used it to anything else than bad speculation which I have now lost 50% of its original value because of the dip.
Too much government control and I honestly don't feel safe for my money and crypto is a safe haven. Having lived through an oppressive regime for years, I'd support anything that takes power and freedom from authorities back to the people (at least to an extent).
For example: PayPal is blocked in my country and I was able to use Ether to buy a tshirt (and there weren't any other options of payment other than PayPal and crypto). It was actually a better UX than I've expected: it said "send this amount of ether to this address" in the middle of the screen and once I sent it (and it was confirmed) everything was smooth. I could also donate to Ukraine instantly in war.
About smart contracts: yeah a smart contract's code itself can never be changed (for a good reason) but if you need it, there are upgradeable smart contracts:
Basically your initial smart contract is just a proxy with a "pointer" to another smart contract that has a owner-invokable function to change that pointer (which can be changed because it's a state value, not hardcoded into the contract code). That proxy delegates all function calls to the pointed contract and after initial deployment you deploy the actual "implementation" contract and set proxy contract's pointer to the neely deployed contract and it works (See OpenZeppelin's Upgradeable contract class). There are a few caveats like not changing property declaration orders and (obviously) deploying your contract as upgradeable in the first place?, but that's generally it.
While immutable code could be a disaster, it holds value for the core values of blockchain: even I (as the creator of the contract) can't do anything malicious after deploying the contract. Everything that the contract can do is open in the public. Of course nasty bugs have been very costly, but as static analyzers become better and auditing/security practices become more solid, we'll have less disasters and more benefits of the immutability which provides perfect transparency with no trust (as in: no need to trust).