Zooko: Decentralized, immutable and uncensorable microblogging
github.com
github.com
The underlying mistake is thinking about this like a game where you can make up rules for the government to follow. What actually happens is one of two paths:
1. You’re outside their jurisdiction, so anything will work because your local police don’t care. Maybe you have to avoid traveling to certain places or doing business with certain companies but you can almost certainly live a full life with minimal impact unless you’re doing something like leaking the secrets of a drug cartel or Russian oligarch.
2. You’re subject to their authority, which gives them a rich suite of tools ranging from arresting you, having ISPs filter DNS or network connections, launching denial of service attacks on your infrastructure, etc. How much effort they’ll expend depends on exactly what you’re doing and how authoritarian the government is, not the technology.
Thanks for describing that error so clearly and succinctly. It's one of those fundamental misconceptions that's depressingly common.
Don't assume you've defeated the them because they haven't cared enough to come after you.
But by embedding the information into the chain, if you are just reading posts I don't know how snoops could notice. You just need to run a node that keeps up with the state of the chain; there's no obvious way for network snoops to know whether you're doing that because you are using Handshake to resolve domain names or to read messages embedded in it, since you can do all that offline.
If you don’t download the entire chain, your traffic connecting to certain nodes and downloading certain sizes can be enough to track you - there are academic papers about using this to figure out what movies you’re watching over HTTPS – and that’s assuming that you don’t learn the hard way that the fast server with all of the underground content is the secret police’s honeypot.
This is all probably moot in any case because it’s tricky to build something like this which never does DNS resolution, connects to a suspicious server, etc. The average user is going to have a very hard time avoiding mistakes like that, and that’s assuming you don’t have police informants encouraging unsafe opsec or use of treacherous apps — real things which happen to dissidents and activists all over the world. Remember Citizen Lab’s report on the use of NSO’s malware to go after supporters of a soda tax?
What bothers me most about cryptocurrency proponents are that most of the claims are being made by people who will not personally suffer the consequences of being wrong if someone follows their advice. If you care about people in dangerous legal environments, that really needs to focus on changing the system rather than advocating use of electronic systems which even experts cannot use safely in those environments.
It's widely known there's child porn on the bitcoin blockchain, not familiar with any prosecutions that have happened.
Pretending that the law trumps all technology is as naive as pretending technology trumps all law. No extreme is true: you can build technological problems to solve many social or political problems (example: VeraCrypt with plausible denialability)
Are there actual bytes of child porn embedded in Bitcoin blockchain or only encrypted-or-obfuscated urls of possible websites that lead to child porn?
Example story from 2018 saying child porn bytes are not in the blockchain and non-tech journalists are misreporting it: https://news.bitcoin.com/no-isnt-child-porn-bitcoin-blockcha...
Any credible embedding of child porn bytes in the blockchain since that story?
Meaning would such attacks (attaching CSAM content to a blockchain) become more feasible at lower cost in the future?
Governments, under any law they wish to create. In some countries (eg Australia) they can (and have) created retrospective legislation that makes what was perfectly legal when you did it now illegal, and then prosecute you for it.
Seems like somebody could short Bitcoin or eth, do that, make it pubic, cause a furor, and profit despite the cost.
Given a bullet and a gun, anything inside your skull is also censorable.
Exactly. It always reminds me of that scene in the Simpsons where Burns goes through tons of security in the nuclear plant, then a dog walks in through a screen door.
Yes, you're wrong.
> Sure you could shut down some nodes, but not all of them. And even then new nodes would pop up vastly more quickly than you can kill them.
Your error is here. If prosecutors actually decide to start shutting down nodes because of CP and make successful prosecutions, it will deter people from running new nodes in that jurisdiction. If hosting a copy of the Etherium blockchain had a high chance of landing you in jail for CP possession, would you start up a new node to replace one that was shut down? Instead of "new nodes ... pop[ping] up vastly more quickly than you can kill them," most operators would get scared and quickly shut down their nodes and wipe their HDs, and the rest would get prosecuted. Maybe you'd have a few stragglers hiding out on Tor, but at that point the network is unusable for any legitimate use.
Don't believe me? There's even been a recent example of something like that. China banned Bitcoin mining, and the miners there shut down or GTFO of China:
https://fortune.com/2021/11/17/china-bitcoin-mining-ban-cryp...
> Available data shows that crypto mining no longer exists in China and that China's crypto mining ban completely upended the global Bitcoin mining industry. China went from controlling up to two-thirds of all Bitcoin mining in the world in April to not contributing to the industry at all as of July 2021, according to data compiled by the University of Cambridge’s Centre for Alternative Finance. And anecdotal evidence suggests that the vast majority of Chinese Bitcoin miners relocated their operations to places like Kazakhstan, the U.S., and Canada or simply sold off their equipment at discounted prices and left the industry.
The market will provide.
> The market will provide.
Nope, sorry. The market doesn't guarantee whatever random distributed thing you like will be resilient.
Which looks to be quite high.
>Nope, sorry. The market doesn't guarantee whatever random distributed thing you like will be resilient.
While I'm sure 'nope, sorry' felt gratifying for you to type, the market cares very little about your individual opinion. Even illegal drugs, tangible items that a drug dog might sniff out, can't be choked off.
>whatever random distributed thing you like
The 'whatever random distributed thing I like' is something with a market cap of 2.21 Trillion dollars, which is like 1/10th the GDP of the united states. You make it sound like it's my random pet individual project.
Lol. Bitcoin or other cryptocurrencies aren't illegal drugs, and thinking they would be as resilient as them is missing many important differences. For one, networks are far easier to surveil than physical spaces. For another, about the only thing cryptocurrencies are actually good for is speculation, so there'd be few incentives to keep them going in the face of severe penalties. That quite unlike drugs, which get you high and in some cases can get you addicted, so there's some natural demand.
> The 'whatever random distributed thing I like' is something with a market cap of 2.21 Trillion dollars, which is like 1/10th the GDP of the united states. You make it sound like it's my random pet individual project.
Speculators driving up the price is not proof of resilience. Bitcoin is a technology in search of a real problem to solve, not an actual good solution to anything.
All I can say about stopping crypto-currency, is good luck. The Crypto Stasi or whatever oppressive mechanism that would be needed to actually snuff it out will have to shoot me in the head to make me stop. I'd happily keep trading and mining crypto from cellphone smuggled up someone's ass into the prison or whatever else is needed to keep the system going.
What an utterly bizarre attitude.
Also, you do realize if what you describe is what it takes to keep cryptocurrency going; it would be actually, really dead-dead, despite you and a few hold outs trading it from prison ass-phones forever and keeping the technical infrastructure barely alive? To put it in crypto-terms: at that point Bitcoin will be a Shitcoin.
This is wishful thinking: Bitcoin has no value beyond what someone is currently willing to pay for it. If it becomes risky, your options for converting Bitcoin into local currency will shrink correspondingly. Similarly, if you're in a climate where you need to worry about this I would not want to use a cellular node which is so trivially linked to your account and physical location.
A little under a trillion for BTC alone, all in.
>If it becomes risky, your options for converting Bitcoin into local currency will shrink correspondingly.
So it will basically shrink to fit black market demand. Bad for speculators, good for crims.
>Similarly, if you're in a climate where you need to worry about this I would not want to use a cellular node which is so trivially linked to your account and physical location.
Then someone smarter than me wins the mining rewards.
> A little under a trillion for BTC alone, all in.
That’s not what we’re talking about, but it shows where your misunderstanding lies. The current value of a Bitcoin is what you can sell it for — there’s no intrinsic value and while Bitcoin is a fiat currency it’s much weaker than anything else because there isn’t any sort of guaranteed demand created by things like the need to pay taxes or handle government contracts. If 1 BTC is $10,000 today, it could be $5,000 or $50,000 tomorrow based solely on how much someone is willing to give you at that time. That’s why it’s so volatile historically and one of two reasons why it’s not widely used other than for speculation — no business wants unpredictable spikes in the difference between what they paid for their inputs and what they receive from their customers.
This is important to understand because what you’re doing is tossing out a big number by multiplying all of the coins by the recent hard currency exchange rate. That’s not accurate, however, unless you know that there are buyers collectively sitting on $1T USD willing to buy all of those Bitcoins. If I buy one Bitcoin for $1M that does not mean that the value of everyone else’s Bitcoins suddenly changed because nobody else is crazy enough to overpay by that much. Similarly, if I think the bubble is popping and start selling, I may not find a buyer if many people decide to wait and see — and since very few people need Bitcoin, there isn’t any pressure to push them off of the fence like there is with a fiat currency backed by a sovereign state.
> So it will basically shrink to fit black market demand. Bad for speculators, good for crims.
Not good for them if they can’t convert into the things they want to buy, and it’s especially risky to leave a signed transaction log for the police when there’s little legal traffic to hide in.
>but it shows where your misunderstanding lies
I understand market cap is different than the current volume buyers will buy at this moment. You've basically just provided an essay on what market cap is. There's no misunderstanding. Is this supposed to disprove the gigantic valuation assigned to bitcoin?
>Not good for them if they can’t convert into the things they want to buy, and it’s especially risky to leave a signed transaction log for the police when there’s little legal traffic to hide in.
This is why most black markets now use Monero or similar privacy coins. If a currency will buy drugs, then it will always be able to buy money since drugs are worth money.
The underlying problem here is discoverability. If I can find your content, so can the police. If sharing it is personally risky, most people won’t and they feel who do won’t for long. Censorship has never relied on absolutely preventing anyone from saying something prohibited — it’s always the potential for retroactive consequences. This is why successful movements have generally needed outside support, anonymous communications (e.g. printed samizdat which is most risky if they catch you when you’re actually in possession of it), or some kind of social network which is hard to infiltrate (family, religion, etc.).
For example, the Bitcoin Whitepaper PDF was embedded into the blockchain as 20kb. Here's a link to the specific transaction, encoded as a transaction with 947 outputs that hold the data: https://www.blockchain.com/btc/tx/54e48e5f5c656b26c3bca14a8c...
Looking at the record, this transaction cost 198724 bytes. https://btc.network/estimate suggests that a transaction with 198724 bytes would cost about $200.
Not bad! Anyone up for posting a picture of Tank Man to the blockchain for $200?
Ah I googled to check and -- of course it's already been done in 2017: https://www.vice.com/en/article/z4k73w/someone-put-the-tiana...
Node A contains the odd bytes for something copyrighted like "the love guru" those bytes by themselves aren't the copyrighted content and no one claims rights to them.
Node B has has the even ones.
Downloading either doesn't yield the copyrighted file, but on a person's own machine if they combine them it does.
Still illegal?
An idea that is often missed in these discussions is that if you have two random-looking files which, when XORed together, produce an interesting file, it isn't clear which of the two source files were created by someone with access to the interesting file. For example, if you produce a sufficiently large random file, I can create another file which, when XORed with your file, implicates you in copyright infringement.
My non-expert conclusion is that unless a third party can prove which file was created first, there is no way of knowing who to prosecute, like having an eye witness trying to separate identical twins (which I believe has been a problem in court cases before). There is, however, the counter-argument that merely publishing large random-looking data files is evidence of a conspiracy to aid copyright infringement, although the same could be said of running a Tor node.
Yes, after spending $500k-1 million on a defense attorney, it's possible that you could convince a judge that that content isn't 'illegal', sure. (How many judges- average age over 60- can learn what a 'striped raid' is?) But none of those other consequences can be reversed, even if you 'win' at trial
In other places, there does exist a "rule of law" that limits such abuses to a significant degree.
Yes — my original point was that this is what will protect you and that's what you want to focus on strengthening. If you don't have a reasonable civil society, technology is unlikely to help and the various ways to get it wrong mean that there's a substantial risk of false confidence.
When they show up at your door, you get to hope they believe you saying that you had no idea your system was hosting that content and/or that you never had the decryption key. If you say anything which a judge/jury believes untrue, that’s a federal crime in its own right.
Better hope that you don’t need any of the hardware they seized as evidence (possibly for years - see Steve Jackson Games), and that your employer doesn’t hear the news and sack you.
Hosts with unknown blobs of bytes can, and have, been taken to task by various authorities.
Maybe it's grey-area but looks more towards the illegal side to me.
Not a lawyer.
I feel for this dev, I had a similarly unpleasant experience with the Aragon team and decided the community was not for me.
However, the admins on their discord, were less than encouraging.
EDIT: As per the same person's advice, I'm going to start a new discord community without the toxicity.
Even cypherpunks soured on conventional IP often believe in folk trademarks, enforced by the reputational pressures to not mislead.
By the way, are you familiar with Zooko's triangle?
My 2 cents but you seem a bit too incredulous over it.
Also from the little i know about this current fad:
If you're attaching your tweets to a blockchain and 5 million users do that a couple times daily, how long till said blockchain becomes unmanageably large? Do they plan to truncate it so older tweets are lost?
The zooko system uses a "hack": since, this is blockchain, there is entire past history on the chain. So you can keep repeatedly updating a random field (like a TXT entry for some domain) and use equivalent of "git log" to read the entire timeline.
This will need a special client, which will parse blockchain for such updates, but everything on blockchain needs a special client, so not a big deal.
Re "5 million users" -- this is a very good point, and yes, if this takes off this will be significant problem for Handshake blockchain. I suspect this is the core of disagreement between Zooko's author and designers of the Handshake blockchain ([0]).
From the point of Handshake authors, Zooko system uses blockchain resources, but does not help with main mission (make Handshake team super rich by taking over existing DNS system).
From the point of "publiush", there is this Handshake blockchain which has authentication solved, and it can be used for all sorts of fun stuff. The fact that this was not original intent just makes it more fun and exciting.
Actually, I gave the idea to publius for this as he had mentioned. I'm myself excited by the no-censor DNS root system, but I'm passionate about the ownership of your own 'namespace' generically much more so than the DNS. That's why I made a pull request [1] to Bob Extension for example which later enabled publius (in his own words) to make applause [2].
I did also see what happened between publius and the admins of that discord, which is just another Handshake discord as there is no official Handshake discord, and I don't agree with what happened either to be fair. Political discussions can occur in much more mature ways on both ends of the spectrum.
[1] https://github.com/kyokan/bob-extension/pull/15
[2] https://github.com/publiusfederalist/applause (very cool)
The general idea is that you can do some pretty interesting things with DNS records beyond domain name lookup and verification.
Which reminds me of a story. At Google in the mid-2000s, we used a corporate version of Google Chat, embedded in Gmail, much as it is today. One key difference in the UI was that your status appeared as text right below your name in other people's contact lists. Your status could be active, idle, away, or any freeform text that you set it to. The status lines in the contacts list updated in real time (ordinary today but remarkable back then). So people figured out that they could have an odd kind of one-to-many chat conversation by frequently updating their statuses. Not everyone was in everyone else's contacts list, so it was actually one-to-who-knows-how-many. And people used it accordingly, as if they were shouting stuff in a large room -- "does anyone know what's for lunch today?" "I heard it's lasagna" "beef or vegetarian?" etc.
Anyway, Evan Williams worked at Google back then, and I assume he saw these ephemeral messages flickering across his screen, same as I did. I wonder whether that planted the seed for Twitter.
I wanted to mention Carmack's .plan but I thought it's too old for blockchain...
Typically one sets up their handshake node with a DNS resolver to serve records, so in theory, if everyone used handshake node ups for DNS, this could be uncensorable
If you are actually putting the page contents onto the blockchain, you have basically constructed an append-only, replicated database. Which will almost certainly become unmanageably large over time. (Why would a user want to maintain a local archive of this content? There's no incentive for them to keep it on their machine, aside from wanting a copy of the content for themselves, which they could achieve in any number of other ways. Like just... saving it to disk.)
If you aren't actually putting the content into the blockchain itself, but are really just storing a URL that points to the content, you haven't solved the linkrot problem at all. You've just created a very roundabout way to send people URLs. You could put something like a PURL in there, or a DOI, but that just moves the problem around. Again, the blockchain isn't solving anything.
Here's an easier solution, if you want to try and ensure the availability of a piece of content into the future: strip it down to its most minimal, plaintext version, and post that to a well-known (and subject-appropriate) Usenet group. It will immediately be archived in several places across the world, which have a pretty good track record of keeping ahead of the flow of incoming content and keeping it available. No, you don't get a guaranteed URL, but the Message-ID is a very unique search string that can be used later on to find it.
There's two issues at play here, immutability and availability. Immutability is not too hard to solve with a blockchain. You can hash pretty much any piece of digital content, store the hash on-chain, and prove that the content (hosted elsewhere) is identical to the original content (assuming the chain is not susceptible to massive block re orgs).
Availability is trickier. There are blockchain-related projects that claim to solve it in a decentralized manner by incentivizing a group of nodes to store it, and then periodically submit proofs that they have it stored, but I'm pretty fuzzy on the details there.
edit: Want to make it clear that I don't think blockchains are the only potential solution to these immutability and availability problems. That being said I'm pretty optimistic that crypto can solve these problems in a decentralized way, sounds like you feel the opposite, but let's try to not let it devolve into the stereotypical HN crypto flame war..
When I think of all the things that once existed and have now vanished forever for all sorts of reasons it is very appealing to imagine having a local archive.
Must be the solution to some important problem, then! Let's try to apply it everywhere and strongly insist that it's the future.
Which, as soon as one of them is violated, the entire system will be torn down to stop it.
[0] https://mtsu.edu/first-amendment/article/1562/right-to-be-fo...
As your link notes, there is no "right to be forgotten" in the US, & any attempt to bootstrap one would seem to require a partial repeal of the still-mostly-popular 1st Amendment.
A hilarious collision between US standards of free speech (& its implied right-to-remember) with the EU's 'right to be forgotten' can be seen in this NYT story about two convicted German murderers, Wolfgang Werlé and Manfred Lauber, who sued Wikipedia. The closing paragraph, especially, gave me an audible chuckle when I first read it.
It's super weird to name a project after someone who's not dead, and in this case not even that old (Wikipedia says he's 47).
Clicked on this to see if it was something he'd done.
This guy figured out you can stuff Tweets into DNS TXT records, and chose to do it on Handshake DNS instead of regular DNS, since this one is on a blockchain, which I guess means even when a name record is sold to someone else and the current record is changed, the old record is still there in the blockchain history, so you can now never delete or edit a Tweet.
"Handshake is an incredibly secure blockchain. While many other chains are easy to abuse, Handshake is not one of them."
The claim that Handshake isn't easy to abuse lacks proof.
Show HN: Decentralized, Mutable, Serverless Torrent Swarm Websites - https://news.ycombinator.com/item?id=29513547 - Dec 2021 (186 comments)
I see a strong need for a microblogging framework where users have control of their data. Mastadon is great, but I think Zooko goes farther in the right direction.
I'm not sure that's what people think of when they think of having control of their data?
You don't believe Facebook actually deletes your messages, do you?
If I post something on Facebook and regret it, I have some control over it- sure, I can't delete it off Facebook's internal tape archives, but that's really going to be one of a handful of places it will stick around after I delete it.
If I embed something in plaintext on a blockchain it will be public, to everyone, forever. This seems like having less control, or at least no more control.
The case here is "yes", that's a certain type of control: the ability to put something up and never take it down. Kind of permissions on a disk where you can only write subsequent files but no one (including you) can delete old files. That is more control compared to someone who can write files but an admin can delete them.
Edit: my point is that it is control-less environment. So it is not answer to "where users do not have control of their data" problem.
If the GDPR (which regulates stuff around controlling who can even hold and retain data) is generally considered an attempt to enhance personal control over data, it seems to be using a totally different definition of control than one where it means "it's irreversibly public forever." A lot of blockchain projects seem to sell "control over data" when they mean the latter but allow people to believe it's the former.
Bitcoin addresses are up to 35 characters, so you could think about doing something like this on the Bitcoin chain as well. Example: "zooko:hi hackernews".
In this case, my understanding is they're updating the TXT record of your Handshake address (at least that's how it could work on ENS, but that's on the Ethereum blockchain) rather than the block itself.
Has anyone had a chance to test it out?
What if someone posts naked photos of their girlfriend on this?
Furthermore it says you can block access to the chain completely do it doesn’t even do what it claims.
0: https://news.bitcoin.com/no-isnt-child-porn-bitcoin-blockcha...
Let's not kid ourselves with the idea that's even likely to happen. The main use case of stuff like this is for people to say stuff that would get them banned on Twitter, and most of that consists of being an asshole or spreading lies.
The blog about corruption will be put up on real Twitter, where the eyeballs are, and preserved by getting scraped by some organization like the Archive Team and uploaded to the Internet Archive.
There's am argument to be made that the drawbacks of revenge porn are outweighed by the benefits of free access to information.
There is nothing wrong believing some ideology.
However, enforcing your beliefs without caring about consequences is called extremism.
You can believe information must be free but acknowledge that it don’t include revenge porn. Or you can act like it doesn’t matter but then, you are a danger for the society.
Unfortunately they gave reasons and that is somehow toxic? At the end of the day, if you cannot prove them wrong with a counter argument, then it is difficult to side with the merits of this project. I don't see any character attacks on the user from the project devs.
In fact it is the other way round, and by quitting they seem to have 'won'.
I think most people in blockchain Discord "servers" are actually children. There are no other forums that I go to, where I get the same palpable feeling that I'm talking to teenagers. It's odd.
Compared with any modern social media site which is mutable and controlled by an organization who gets to police content
Edit: a good example of this is that folks have put malicious content into the various blockchains (ascii images of child harm material, or strings of data that trigger antivirus). You can’t stop it being added, and once it’s there you cannot remove it.
It really depends what you mean by “you”, of course I can't, but miners can since they are the one actively adding stuff to the chain. In fact, they may even be legally responsible for what they add to a blockchain (IANAL though), and since miners are physical entities most of whom have a publicly known IP address, it may even be realistically enforceable.
Here it is stored on a blockchain. (yay) But where is this actually stored?
Is it expected that N users will store it for everyone else?
Will everyone have a copy of the entire thing?
If this were to become popular I presume it would grow pretty big.
It is no wonder that these projects that claim to be 'decentralised' still relying on using centralised services like Discord, GitHub, Etherscan, Coinmarketcap, Coinbase, Binance and Twitter, and they scream about 'web3'. Whatever that means.
On your point towards Github there is a solution and that is to self-host the source code via using something like GitLab, cgit, gerrit, etc in which many free and open source projects already do this.
Choosing a different host than GitHub to begin with is basically self-censorship (as fewer will see it).