It's not that there's anything inherently wrong with multiple assertions in a unit test, it's that it's often a smell you're testing multiple behaviours in a single test - which is the thing you should avoid.
It's not going to happen. I'd love the UK to rejoin the EU but there isn't the political will to do, either here or in the EU27. Remember too it only takes any one of the remaining constituent nations to veto any membership consideration - and that's only after a process of political wrangling which can take a decade or more. If international treaties are famous for anything, it's that they are formed at glacial pace.
I'm also doubtful the public will is there in the UK, either. I wish I could say with confidence that if we had another referendum tomorrow on whether to rejoin or stay out, rejoin would comfortably win but I can't. It's one of those things which seems so obvious if you support one side, you just can't see how the other can possibly take the position they do.
In respect of the site, it's not going to persuade anyone who was either in favour of Brexit or on the fence, is it? It's clearly designed to preach to the choir. But partisanship and ideological bubbles is how we ended up in such a mess in the first place. If any campaign is serious about rejoining, they need to accept two things, IMO - first, that it's a generational cause, not something which will be achieved within a few years, and second, that any campaign will only succeed by making concessions with the EU and the pro-Brexit faction among the public, by understanding them and by forming a new relationship. To call this task gargantuan is an understatement.
I have a genuine question which I have been wondering about for sole time:
Is there anything positive to this “one nation can veto everything” rule? It feels like this is really blocking a lot of progress in the EU where some of the right-spectrum nations can simply block anything or bargain from.
Why do we have this rule and is it hard to get rid of it?
Yes, there is. The rule means that nothing can be forced onto any nation.
Many people, and nations, would be hesitant to join a union where you can be coerced to tolerate neighbors you otherwise wouldn't. Hence the idea of consensus.
Because we don't have a real European public and open discourse. It is just some losers online that happen to speak English as a common language. But even then you wouldn't know anything about domestic politics in Bulgaria (assuming your aren't from there).
You cannot really get to anything you can call democratic voting, it would be so random and indirect that it would basically become meaningless. So states still need a hard veto for themselves and the direction the EU will develop in.
In practice the EU has already got rid of this rule in almost every area, for that exact reason. However, it means that the arguments for leaving the EU get stronger. It used to be that a good answer to opposition to the EU was "but they can't force us to do anything because there's a veto". Now it's very far from that.
It's that exact trend that led to Brexit in the first place - your comment shows why it's problematic perfectly. EU supporters see it as a way to force left wing politics onto populations that otherwise would reject it.
There is one situation where it could happen. If the courts give Scotland another vote for independence and they vote yes, then it's quite possible the government would offer a vote on rejoining as a last resort attempt to hold the country together.
For me, as a (granted very minor) contributor to some open source, I couldn't care less about attribution. The ethos of open source is specifically about sharing stuff (probably for free) for the benefit of everyone, take a penny, leave a penny. It's more of an interesting question if Copilot is suggesting code verbatim from source-available rather than open source repos though.
You don't need to license it, you can just publish it with a declaration that as the author, you are releasing your work in to the public domain. However, in terms of licensing I believe MIT is the most permissive.
Okay, so just take "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software" out of MIT and call it the Do Whatever You Want Licence. You're not obliged as an author / copyright holder to impose restrictions on people using your work if you don't want to.
Whether Copilot is breaching MIT depends on what constitutes a substantial portion, which I am not qualified to rule on.
> Maybe most people were voting on this because they think it's right or wrong, not because it says anything new or interesting (I don't see that it does).
There's probably some truth in this, in respect of the voting. I certainly never expected it to have a brief stint top of the front page when I submitted it.
As the author I'd like to hope it was an interesting read, but I'll absolutely agree if you're much familiar with the crypto space, it's not new information or a new set of arguments. That doesn't matter to me because for me, for the position I take on this industry, I think what's important is for more people to speak out against crypto, to challenge the hype around blockchain and not be afraid to say it's simply not delivering.
> Nobody in Web3 is suggesting you hold all of your assets in a single private key that you physically carry to a restaurant
I'm not suggesting that, either. It's a metaphor. In the metaphor, we're not talking about crypto wallet keys, we're talking about actual, physical keys which open doors. But many people do of course keep all their crypto keys in a single, vulnerable location, or hand the contents of their wallets over to another wallet for some other purpose such as lending - typically this is on centralized exchanges or defi markets and platforms, for example Celsius - which I haven't checked in a while but can only assume is still in business, doing well and allowing customers to access their funds.
You did suggest that, even concluding with “That's the world of cryptocurrency” to re-affirm the equivalency of the comparison.
This framing is disingenuous. Crypto proponents do not suggest holding all assets in a single key and leaving it in a vulnerable location. It would be like suggesting that investing in fine art is futile because investors might accidentally drop their Picasso painting on the way to the restaurant.
Many outspoken proponents advise against “CeFi” including centralized lending services like Celsius. Meanwhile with Aave, which is analogous to Celsius and is actually DeFi, the protocol is still doing fine and the users still have access to their funds. This goes against the general tone of your statements, and is an example of Web3 product that is actually continuing to demonstrate its effectiveness.
Hi, author here. So the first thing is as something meant to be an engaging (though casual) read and one which is targeted at an audience who might not all be tech buffs, of course there's some simplification, glossing over some things and yes, a bit of hyperbole here and there for dramatic effect. The opening paragraph, for example, obviously lays out a strong and provocative position to immediately engage the reader and establish the post's theme as a critical piece.
The other part is the article already comes in at something like 3800 words. I could write five, ten times that on the subject and still not be done. I have to pick and choose what I cover and in what detail.
The primary use case of cryptocurrencies (and in particular Bitcoin) today, when used directly as currency, as a means of purchase, is criminal activity. The article glossed over that there are other niche use cases where coins are used as currencies but they are very much a niche, particularly when weighed against the biggest use of crypto today which is simply as a form of something analogous to stock trading only without the regulation.
But this is almost a secondary point; the article is about "Web 3" hype, these points are relevant insofar as the thing which is really being challenged is this idea that crypto and blockchain will be the foundation of a major new era in the web.
I'll certainly take it as constructive feedback on my writing if that isn't clear enough. Thanks.
I disagree with the comment you're responding to. Please be more aggressive about dismissing crypto and blockchains as a fraud. It's actually shameful how reluctant some engineers are to do this. This isn't just about using them as a currency. They're bad at literally everything else too. There are no actual niche use cases. More software engineers need to be honest and up front about this before the scams continue. The irrational levels of hype must end. Crypto and blockchains are actually just completely useless. It's been 13 years and still every single person I've ever seen who says they're useful can't name a single actual use case that you can't do better with just a normal database. Even you're getting sucked into this trap.
Like, I get people's reluctance to seem biased, but how long are we going to let this charade continue? How long before we can say enough is enough? "Enterprise blockchain" is a marketing buzzword. Nobody actually wants them except to tick a box on a checklist. They never gained any real traction, because they're useless. They have to be managed by a centralized admin anyway, so what's the point? There just isn't one. Part of this is intentional confusion on the part of promoters, people labeling anything that uses paxos or merkle trees as "blockchain" for marketing reasons, but I hope people also start pushing back against that for what they are: obvious attempts to cash in on the crypto hype by using the word blockchain.
Why don't you write an article about Web3 technology instead of Bitcoin or vacuous crypto-influencer statements? If all of Web3 is a con, then you should have no trouble dismantling the usefulness of ENS, Aave, DAI, and Uniswap. Spending time talking about Bitcoin, Proof of Work, Bitconnect, and other unrelated issues detracts from your essay.
Those defi projects don't require much to dismantle. The entire point of them is to accumulate more crypto. That's it. And since crypto is useless, they also serve no useful purpose.
The only exception you mentioned is ENS, but there isn't anything special about that. It's just a DNS system but centralized into a smart contract instead, and because it's on ethereum you have to pay gas fees in addition to the registrar fess. No actual benefit to using it versus real DNS.
I think you misunderstand DAI. Saying the point of DAI is to accumulate crypto is like saying the point of a car is to accumulate oil. People use oil, or ETH as the gas token in this example, to drive the car, or drive the DeFi apps. You can hold DAI without holding any more ETH than is needed for transfers.
“Centralized into a [decentralized] protocol” is an oxymoron. The benefit of ENS over DNS is that there is no centralized actor that can control, censor and manipulate the namespace.
>I think you misunderstand DAI. Saying the point of DAI is to accumulate crypto is like saying the point of a car is to accumulate oil.
No, I understand it perfectly. The only purpose of stablecoins is to provide liquidity in the crypto markets for these defi apps where all the trading action happens. They don't have any other purpose and there isn't any other reason to hold them. If it wasn't for the crypto markets you would just be using USD and trading against that directly. Seriously, if you go to the DAI website and you click the big "Use DAI" button it literally just takes you to another crypto investing app.
In the future please avoid falling for this trap that web3 tech pushers set. They claim there is "innovation" in the space but almost all of it is just clones of existing financial services with crypto instead of real money. The fact that there's even something call "stablecoins" should demonstrate to you how bogus this all is. The rest of cryptos are so volatile the only way they can make anything resembling a market out of it is by pegging other cryptos to the USD and doing all their trading against that. It's just adding more middlemen to reach the ultimate goal which, as always, is to eventually cash out into USD. Because everybody knows cryptos by themselves are useless for anything besides speculative gambling.
>“Centralized into a [decentralized] protocol” is an oxymoron. The benefit of ENS over DNS is that there is no centralized actor that can control, censor and manipulate the namespace.
Nope, you're wrong about this in the context of most things implemented in smart contracts. You should be extremely wary of anyone making these claims. Since the "smart contract" is actually just a piece of code, typically the smart contract will have an update mechanism that only a centralized actor can use to upload patches and updates to the code. IIRC this is still how ENS works last time I checked. Like almost everything in crypto, it's a centralized service that the authors lie about and masquerade it as decentralized.
Sometimes they'll do an even worse thing by having "governance tokens" that grant you powers to update the smart contract, and someone with a lot of money can just come in and buy all the tokens and take it over. So these "smart contracts" are not really decentralized in any sense. If anyone says "we are making this thing that can't be controlled, censored or manipulated" then that's a massive red flag.
There's also the question of why anyone actually wants that. What other industry would this be ok in? If someone had a company that made self-driving cars advertised as being "uncontrollable and uncensorable by driving laws", nobody would want that. We'd recognize that company is actually just selling unstoppable killing machines. So why do people for some bizarre reason think this is a good thing in financial markets where the super-rich already have extreme power consolidation? It makes absolutely no sense at all.
> They don't have any other purpose and there isn't any other reason to hold them.
A claim that is easily refuted. Send 1000 DAI to an individual and they can now hold a USD pegged asset non custodially, without a USD bank account, and transfer any amount to other individuals.
Smart contracts can be made immutable and locked. The ENS root multisig owners have locked .eth TLD and have minimal ability to affect any existing .eth ENS name. Since the contracts are open source, if the ENS team went rogue and against the community’s wishes, the protocol could be forked. You can read about it here:
https://docs.ens.domains/frequently-asked-questions
>they can now hold a USD pegged asset non custodially
Nope, this is wrong. Any stablecoin is necessarily centralized in order to maintain the peg, in the case of DAI it has a "custodian" in the form of MakerDAO. Look it up, this is how they all work. When they say the words "non-custodial" it's a blatant lie. Everything in crypto has a custodian, some projects are just aggressive about trying to conceal them.
>Without a USD bank account, and transfer any amount to other individuals.
But this isn't a reason to hold them nor is it an innovation. You could also just do that with moneygram or a similar service, no blockchains required. The only thing you can meaningfully do with this that you can't do with another cash-only service or a bank is to trade other cryptos with it, but that also isn't even for any technical reason. If the banks decided to start exchanging cryptos directly, they could. And that would totally remove the reason for any stablecoins to exist.
This is coming back to the same problem with any of these questions like "but what about the web3 tech?" There isn't any new tech here. You just described an existing thing you can do (send money) but with some buzzwords attached. If you dig into it there's never any actual explanation as to why the "web3 tech" makes it better, because it doesn't. So please just don't ask those types of questions, find some better ones.
>Smart contracts can be made immutable and locked.
Well that isn't how ENS works. And that's a universally bad idea anyway because that means it can never get any upgrades or bug fixes ever again. It's like saying your data center is "decentralized" and therefore better because you encased it in a block of concrete so one can get in to upgrade the servers ever again. Well no, it's not, it's still centralized, you just made it worse for no reason.
>if the ENS team went rogue and against the community’s wishes, the protocol could be forked
This is exactly how DNS works as well. There is no practical difference, and yet no one forks the DNS root because doing so would be extremely expensive and pointless. Because it's not just about forking the protocol, you also need to fork the whole network and overcome network effects, and that's the actual hard part. ENS offers absolutely nothing to fix this compared to DNS. It's the same thing. I should also point you to this sentence in the FAQ:
>The root node is presently owned by a multisig contract, with keys held by trustworthy individuals in the Ethereum community
Which is a random, centralized group of people hand picked by the ENS founder, acting similarly to a corporate board of directors. There's absolutely nothing "decentralized" about it in any way. I'm completely serious when I say this whole thing is a blatant scam built on lies. If you find yourself trying to look for positives in this system, you're doing something wrong. It's literally all bad.
MakerDAO has no ability to block individual holders' DAI tokens. ENS DAO and ENS root multisig owners have no way to revoke your registered ENS .eth name address or take control of its records. You and I have a different idea of "custodial." Banks, CeFi lenders, payment processors can and do regularly eject and censor customers on a per-transaction basis, even building automated flagging systems to do this.
> But this isn't a reason to hold them.
The person now has DAI, an asset that has value, and that they can send to another person. They received the DAI in 30 seconds, without needing a bank, and can send it to another person in 30 seconds, also without them needing a bank. The closest comparison is cash, but you cannot securely send cash around the world in 30 seconds without a bank.
There are many contracts and protocols that are designed to be immutable-only with forking as the only mode of governance, I would advise doing a little more research into the development practices.
> This is exactly how DNS works as well. There is no practical difference
Except that domain name registrars are centralized entities with complete custody over their owned domains, unlike .eth names which are not owned by any central party, and cannot even be revoked or controlled by the root node multisig owners.
A lot of your writing seems like a sort of zealotry against crypto, which is understandable as we are on HN, but it does not mean it is accurate.
>MakerDAO has no ability to block individual holders' DAI tokens. ENS DAO and ENS root multisig owners have no way to revoke your registered ENS .eth name address or take control of its records.
Nope, they actually can do all of this by just updating the smart contracts. And even if this were true, it would be an anti-feature. I don't want to use a system where the illegitimate transactions of thieves and hackers can't be blocked. Just look at how many smart contracts get hacked to see what a bad idea it is to say "we never block any bad actors". It just makes no sense at all to try to spin that as a selling point. It's not in any way a good thing.
>The person now has DAI, an asset that has value, and that they can send to another person. They received the DAI in 30 seconds, without needing a bank, and can send it to another person in 30 seconds, also without them needing a bank. The closest comparison is cash, but you cannot securely send cash around the world in 30 seconds without a bank.
Yes you can, I already addressed this. Moneygram and similar services literally does this, without cryptos or blockchains. All you need to do in order to accomplish this is to have someone else who has some funds (or a bank account) that is offering to make the transfer for you and gives you a code (or lets you use your own personal code, like a private key) to redeem the funds on the other end. No blockchains are required at all to do this, adding blockchains to this only makes it worse because it unnecessarily adds more extra steps.
>There are many contracts and protocols that are designed to be immutable-only with forking as the only mode of governance, I would advise doing a little more research into the development practices.
I've done plenty of research and I'd say that's a universally bad idea, and whoever is saying that has no idea what they're talking about and should be discredited. Forking is an extreme method of last resort that has a lot of friction, it isn't something you want to encourage people to do just because of some small easily-fixable bug. Especially when people stand to lose a lot of money because of those bugs. This is just another instance where this stuff is like the wild west with no regard for normal development practices used in financial software.
>Except that domain name registrars are centralized entities with complete custody over their owned domains, unlike .eth names which are not owned by any central party, and cannot even be revoked or controlled by the root node multisig owners.
Ok but you just said some other party could fork and replace the protocol as governance, which one is it? If there turns out to be some nasty bug in that contract the developers will just say "whoops, everyone use this new contract instead" and then everyone will be frustrated but will still switch over to it because they have no other choice. Or for the nuclear option, if the ethereum developers really wanted to, they could just change the ethereum code itself to mess with that smart contract, just like they already did in 2016 and they could easily do again if they decided to. "Non-custodial" in crypto is a complete lie. I'll say it again, there is always custody. This is still inherently a network service that has to run on physical computers and has to get updated by humans who need to perform customer service and all that jazz. In crypto it's just intentionally obfuscated who actually controls what.
Even assuming for a moment that all this works like you say it does, it still would be a bad thing that isn't innovative at all, it's just lazy! I would absolutely not use a domain name service that refuses to block terrorists and criminals and refuses to come up with any way to effectively block them. I don't want to be on the same network as them at all, everything you're saying is an anti-feature.
>A lot of your writing seems like a sort of zealotry against crypto
It's not. What I actually do have zealotry against is liars and thieves. Crypto just happens to be overloaded with those types. The entirety of it is a fraud based on faulty technology that can't actually do any of what is promised in any meaningful way that is different from existing systems. The core of your comment seems to be saying "if you don't like it then just fork" but this is the whole problem cryptos were pitched to solve in the first place! They wanted to "fork" the banking system because they were angry about bank baliouts but now they've gone and done the exact same stuff over and over again!
Each one of your posts has exponentially more tangents and problems than the last so it is hard to reply to it all, but
> if the ethereum developers really wanted to, they could just change the ethereum code itself to mess with that smart contract
Forking is a user activated decision. If an honest majority users of the chain wanted to point to a new ENS contract to resolve names to addresses, they could come to that consensus regardless of the will of core devs or root multisig owners.
If an honest majority of users would like GoDaddy to stop censoring X.com domain, or PayPal to stop blocking funds, they cannot fork the centralized private protocol. If a dishonest MakerDAO actor manages to push an unwanted change in DAI contracts to block a user’s funds, the honest majority could easily reject the change by following the old protocol.
>Each one of your posts has exponentially more tangents
Is this not what you were asking for though? I'm addressing all the concerns about these random web3 and defi projects, yes they're tangents but so is the whole conversation as it relates to the original article. None of that fundamentally changes the game, crypto is still a big fraud.
>Forking is a user activated decision. If an honest majority users of the chain wanted to point to a new ENS contract to resolve names to addresses, they could come to that consensus regardless of the will of core devs or root multisig owners.
Ok, with DNS you could also just do this by spinning up some new DNS root servers and trying to get everyone to use that. People have already tried to do this multiple times: https://en.wikipedia.org/wiki/Alternative_DNS_root
Again you're not saying anything new here. None of this changes just because someone decided to write the name resolution code in ethereum solidity instead of C++.
>If an honest majority of users would like GoDaddy to stop censoring X.com domain, or PayPal to stop blocking funds, they cannot fork the centralized private protocol.
I'm sorry what? This whole sentence makes no sense. DNS is an open protocol, and Paypal isn't a protocol. No you can't convince Paypal to do business with someone they don't want to do business with (unless you force them legally) but the same is also true of the big crypto companies like Binance. If they decide some customer is bad for business they can just block their wallet and force them to go somewhere else. It's the same exact thing. Also I should remind you, Paypal is now literally a crypto company that offers crypto services.
>If a dishonest actor manages to push an unwanted change in DAI contracts to block a user’s funds, the honest majority could easily reject the change by following the old protocol.
How would they do this when their tokens are already gone because the original smart contract was looted? This isn't a theoretical, this stuff happens constantly all the time, another big one just happened last week: https://www.investopedia.com/mango-markets-got-hacked-675007...
You raise a good point. As a sceptic of this space, I would counter the UX issue you mention - which is a huge hurdle for any larger scale adoption of blockchain - will realistically only be solved by billion-dollar enterprise involvement, which will inevitably mean centralization, which in turn means we might as well drop the blockchain part.
I tend to agree with that. If I were to predict how blockchain and web3 will play out I'd say it ends in mostly centralization. The majority of people don't care about the decentralized and "trustless" parts of blockchain, but they care about usability, and I just don't see how a fully decentralized system beats a centralized one in terms of usability (or cost, or scalability). Just look at the internet; it started out as something that was (for some definition) decentralized, and in the end centralization won.
That's just ignorant of the large amount of interesting blockchain-related ideas and research going on (again, most of which you don't mention in the article).