11 ms·
Building Permanent and Censorship-Resistant Blog with Ethereum ENS and IPFS
- vmception 5y ago> On Firefox and Chrome, you can add support for eth domains via a Metamask extension This has never worked for me Is there supposed to be some advanced setting not on by default in Metamask that allows .eth domains to resolve?
- fuj 5y agoDoes it work in China? Can a website hosted in ipfs be blocked by them?
- ernopp 5y agoNice post. For permanent storage you should check out https://www.arweave.org/ https://www.arweave.org/ rather than IPFS + centralised pinning services like Pinata. With Arweave you pay a small upfront fee to have the network store your file forever. It's the promise of IPFS+Filecoin but actually live and being used (eg by the Internet Archive). There's some decent tooling & docs for it too: https://github.com/ArweaveTeam/arweave-deploy https://github.com/ArweaveTeam/arweave-deploy Edit: Filecoin is also live and being used, I was out of date. https://docs.filecoin.io/store/ https://docs.filecoin.io/store/
- pawurb 5y agoAmazing, thanks I'll check it out!
- cle 5y agoFilecoin is live and being used, could you clarify what you mean? See eg Textile, Fleek, etc. It is currently storing ~20 PiB across ~1 million storage deals, according to https://storage.filecoin.io https://storage.filecoin.io.
- ernopp 5y agoThanks, I didn't know. I've updated my original comment
- hypertele-Xii 5y agoI read the Filecoin docs and it completely fails to explain the economic incentive. Can someone fill me in? Miners receive Filecoins as reward for storing people's data, who pay Filecoin to access their files. So... the only use for Filecoin is to gain storage access? Why would a miner, who by definition has storage, want a currency that can only buy more storage? Is there something else one can buy with Filecoin? According to Coinbase, Filecoins are "worth $50", meaning they can be traded for dollars?
- Anon1096 5y agoPeople who want storage but don't have it must first buy Filecoin, which creates a market to exchange Filecoin to and from other (crypto or not) currencies. Miners sell their Filecoin on that market.
- marcus_holmes 5y agoNice post, thanks for making it :) I'm always curious, though - there are some things that we want to censor for good reasons. The usual poster child (sorry) for this is kiddie porn. But there's other stuff - revenge porn, libel, etc that we as a society might want to censor. How do we do this on infrastructure like IPFS?
- necrotic_comp 5y agoThere's the unfortunate reality where if you make one thing censorable, you make the entire thing censorable ; there's no notion of only letting the 'good stuff' through.
- marcus_holmes 5y agoI think there needs to be. Because the consequences of keeping the bad stuff accessible are worse than the consequences of censoring the good stuff.
- necrotic_comp 5y agoConceptually, though, how would it work, and who becomes the arbiter of what's good and what's bad, and what can be shared and what cannot ? In no way shape or form am I defending the nasty stuff or saying that it should be allowed, but when defending privacy and liberty, there's a real question about how we deal with hidden lawlessness that uses the same tools people use for legitimate purposes, or, more importantly, how people use these tools in a way that a government views as illegitimate or a thought crime but are in the defense of liberty. I think there's a notion of policing that comes out of this discussion that is not part of the technology but rather a complement to it. I don't know what shape that would take.
- marcus_holmes 5y agoWell, that's where we have laws, and elections, and all that stuff. We similarly have a complete ban on violence, except for the state which has a monopoly on it. This does get abused sometimes, the system isn't perfect. But it's better than allowing anyone to use violence whenever they want to resolve disputes. I agree that there's a discussion that we technologists need to have about policing and censorship, which we're currently not having.
- deleted 5y ago[deleted]
- jokoon 5y agoI would rather be interested in a database system over IPFS or similar where you can update data, with both public and private encrypted data. Freenet is good, but it's not a database system, and it's pretty complex. Bitmessage is also pretty awesome already...
- kangaroozach 5y agoThis would be in line with my question about an ipfs commenting capability. I guess a database on ipfs could support commenting and dynamic data over ipfs.
- kangaroozach 5y agoBut maybe there is a hybrid here. Like perhaps you use a regular database in a fully encrypted manner where ipfs holds the encryption keys. So your ipfs website relies on a centralized database where the data stored is totally encrypted and protected from censorship… But I guess as long as that data is centralized it could be censored.
- jokoon 5y agoA decentralized database would be versioned, a little like GIT. In essence, only valid queries would be transmitted and replicated across peers. It would not be a single ledger, it would be a collection of ledgers. Data that is often queried would have higher short term redundancy, that would face over time. Any data submitted would be have at least 10 or 25 copies across all clients, and data would be found through a DHT. I guess public data would be encouraged since visible by everyone, but private encrypted data be limited. Trust and data moderation are also problems.
- lifekaizen 5y agoHave thought the same thing but have not seen access control implemented well[0] so been working on just such a thing[1] [0]https://github.com/textileio/go-threads/issues/295 https://github.com/textileio/go-threads/issues/295 [1]https://github.com/collabswarm/collabswarm https://github.com/collabswarm/collabswarm
- amelius 5y agoPeople have been adding censorship-resistant data to the Bitcoin blockchain too. https://internetofbusiness.com/bitcoin-blockchain-contains-illegal-porn-say-researchers/ https://internetofbusiness.com/bitcoin-blockchain-contains-i...
- phantom_oracle 5y agoI looked into this the last time someone posted about it here: https://news.ycombinator.com/item?id=27551619 https://news.ycombinator.com/item?id=27551619 One thing I realized is how expensive Ethereum domains are. The domain price is equivalent to a regular domain and then you still have to pay the gas fee, which makes it more expensive than a casual .org or .net The other drawback of these censorship-resistant blogs is that they all require plugins to access the non-HTTP domain, which all but rules out most non-technical people who don't even know what HTTP is. And while it can still be accessed over HTTP, the bottlenecks become the same companies that might comply with censorship requests.
- pawurb 5y agoYou can access https version of an ENS website without plugins by using a `link` suffix: https://pawelurbanek.eth.link/ https://pawelurbanek.eth.link/
- sva_ 5y ago>And while it can still be accessed over HTTP, the bottlenecks become the same companies that might comply with censorship requests. As the OP said, you're just back to relying on a centralized service
- viraptor 5y agoKind of. eth.link breaks the chicken and egg problem. Early adopters can stand up visible pages this way and provide signal to browsers for future inclusion by default.
- deleted 5y ago[deleted]
- samb1729 5y agoResources on the page at that URL still load from your .com domain - will Cloudflare serve those too?
- kangaroozach 5y agoAnyone know of any commenting systems that work on IPFS? In theory how would this work? Could there be some distributed application that stores individual comments on ipfs and serves as some type of routing mechanism or lambda function to aggregate comments into a master thread which can be continuously updated as a static files stored on ipfs?
- dane-pgp 5y agoOne of the building blocks for such a system might be something like: https://webmention.io/ https://webmention.io/
- chriswarbo 5y agoWebMention requires a server, so it would have all the same problems as other approaches. The fundamental problem is that when a page is created, we don't know what address the comments will get (since it will be based on their content). We can easily look backwards, from a comment to all of the previous thread, e.g.: Page <- 1stComment <- 2ndCommentB <- 3rdComment <- ... The problem is those arrows only point one way; we need to know a name/URL for a comment, rather than the page. To solve this we need a mutable reference, like DNS, IPNS, some third-party service, etc. If we have that, there are lots of things we could use to accumulate and render comments (like WebMention).
- uncomputation 5y agoSay the page is “Hello world!” (CID: `QmXgBq2xJKMqVo8jZdziyudNmnbiwjbpAycy5RbfDBoJRM`), then the comments can “point to” this CID `QmXgB…` and so on. The problem to me is not necessarily the direction of the graph but the existence of this graph at all. IPFS seems to have no method of creating “references” to other hashes, but if it did then I can see comments working unless I’m missing something.
- chriswarbo 5y agoYes that's exactly the problem: comments can include a reference to the page (via its URL); they can also reference any comments they're replying too (via their URL). Those URLs are the 'arrows' that I drew. > IPFS seems to have no method of creating “references” to other hashes Such references would be arrows pointing the other way.
- habibur 5y agoWe need an open standard for blogs, like email or news servers. Everyone publishes on their own server of choice and it gets fully replicated through API from server to server -- who ever subscribe to whom. Banned from a server? Post on another one or your own server from where subscribers will pull your posts. Digital signatures for validation. Publishing the specs will suffice. As developers can come up with various implementations based on it.
- dane-pgp 5y agoThat sounds a lot like ActivityPub and the Fediverse.
- deregulateMed 5y agoEmail has a spam issue. Lots of junk. Lots of false positives for spam.
- habibur 5y agoYou subscribe to servers or users that you like to follow. Similar to Twitter/FB. Unsubscribe those that you don't like or are spammy.
- chriswarbo 5y agoSounds like Secure Scuttlebutt http://scuttlebot.io http://scuttlebot.io
- Taek 5y agoThe reality is that we aren't very close to a world where everyone runs their own servers. Maybe we'll get there some day, but that feels at least a decade away. We built an alternative platform called Skynet, which allows anyone to host decentralized webapps like blogs, or even more advanced things like chess tournaments. There's a design pattern called a DAC that makes it easy for multiple frontends to use the same data, without anyone needing to learn a data spec.
- dimes 5y agoIt would be much better to store the blog content directly on the blockchain. This is very expensive to do on Ethereum, but should hopefully get cheaper over time. Is IPFS really resistant to censorship? It seems like any state-based actor could easily block access to IPFS nodes if they were serving a specific CID.
- deweller 5y agoIt is not censorship proof but it is resistant to censorship. A state actor would need to block all IPFS hosts as soon as they begin to serve a specific CID. This is a game of whack-a-mole that would be difficult to maintain.
- hanniabu 5y ago> but should hopefully get cheaper over time. It will get cheaper to "save" but more expensive to access
- Taek 5y agoI could be incorrect, but my understanding is that the DHT used to route through IPFS is not robust to attack. A bunch of nodes could join the DHT and start maliciously routing data in circles, and that would be a very low cost way to significantly disrupt data availability and uptime on IPFS. A few papers exist that describe byzantine fault tolerant DHTs, but they make assumptions about the percentage of evil nodes, which requires some method of authentication / Sybil resistance to be effective. Also the network cost blows up substantially, and DHTs already aren't very fast in terms of loading things like web pages.
- klaudioz 5y agoI did something similar using https://fleek.co/ https://fleek.co/ using a nuxtjs template I edited in my GitHub repository: https://github.com/klaudioz/klaudioz.eth https://github.com/klaudioz/klaudioz.eth It was very easy to set. No code. My site is: https://klaudioz.eth.link/ https://klaudioz.eth.link/ Also i bought the eth domain when the gas was a very low price.
- Proven 5y agoIt's very secure from attacks because nobody knows it exists.
- paulpauper 5y ago"permanently censorship resistant" "requires cloudflare"
- RhodoGSA 5y agoonly requires cloudflare if your node goes down. Also, you can use the coin to incentivize others to host your info.
- superkuh 5y agoThe most censorship resistent blog is one that doesn't use any resources owned by a third party. Unless you're rich that generally means hosting from your home computer. It's simple, It's effective (for most non "web scale"/commercial use cases), and it's legally safe.
- chairmanmow 5y agoYou have to renew .eth domains yearly and they are a ripoff... IPFS is about as permanent as a .torrent file imho until proven otherwise. Like if you really wanted to accomplish this in the blockchain, everything's there for you without using some DNS abstraction (use a smart contract address, it won't change or expire) and without using IPFS, you can store on the blockchain. IPFS and ENS aren't necessary, and could be fads.