Shift - An IPFS-based CryptocurrencysteemCreated with Sketch.

in currypto •  7 years ago  (edited)

Shift - An IPFS-based Cryptocurrency

This coin was brought to my attention by "Blue trade", who was going by an alternative name a few weeks ago. They were persistent on pushing Shift as "the one", as most of these pumper-users do. Shift is marketed as the next Ethereum, Sia, and Bitcoin all in one nice package. Words like DApp, proof-of-stake, forging, and smart contracts are thrown around in its presence. Out of skepticsm I decide to investigate what this is all about.

What Shift is and is not.

I figure the best way to know what Shift really does is to go to their website and use Google. Their website is not very informative, despite having "information" all over it.


At first it looks amazing and informative, but the key is in the details. Lets break these points down.

  1. Peer-2-peer data storage - using IPFS
    IPFS is a distributed file system that is typically setup in a peer-to-peer (p2p) configuration. So Shift uses IPFS to store data. How does it enforce users to keep data? How is data replicated for redundancy? Right now IPFS is a completely free network/storage solution run by volunteers.

  2. "Monetization of user-created content is seamless"
    If people are just paying for anything with Shift, it's no different than paying with Bitcoin or any other cryptocurrency. They are saying since you store data on the Shift network (which is just regular IPFS...) and you must pay to store it there and download it, this is monetization of whatever you have stored. This could be a video or software for example.

  3. "No single point of failure and no single provider to censor."
    Ties back to point 1 - using IPFS, and has nothing to do with Shift itself. In fact, there is nothing stopping your IPFS host from dropping your data. This is true of any storage solution in existence, but alternatives (Sia) have solved this issue through incentives.

  4. Turing-complete blockchain
    Shift is not turing complete like Ethereum is. There is no network-wide virtual machine running.

  5. Decentralized marketplaces
    Implying that markets can be hosted on the IPFS network. Why Shift matters here... not sure. If anything, Shift users will have to pay to access these IPFS/Shift marketplace websites.

  6. Uncensorable social media
    Once again not true. Hosts can decide to drop media they do not like. And once again, IPFS specific and nothing to do with Shift.

  7. Identity and reputation - "Permanently embedded [...] to make it tamper-proof"Like what every other cryptocurreny can already do?

  8. "The new web is versatile and adaptable. Anything that can be done on the world wide web, we can do better."
    Well at least the Shift team have a positive outlook on their future.

At this point I have no clue why Shift even exists. The project is IPFS/Shift, or as I've recently taken to calling it, IPFS plus Shift. Why not IPFS plus Bitcoin? IPFS plus Ethereum? Now that would be a crazy combination to see come to life.
Really the only way I can see Shift surviving is if they merge themselves with the IPFS project. It's necessary to do this to enforce storage payments. Another major problem I thought of is, what happens when users just want to use free IPFS nodes? Then Shift really won't have any use. They would have to use specific Shift nodes for payment-related operations.

In all my confusion, I figure the best course of action is to ask the Shift developers themselves what exactly Shift is for and how it works. While waiting for responses, I dig a little into Shift's source code.

Source code under the magnifying glass

There are currently two big projects under the Shift name: Shift the cryptocurrency; and Phantom the IPFS GUI client. Phantom uses Shift to pay and receive money for storage. Seeing this I wonder, how are Shift developers integrating their product with IPFS? There must be a level of integration because IPFS is not built with payments in mind, unlike say the Sia network. If this integration somehow works with the existing IPFS network, then maybe Shift has more potential than I initially thought. It would open a massive door to small p2p websites or web applications.

The source code is mostly JavaScript, using NodeJS. It's very organized. Shift is actually a fork of the Lisk project. Unfortunately Shift developers are not pulling changes downstream from Lisk, which speaks wonders. Not pulling new changes from there means they are disregarding bug fixes, efficiency improvements and features a much larger team is pushing out. The biggest feature they will miss out on, I would say the one feature that actually gives Lisk appeal is this:

In no time I have a mental image of the state Shift is in. Shift is alpha software. It is weird to say that because they are built off of Lisk, but all their promises are just non-existent.

Their Phantom IPFS client is running on a testnet with a proof of concept "DApp" running. This is not a distributed application like what Ethereum offers. They call it a "DApp" because the application (which is just a web application hosted on a semi-IPFS network) is hosted on many hosts and will eventally use its own sidechain for payments. This is equivalent to me saying Chrome is a DApp because it uses the Internet to access information and applications and you can pay for things using any payment processors put on a web page.

A developers answers me

One particular developer reached out to me, Ralf S. He was somewhat helpful answering, but not thoroughly. I have attached the discussion between us for full disclosure as always. These are the questions (and questions to the answers of those questions!) I asked:

1. How is Shift tied to IPFS

Shift is a fork of Lisk, so a blockchain written in JavaScript, secured by 101+ VPS nodes. It supports decentralized apps (dApps), and the first Shift dapp already runs at out testnet (latest code, different blockchain). This dApp is called Phantom and brings a UI for file management, directly at the IPFS network. Added content can be resolved from any other node running IPFS. The dapp also includes a wizard to connect your hashes to TLD's.
The next step will be a reward system, so all nodes (not only the 101 forging delegates) running Shift software can earn tokens by offering decentralized hosting. Phantom runs it's own sidechain, what makes custom fees, and transaction types possible, without affecting our mainchain.

He does not answer me how Shift is tied to IPFS at all. From the sound of it though, they are in fact maintaining their own IPFS fork.

2. How does Shift distribute to hosts?

Distribute data? through a custom built deamon/api. Distribute Shift tokens? People can forge or buy Shift, and deposit some at the Phantom sidechain. Multiple nodes will be found there, offering their service for a X fee for hosting (pinning) data, costing Y tokens for Z days. It should be easy to clone that pinned data to multiple nodes at once, without re-uploading.

Here I meant how does Shift distribute its tokens for redundancy storage. He responds:

"Distribute Shift tokens yes. If I want to store something on IPFS network, am I just storing it on one node when I pay?"
You can add it to a lot of nodes for free too. But with paying your data will be pinned, so it won't be wiped by the garbage collector from time to time (wipe cache alike)

So manual redundancy and full copy redundancy.

Shift also has no proof of storage implemented right now. You can give a user Shift but there's no guarantee they have kept your data. Ralf says host nodes will have to resolve a hash of the data periodically. This is similar to what Sia does, except providing hashes does not prove data is stored, only its hash. Sia requires a block of data to be sent to the renter in order to verify it in a time frame.

3. Does the Shift network make use of the current IPFS network, or its own?

The nodes running at testnet share the same network. Because this way the hosted data can be resolved through all other peers too.
If we wouldn't ask a fee for pinning data, there would be a risk of people spamming our nodes. So it's important the reward system is ready before we bring Phantom to mainnet.

Vague answer to the question - he says it uses the current IPFS network...But if that's the case, what's stopping people from just using free / non-Shift IPFS nodes? I poke a little more, and Ralf says:

"Well that's only if IPFS accepts the changes Shift team is doing, right?"
We built our own binary. It's the default IPFS daemon (written in golang, downloaded by our installer) with our enhancements to use it at public VPS nodes. We might switch to js-ipfs at some point. But go-ipfs offers more at this stage, like publishing hashes for DNS.

So yes, it looks like my assumptions are correct. In order for Shift to have mass adoption by the current IPFS network they will have to merge code or coordinate together.

4. Do those delegates even have the CPU power to handle every transaction on the network?

Today the network can handle large amounts of transactions. We could look back how much txs it handled well, when we tested broadcasting a huge amount per block. Do you still have some numbers from your tests @mq?

@mq responds:

regarding transactions - currently network can process 25 transactions per block (hard-coded limit) and 1k transactions waiting in queue and network is stable under such load
however transaction processing will be rewritten soon

I ask:

How long does it take to process 1 block

@mq:

on average less that 1 second

Honestly I don't know what to make of this, and can only assume "this is ok".

Final words

Shift has great potiental, but if and only if they team up with IPFS. Creating a tight integration with this software is essential to its success. Sia has shown that already, displaying great all-around efficiency.

This article is brought to you by http://currypto.club, a premium information service in regards to cryptocurrencies.

Like it? Consider supporting me here on Steemit or there, where I will accept $10 USD in STEEM or any other Poloniex supported currency.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Hi. I am a volunteer bot for @resteembot that upvoted you.
Your post was chosen at random, as part of the advertisment campaign for @resteembot.
@resteembot is meant to help minnows get noticed by re-steeming their posts


To use the bot, one must follow it for at least 3 hours, and then make a transaction where the memo is the url of the post.
If you want to learn more - read the introduction post of @resteembot.
If you want help spread the word - read the advertisment program post.


Steem ON!

Congratulations @currypto! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

You published your First Post
You made your First Vote
You got a First Vote

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

By upvoting this notification, you can help all Steemit users. Learn how here!

Congratulations @currypto! You have received a personal award!

1 Year on Steemit
Click on the badge to view your Board of Honor.

Do not miss the last post from @steemitboard!


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Congratulations @currypto! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Do not miss the last post from @steemitboard:

SteemitBoard - Witness Update
Do not miss the coming Rocky Mountain Steem Meetup and get a new community badge!
Vote for @Steemitboard as a witness to get one more award and increased upvotes!