I found some interesting information about the architecture of this Storj Pinning service: EasyPin: IPFS Pinning Service With Smart Contract | Devpost.
I don’t know how official is this article but it seems legit since it has been written by Storj employees.
I don’t know if the project presented in the article is the official one and the same as the one in the announcement. So far, it is just a Proof Of Concept and even if there are some drawbacks, it is very promising.
@BrightSilence I think it gives us answers about how is the smart contract integrated in the service. In a nutshell, the smart contract role is to:
- receive STORJ payment for a specific CID to be pinned
- keep records of how many STORJ has been paid for a specific CID.
Storj Pinning service itself (“Storj easypin service” in the diagram) is actually hosted off-chain and listens to on-chain events to know which CID has to be pinned (meaning: someone transfered some STORJ to the PIN smart contract for this CID).
So in my understanding, I can make the following conclusion:
Storj Pinning service is off-chain and then a Single Point Of Failure. If Storj Labs closes (bankrupt or service shutdown) permanently or temporarily, you’re not guaranteed that your CID will still be pinned and available. Even if you paid upfront for the content to be stored for 50 years.
Though, even if this service is not fully decentralized, it provides some advantages over existing solutions:
- payment and IPFS storage automation: since the payment and pinning requests are done on-chain, any NFT project could implement this logic in the smart contract itself. NFT developers could even implement a storage fees logic in the smart contracts: each time an NFT is sold, a % of the transaction could be sent to the PIN contract in order to extend the storage time
- Pinning service itself (“Storj easypin service”) is centralized and managed by a private actor but the storage itself is very redundant and secure, compared to storage used by other pinning services that rely on AWS or even local un-redundant storage infrastructure.
- [EDIT] This prototype stores all the IPFS CIDs on-chain, only the storage / pinning is off-chain. Therefore anybody can check any of the pinned CIDs and monitor if the past pinning are done. (thanks to @elek)