Researchers from several institutes worldwide recently developed Quarks, a new, decentralized messaging network based on blockchain technology. Their proposed system could overcome the limitations of most commonly used messaging platforms, allowing users to retain control over their personal data and other information they share online.
People are still looking for problems to which blockchain is the solution.
So far we’ve found none.
How about the problem of stupid people having to much money?
Best suggestion so far.
deleted by creator
Most of what you describe is the inverse: Problems for which blockchain is the cause, or at least part of the problem.
That a speculative digital asset with no tangible value could perform better than other objects of investments, including currency, should not be surprising, that’s just group psychology and concerted effort to make people want to invest in intangibles.
Argentinian currency might be tangible, but its valuation isn’t.
I would beg to differ. It seems to be pretty useful for Software development. After all git repos are Blockchains. That being said: use a solution that fits your problem, don’t try to adapt a problen to your solution. Thats something a lot of the crypto- or AI-bros are apparently misunderstanding
After all git repos are Blockchains
No, git repos are merkle trees. Blockchains happen to build on merkle trees. Git is not blockchain.
I suppose it depends on how exactly you define a blockchain. If you add distributed consensus algorithms and a requirement for BFT resistance, then it clearly isnt. Its the usual issue with definition…
The definition isn’t the problem. Git isn’t blockchain, never was, never will be. Thank god Linus
Since a definition is descriptive, not prescriptive, I think it’s paramount.
You’re right. A blockchain doesn’t solve the double-spending problem, so don’t create decentralized payment networks. Let’s use something like Paypal instead, you know, the one that will sooner or later merge with this single-letter company.
You can also use Google Pay or Apple Pay, and developers can use their stores to monetize their apps. Just 30% or so commission and the apps ‘adjusted’ to the stores’ rules (to be fair, there are not really soooo many trackers, right?).
Proof of provenance isn’t a use case either. Use Amazon servers. Microsoft Azure. They store all the data, and it’s safe.
We don’t need companies like drife.io or particl.io. We have Uber and Amazon. Centralized services are much better. They are so good for humanity that their companies don’t even have to pay taxes.
You’re pointing out plenty of good problems that wasting CPU cycles and lack of authority doesn’t solve.
Maybe if we actually looked harder for a solution instead of throwing one that doesn’t work on the problem and hyping it up to be everything that it will never be - we could actually get somewhere.
I mean it all sounds fine when people spin it, but take a step back and look at the problems inherit to the “solution”.
Just based on your phrasing and tone I’ll probably never convince you, but don’t trust me. There’s plenty of people out there who’s described the problem way better than I ever will.
And there are solutions to the problems you point out, they just don’t involve useless computing and executing arbitrary code.
But if you really want to get into fixing these problems you need to get involved with policy (ie. politics).
We need to fix politicians being elected thanks to corporate capital, both direct and indirect.
We need to fix tax regulation globally. We need to stop the race to the bottom where companies incorporate where they can funnel money back to the mothership without paying tax.
We need to fix education, so people get a clue and don’t elect corporate puppets or flat out fascists.
We need to fix healthcare.
We need to fix environmental policy, and thanks to the environmental policies for the last 200 years, the environment as well.
Heck, we even need to fix the Internet.
And all the idealism in the world - the idealist blockchain crowd becomes useful idiots because they’re busy with something that won’t work out (instead of pushing the world in a better direction).
I do however highly recommend a few talks with Larry Lessig:
And on DMCA (you may want to start with this):
Yea, you lost me at “blockchain”.
I’m a simple man, I see blockchain, I downvote.
I understand the impulse, but I think that’s a knee-jerk reaction. I am immediately suspicious of any technology that claims to use blockchains.
Possibly. But it’s a well-deserved knee-jerk reaction. I just really hate reading anything the sick mind of a cryptobro has come up with.
It’s just something for a very specific usage.
https://gist.github.com/joepie91/a90e21e3d06e1ad924a1bfdfe3c16902
You shouldn’t be so intolerant. But I agree, here it does look like bullshit.
Publishing everything on a blockchain means that everybody who’s running a node has access to a copy. If confidentiality of communications is an issue, this may as well be a data breach with a few more steps. Also, how does giving everybody running a part of or monitoring the blockchain equate with “control over personal data?”
Centralized control: Only one entity can see it. Blockchain: Lots of third parties run a node, so every node can see it.
Each channel has a separate ledger: That makes surveillance of a particular communications channel much easier. Thanks. Also, each user has to have a keypair; great for pseudnonymity, lousy for repudiability.
Messages cannot be altered but they can be audited to prove their metadata. Did they learn nothing from the Obama administration? At this point in the paper I can’t shake the feeling that this is a deliberate effort to invert all of the properties of privacy.
Smart contract: Yay, more deliberately memory unsafe programming. I guess they never played with Core Wars as kids, either.
An attacker would be unable to breach the network: An attacker would just have to stand up a node. If channels are side ledgers on a blockchain, and the network assumes that nodes can come and go (which they all do, as far back as bitcoind), any node can join, say “Hey, I’d like to join this channel,” and get at the very least a pointer to the side ledger for that channel.
Long-term storage of communications is dangerous, mm’kay?
Publishing everything on a blockchain means that everybody who’s running a node has access to a copy
I’m not sure that’s the case, although the article is rather vague. It says:
[…] the user must register with a node of their choice using their public key. Once registered, users can create channels and invite others to join. Each channel has a separate ledger hosted by the nodes. […] The data in the ledgers are encrypted, and the secret key is managed by the users of the channel.
IIUC, nodes will not have access to private keys, neither those from users nor those from channels. Users could use their keys to exchange the channel’s private key without the node getting to know it. I don’t quite understand how user’s would exchange their public keys without the node being able to play MITM, though…
Edit: Removed an irrelevant sentence from the quote
I believe their point was that even encrypted messages convey data. So if you have a record of all the encrypted messages, you can still tell who was talking, when they were talking, and approximately how much they said, even if you can’t read the messages.
If you wait until someone is gone and then loudly raid their house, you don’t need to read their messages to guess the content of what they send to people as soon as they find out. Now you know who else you want to target, despite not being able to read a single message.
This type of metadata analysis is able to reveal a lot about what’s being communicated. It’s why private communication should be ephemeral, so that only what’s directly intercepted can be scrutinized.
That was exactly why I said “Did they learn nothing from the Obama administration?”
From 2014: “We kill people based on metadata.” (Michael Hayden, former DIRNSA, 2014.ev)
There is no “harmless” here.
But in this case, the metadata is not accessible to outsiders.
If you can see it, you can analyze it. Metadata is more than message headers; traffic analysis generates usable metadata, too.
Any form of internet communication is potentially susceptible to traffic analysis, so that flaw isn’t specific to this particular design.
The goals here are to address some of the other weaknesses of communication protocols, ie lack of auditability and reliance on a central server. They do not claim it’s completely impervious to attack.
Not sure how this would work, but potentially one advantage of blockchain over peer-to-peer is less metadata needed?
All the encrypted messaged just get dumped into the public blockchain, you might be able to glean who (or at least where) a message was sent from, but the reader could be anyone with a decryption key. A bigger channel, like a newsletter type thing would just involve more read keys being available. Kind of like old school cold war numbers stations or encoded messages in the classifieds. You might be able to figure out that KGB agent Pyotr placed a classified ad for “Golden Lab, found near 5th Ave. and Main St.” in the “lost and Fond” section, but there would be no way to know which of the papers many readers would be able to decode the message.
Of course the practical problem would be the size and scale of the blockchain. I think Bitcoin 1.0 was only able to do 7 transactions/second. With each message a transaction, and each read requiring the reader to pick out their message from the pile, my above hypothesis would have to be compromised in some fashion to be usable.
I’d much rather have a full peer-to-peer solution like Veilid
The cult of the dead cow has recently announced promising projects. I’m also looking forward to them.
What the fuck do encrypted messages need a ledger for?
Just… read the article, I guess. The third paragraph is your answer.
So your thoughts can be monitored by authoritarians.
Because Postgres is too difficult? :)
I don’t see how blockchain (in this case) adds any value over a federation like Matrix.
It adds value by helping convince clueless investors to give you money. I’m entirely serious. There’s a significant number of investors that think blockchain technology is a good thing. Doesn’t matter that it’s a terrible solution to practically every problem. The goal isn’t to be a good solution. The goal is to make money. They only need to convince a few clueless people to give them that.
This system is federated.
The blockchain means that you can access your encrypted messages even if your server goes down.
you and everyone can access those encrypted messages. You are the only one that can decrypt them, sure, but as others have already mentioned, the history of encrypted messages is almost as bad as the actual content.
No, this is already solved without scam shit tied in.
Eh, I wouldn’t go as far as calling distributed ledger tech a scam. Sure, 99% of the current ecosystem is at best digital tulip trading if not an outright scam, but that doesn’t mean everything blockchain-related is a scam.
There’s valid use cases for what’s essentially a distributed database with immutable history (or a “smart contract” system which is essentially a distributed singleton VM with immutable state history), but NFTs etc ain’t it. Fintech will probably incorporate some of the stuff that came out of the blockchain craze, but I figure that at best it’ll be like Linux; most people who use the internet interact with Linux systems pretty much all the time, and of course Android is a Linux-based phone OS, but very few actually run Linux or even care about the whole concept. It’s just part of the infrastructure, which in my assumption some kinds of blockchain-ish technologies might be. Probably just not the public networks people associate with it now, but private / internal ones with limited validator sets etc
People keep saying there’s a valid use case for this but what is it? Basically any distributed ledger would actually perform better, be more secure, and be easier to use as a centralized database.
Well… Banking. I’m not going to write a long explanation like other commenters, but each bank having their independent ledger and syncronizing them each X time, with lots of manual intervention is not optimal. Ditributed Ledgers allow for banks to share the information with each other and for transactions to be done instantly, without dispute issues. This technology is already being used internally within the financial industry, and it’s going to stay since it facilitates a lot of internal work to the beenfit of the users.
Edit: As an extra point, these distributed ledgers are not really distributed between everyone, banks store them in secured environments and share them with other partner banks, in a controlled environment.
Basically any distributed ledger would actually perform better, be more secure, and be easier to use as a centralized database.
Performance is relative to what your goals are (extremely high transaction volume isn’t always something you need to handle, and also isn’t guaranteed to be impossible with a DLT either), and centralized databases / services aren’t always the best fit for every problem. Regarding security, well, I really don’t see how you came to that conclusion. Guess it depends on what exactly you mean with security?
Real estate is pretty commonly seen as the prime example of a field where a DLT is a better fit than a more “traditional” centralized service. As an example let’s say we want a system that could be used to record changes in property ownership, so you need auditable state changes and an immutable history, and you want some sort of guarantees that generally someone who’s not authorized to do something to a property isn’t going to be able to do it by just issuing a state change (ie writing to the DB.) Your stakeholders are probably going to be the local government, licensed real estate brokers (if that’s a thing in your jurisdiction), possibly all private property owners who want to sell their property etc. etc. You absolutely could build this with a “traditional” centralized service that eg. the GOBERMENT (or whoever trusted stakeholder) runs and operates, but then you have a single bottleneck that’s entirely dependent on a single stakeholder, and you still need to implement eg. audit trails for state mutations, access control, etc. etc. As I said it’s absolutely doable, but many of the things you’d do to build it are essentially just reinventing some sort of DLT but in a monolithic package and without any of the benefits. Take state immutability for example; you’d probably be building some sort of hash tree or chain anyhow but now you have to do both the hashing and the verification and validation manually instead of the infrastructure doing it for you, and it’s nontrivial to do right so the attack surface here is not going to be small in a home-grown solution. You’ll probably want to require that all state changes (transactions) are signed by a known trusted actor, so you’ll need to build that too, so here’s yet more attack surface. Also you probably don’t want to run literally just a single instance of your database so you’re going to want some sort of replication, which may need some legwork depending on the database system used. Compare this (non-exhaustive) list to what your average DLT framework like Hyperledger guarantees “out of the box”, where the infrastructure itself gives you guarantees about the immutability of history and who is allowed to make state changes to which parts of the state (in our fictional case you’d want a Proof of Authority consensus mechanism, so anyone making state changes would have to have a valid X.509 cert issued by some trusted CA, but with public reads as property ownership is a matter of public record), which is by default distributed so there’s no single point of failure, and is eventually consistent within known parameters and known behavior.
Distributed systems definitely do require more skill to operate so the benefits need to outweigh the costs (and they often do, which is why we eg. tend to use microservices for high volume systems), but I honestly fail to see how for example a project using Hyperledger tools (and there’s more than just the DLT Fabric), which are specifically built around privacy and security, would automatically be less secure than a centralized system where you have to build the same features yourself, meaning you just have to trust that you did everything right.
Real estate is a terrible example of where to use a blockchain. Someone gains access to your private key and you just… don’t own your house anymore? There’s not really a recourse here since it’s controlled by the distributed system. On the other hand, the government which is entrusted with the authority to enforce laws can hold onto the this information in a more secure way than the average person. And if something does happen they have the ability to fix problems without issue. I read all these stories online about wallets getting compromised and contents stolen with very little recourse and am confused why I would want the largest purchase that I will ever make in my life tied up in that. Doubly so because that purchase is explicitly tied into the central authority of your government. It’s not like cryptocurrency where it can exist externally to the current legal system. Real estate MUST be tied to government in some way.
Your point about how building a secure, central database will have so many technical hurdles to overcome is… odd. I mean, sure it’s tough to make a secure database. Your answer is that some blockchain framework has certain security characteristics while ignoring that literally every secure data store that currently exists is running on a central database and just fine at that. Like, what do you think that your bank is using at this very moment? There are multiple companies with well-audited solutions selling and running secure databases RIGHT NOW. You just hand wave away the ability to make secure databases while ignoring that they already exist while expecting us to buy into the promises of some new, unproven framework like Hyperledger. The only thing that blockchain adds is immutability, which is something that I think would be a poor idea anyway.
Lastly, blockchains only work by having users with a financial stake and incentive. With proof-of-work you’re staking the cost of the electricity you’re spending, with proof-of-stake the crypto you’re staking. The point is, they have this whole weird financial structure to keep people running this distributed ledger. How would that even work for real estate? Do you want people with perverse financial incentives muddling with the system that controls your ownership OF YOUR HOUSE? Or the government which is empowered by the people to serve them. And if it fails those leaders face expulsion? I know where my answer is.
would automatically be less secure than a centralized system where you have to build the same features yourself
I just want to hammer this point home one more time. This is a false comparison. You do not have to build these features yourself. Like, have you heard of this tiny company called “Oracle”? Or maybe this really obscure one “Microsoft”? They both make exactly this product.
Someone gains access to your private key and you just… don’t own your house anymore?
Under the current system you don’t even have a private key. In some countries it’s fairly common for someone to lose their home because someone bribed the official to change the title records.
I think that key management is blockchain’s Achilles Heel, but there are some interesting potential solutions
In some countries it’s fairly common for someone to lose their home because someone bribed the official to change the title records.
If the state, with its monopoly on force, says that you don’t own land, what difference does it make if it’s a piece of paper, a record in a traditional relational database, or a transaction on the blockchain?
Title ownership of a piece of land is only as good as the enforcement mechanism of that title mechanism. Changing from recorded paper deeds to PDFs in a centralized database made sense (and was backwards compatible). Changing from PDFs in a centralized database to a blockchain doesn’t actually change the enforcement mechanism, and makes it less efficient. So what’s the point?
Obviously if the state doesn’t enforce the titles they’re useless. Sure if the president of a corrupt country decided he wants your house he’s gonna get it. But a DLT would prevent lower level corruption that relies on the benefit of the doubt.
If a corrupt official uses their access to change the PDF title of your house to be in his name, he could take that to court to take your house from you. A ledger would prevent that change from happening, or at least leave a permanent record of the change
You absolutely could build this with a “traditional” centralized service that eg. the GOBERMENT (or whoever trusted stakeholder) runs and operates, but then you have a single bottleneck that’s entirely dependent on a single stakeholder, and you still need to implement eg. audit trails for state mutations, access control, etc. etc.
So before anyone comes forward and claims that their innovative solution will improve on the status quo, I generally expect them to be able to describe the status quo. And here, you haven’t done so.
In the U.S., county recorders allow for anyone to record to the centralized ledger (and this is literally paper technology that long predates computers), and the transactions themselves are validated when necessary to resolve a dispute: one can only sell what they already own, and if they sell something they no longer own it. The law allows for certain types of involuntary transactions: foreclosures, execution, inheritance (where the owner can voluntarily prescribe some rules but doesn’t get to control the timing of when those rules get executed, and the failure to affirmatively write stuff into a will means that the inheritance falls back to defaults), divorce, partition, adverse possession, reverter, and then a bunch of special rules that apply to governments like tax foreclosures or eminent domain. And no matter what the actual papers say, ownership of land still must be enforced by a sheriff.
Which portions of this status quo should be decentralized? Or centralized? What would the benefit be?
In my opinion, real estate is the worst candidate for decentralizing the ledger.
Electronic voting, maybe? But for most cases a transparently ran centralized ledger should work better.
electronic voting is a bad idea regardless of any blockchain integration
Voting on a blockchain is a great way to enable outright purchasing of elections. If I can prove I voted a certain way, I can sell my vote.
deleted by creator
You will vote as we say or you will be fired from your job.
Voting requires anonymity.
That’s entirely what you would want a centralized database for; so you can put an authority you trust in charge of it, to ensure it’s fair and auditable.
Using a blockchain would give a bunch of people very strong incentives to perform a 51% attack, find a flaw in the protocol and exploit it, or just bribe, threaten, or cajole the programmers who created the chain to patch it to do what they want.
A well financed actor would find it much easier to hack a centralized database than to hack a modern blockchain
In what sense? There have been numerous hacks of existing blockchains even within the past few months. Also of smart contracts on those blockchains. Certainly way more than, say, bank databases.
Not a fair comparison. Bank databases have been running since the 70s on code that has barely changed in that time. They’ve been battle tested for decades, so it’s unlikely a new exploit is going to be easy to find.
On the other hand, if you wanted to run an election on a centralized database, think about what that means. All the votes need to go to 1 server somewhere, which will tell us all who won the election. A server that is run by an IT team who will have root access and could be phished, or bribed, or threatened. A server that only gets a real-world test once every few years.
Users have no idea if their vote is in the database, if it’s correct, if it got counted in the final vote or not.
Don’t get me wrong, I don’t trust the current crop of DLT tech more than the pen and paper method, but at least it’s more transparent than a centralized system
Well, not a regular blockchain: you don’t want individual votes to be public and easily linked to the person making the vote.
Blockchains are possibly the worst way to implement voting at least in a “public” / governmental setting. You need to be able to do zero-knowledge votes, meaning that you want it to be impossible to look at a “vote transaction” and say who did the voting and who they voted for, but also know with (practically) absolute certainty that the vote was done by a valid voter and isn’t a duplicate, and then finally you want to be able to tally the votes per candidate even though you can’t look at an individual vote and say who it was for. So any sort of “classic” blockchain is almost the literal opposite of all that, with public transactions that are tied to public identities and where everyone can tell what happened. What you need is something that either allows or is based on zero knowledge proofs, but I honestly dunno if any current project can do this out of the box, haven’t kept up to date that much lately
deleted by creator
If you need the person to walk somewhere, physically show a voter ID to someone to be let into a private area where they receive their private key in a machine for them to then vote remotely, wouldn’t it be easier just to remove the entire technology part of the equation and just make them put a piece of paper inside an envelope in that private area, so that they can then put that piece of paper into a public ballot box right after?
Electronic voting is a bad idea in general, blockchain isn’t going to fix that.
deleted by creator
Just what I want, a permanent record replicated everywhere for every flippent thing I say. Hard pass.
Blockchain is a solution in search of a problem. And it hasn’t found one to solve yet.
retain control
Notably, in Quarks, every user operation and information exchange that takes part on a channel is carried out via the ledger’s so-called smart contract. In practice, this means that no-one outside of a channel should be able to send or read messages on it. In addition, all messages on the channels cannot be altered or edited, yet they can be audited, meaning that users should be able to derive information about when they were created, sent, delivered, and so on.
Ah, yes. I definitely want anyone in the world to figure out who I’m communicating with by checking the timestamps of when various messages were delivered. Much like how the “anonymous” Bitcoin could be pretty easily de-anonymized just by checking where various bitcoins go and inferring who those wallets likely belonged to.
There are lots of knee-jerk reactions because people saw the word “blockchain” in the title. It’s as intellectually lazy as the shills who refuse to criticize the crypto industry for its shady parts
This just sounds like a decentralized Slack, with a blockchain to ensure all nodes have the same data. The details are sparse, but this sounds like a proof of authority system to achieve consensus between authorized nodes in the network. No cryptocurrency involved. It’s just using blockchain as a consensus algorithm between decentralized nodes(which is what it was designed for).
It doesn’t say, but since their target demo seems to be enterprises, my guess is that the idea would be companies run their own node in the network, which would allow a high degree of security and be interoperable with other enterprises.
“But you could use a federated system…”
I’m all for the growth of the fediverse, but it still has many problems. If you’re running a large enterprise that needs a guarantee that all your messages are synced, in the right order, and nothing has been removed later, a proof-of-authority blockchain is a better system than something federated
This just sounds like a decentralized Slack, with a blockchain to ensure all nodes have the same data.
We’ve had this since the late 1980’s. It’s called IRC.
Fuck no. What is better is p2p, or federated. No Blockchain is needed, and this is one of those examples where Blockchain is jammed into something where it really doesn’t need to be, nor should it be. The last thing we want is for our encrypted messages be permanently stored. Element is federated, and they’re working on getting it to be p2p. Some nerd will probably mention XMPP too.
I disagree here. with p2p/federated you have to worry about if your microprovider goes out. I think blockchain would be a useful way to keep a users preferences and to keep usernames distinct.
p2p has no middle man. There’s nothing to go out. Blockchain is a literal plague, especially in this scenario when a simple database can handle this. MXIDs already provide distinct usernames. Preferences are often stores client side.
You do not need to burn a tree, push a Ponzi scheme, and make this data permanently public to solve this. That is a terrible idea, and any solution you come up with will be always better without a Blockchain.
The blockchain Is not public. It can only be accessed by nodes whose members are in the channel.
I’m curious whether without a blockchain there is a solution that (a) allows users to access all their encrypted messages even if any individual server goes down, (b) preserves a record of all communications/edits, and © is resistant to record tampering by a malicious server admin.
Yeah it’s called storing things client side lol.
Also the whole point of encryption is that it can’t be tampered with by a middle man. We’ve accomplished all of that already.
Storing client side isn’t good enough, your records could be lost or destroyed. That’s why people use Gmail.
And it’s not just third parties, what about untrusted recipients? For example, how do you prove you sent someone a message on a decentralized system?
you can store things encrypted
also do you know what identity keys are? We’ve solved that decades ago with pgp keys lol
Even if it’s encrypted, it can be lost or destroyed if it’s stored client side.
I know what identity keys are, but they don’t solve the problem. If someone says they didn’t receive your message, the best way to prove you successfully sent it is to use a distributed ledger.
I don’t think you get it. With a distributed ledger your username could be unique. sorta like the digital art pieces. So if your instance goes down you register at another one with your token and it recognizes you and associates you with everything it conceivably can (some stuff may only have been saved on the instance which is gone). So if the new instance has magazines you interacted with it should still be able to see comments as yours and such.
Buddy wait until you hear about pgp keys or identity keys in general. No ponzi scheme and tree burning required!
Again, there’s always a solution that’s better and doesn’t need the blockchain. Blockchain is literally never the answer unless you’re trying to kill the environment and scam others all in one go.
tree burning is bitcoin specific implementation. distributed ledger does not rely on processing power being wasted for no good reason. Believe me I don’t like bitcoin or its ilk but am fine with grid coin for example. pgp keys are for authentication and don’t store information. distributed ledger is not for authentication its for just like it sounds. keeping a ledger.