What do you mean by an endpoint? That some commercial service would give an API for pinning?
IPFS clusters have a REST API endpoint.
I do agree that it’s not ideal if commercial provider ask x amount of one time setup fee in addition of y annual service fee and use x to develop a software which only the commercial provider can benefit.
On that note, the scope of work 4-5 should definitely be open sourced and nice to fund but 1-3 and 6 seems vendor specific. You may argue that 1 is unique to ENS but HOW to pin the service is up to the vendor as long as we have 4 to check if all .eth websites are properly pinned according to the rule we specify in the RFP.
I’m used to Protcol Labs grants, which always require that all work is open source under MIT license and graphics is under CC0 (I think) license, I (perhaps wrongly) assumed a similar requirement exists for ENS DAO.
Anyhow, if the RFP is adopted I’ll add requirements for open source to the next version.
The whole idea is to have software that anyone can use to participate in the pinning of the .eth web. Like, you can rent a (cheap/expensive) server, launch the docker, and with some easy configuration participate in the pinning the .eth web.
That’s what I meant by what I wrote here:
This is where I don’t agree with. Decentralising the pinning service is the problem of IPFS, not ENS (same argument as why we should not fund the creation of decentralised Infura), and commercial providers should have sufficient expertise doing so (which is also the point @taytems is making).
There isn’t anything unique about running pinning server just for .eth website as long as tools to monitor .eth pinning status are opensourced unless I am missing anything.
It’s a problem of the .eth websites community which is a big part of ENS. Do you disagree?
I think there is, but if I wasn’t able to convince you so far I probably won’t be able to:-) I can only invite you to join our next .eth websites SG call to discuss such things.
Yes for the pinning state/uptime , but not for who offer the pinning service. pinning the contenthash is permisionless activity so anyone can try to pin by themselves if they don’t want to rely on commercial vendors doing so.
If people are not satisfy with the IPFS pinning state, is providing more support on competing protocols like Arweave or Swarm also the alternative options to consider?
How do you ensure legality of stored/served content? If someone publishes <extremely bad content>, what happens? Who is at fault?
That’s a very good question. There was an explicit discussion during the subgroup call about initiating a community moderation group that will moderate out
extremely bad content.
The problem is that <extremely bad content> is not well-defined globally under all legal systems. Not even close!
It very quickly becomes a legal spaghetti with surveillance to determine residency, and every time the surveillance or labeling goes wrong once, everyone is potentially liable for <extremely bad personal consequences>.
in theory. IANAL. But I do have to consider these things when I place on-chain votes for sponsoring work/sending funds.
We probably need to consult systems engineers in the big tech companies that render content at scale to understand best practices and liability.
This pRFP is only for a providing a software that everyone can easily deploy.
In the SG call we were hoping that the bids will include an option for someone who installs the software to filter ENS names/content. Maybe we should have put this requirement in the pRFP itself.
My point is that if you run the software it helps you to pin the .eth web, but doesn’t force you to pin it. You can decide for yourself what is very bad content and filter it.
I think that your question will be very relevant if the subsequent RFP (for running a service based on this software) will be offered. Till then, no one is forced to install the software, and you can easily decide what is bad content for yourself and not pin it.
Regarding liability, there’s something to point out: it’s actually almost impossible to know at the moment who in IPFS network pins a specific content unless the person who pins it states it publically (though they can also lie).
I’m inclined to agree with earlier comments that I don’t see specific need for this. And I see significant liability concerns.
Software that listens to Ethereum and then pins IPFS can be written in a day with just a few commands. I don’t think it needs funding. Just write it.
For practical legal reasons, the actual implementation at scale would suffer from essentially the same issues as the private ones, it’s just that the DAO would be liable for all the moderation.
Hosting a service like this I think is completely a non-starter for these reasons.
If someone would already wrote items 1-6 in thie pRFP (or even items 1-4), then there would be no need for the RFP:-)
If it’s indeed so simple (and I don’t think so), we can give a low budget for someone to write. Even a 1000$, if people here indeed think it’s so simple. Let’s see if there are bids then, I would be really happy if there would be. But why do you expect anyone to write it without compensation?
This RFP doesn’t call for the DAO to host any service… there’s no liability in funding the creation of software.
I thought it’s planning for another RFP to give grant for pinning service. Like you just said, why would anyone ping for all .eth for free without compensation? Giving decentralised incentive mechanism is what filecoin is trying to solve so I prefer not to re-invent the wheel here. I spoke to Filecoin team at Protocol labs team and they are happy to have a meeting to discuss how they can help. If anyone wants to attend the meeting, please DM me with your telegram id so that I can setup a group to coordinate. I am sure that Filecoin won’t offer 100 % of what we want to achieve but if we can reuse 80-90% of what someone have already built, then funding the missing gap makes sense.
In terms of DAO’s legal liability for pinning illegal content, I am not sure if it’s relevant. Like mentioned before, no one can stop pinning the content which someone else already pinned afaik. Filtering out illegal/bad content seems the problem of filtering not the pinning itself.
It’s a plan, not a fact. This RFP is for the software which would be great to have on its own.
That said, the response to the RFP from people outside the .eth group is obviously negative, so I think it’s obvious the RFP in this form is not going to happen.
Thanks to everyone who took the time to participate in the discussions here!
@neiman if you join this, i’d be happy to listen in as well, assuming you have interest.
Esteroids was supported recently by two Filecoin Foundation grants, and we checked this option with them. At least several months ago we reached the conclusion that it’s not ready yet for .eth websites to use (for several reasons I won’t get into here).
The best you could do is what web3.storage do: they run a regular IPFS pinning service, but use themselves Filecoin in the background the lower costs and add security.
Of course things may have changed in the last few months. If someone manages to do a Filecoin+ENS website it will be amazing and requires a series of discussions of its own (Filecoin, like every tech, got its own pros and cons). But due to time limits, since we already looked into the option, I fear I will have to skip this time.
I am afraid this is not very helpful Cory and honestly very demeaning. Firstly, it doesn’t take a day to write such a software. If it did, web3 ecosystem would be flooded with IPNS pinning services but a grand total of 0 exist so far. When the DAO is failing to fund independent teams in meaningful ways, expecting people to ‘just write it’ only makes the pre-existing problem worse. Plus, by your logic that I can somewhat relate to personally (but not professionally), a name wrapper has been written by a team of two (esj.eth) in some weeks and already shipped since mid-June; alpha manager app can be built in 3 weeks and with roughly $10,000 in funding. Yet, ENS DAO has approved funding >$4,000,000 to TNL for those tasks, among other tasks of course. My point being, expecting anyone to do anything for free is not good unless you apply that rule universally to everyone.
A pinning service that allows for browser based IPNS key self-custody is needed to allow for completely decentralised ENS websites with dynamic data-feed capabilities. This is my experience so far first hand in my pursuit to develop a completely decentralised marketplace with js-ipfs; a remote node is required to pair with the browser based IPFS to successfully publish IPNS to the network - this cannot be with js-ipfs on its own - and to achieve this I have had to deploy a single IPFS node as the remote node (a central point of failure).
Most of the public nodes do not allow IPNS pubsub features including popular nodes such as Infura therefore I can see remote nodes pinning services a necessary component. There are privatised services that allow you to publish IPNS but it’s protected with API keys which again is a central point of failure. The ideal solution is to have a public distributed network of IPNS-enabled nodes that can publish IPNS on behalf of js-ipfs enabled ENS websites and this software would allow for that feature.
I will write this software for you directly if you want, and I will do it in a day. I do consulting.
Here’s the pseudocode:
const resolver = await provider.getResolver("name.eth"); const ipfs = await IPFS.create() while true: const value = await resolver.getText("key"); if value is new: await ipfs.add(value) sleep