Sadly we don't have the bandwidth to maintain the full uPort stack anymore.
All of our efforts are now focused on the Veramo framework ( https://github.com/uport-project/veramo ) and the libraries that uPort has donated to the Decentralized Identity Foundation.
If you are just starting out, it would be a good idea to check out https://veramo.io instead of relying on the uport-credentials / uPort mobile combo.
It is not yet a full replacement for the uPort stack (and I'm not sure if it will ever be a 1:1 mapping there) but the goal is to provide a standards-compliant, multi-platform framework for decentralized identity and verifiable credentials that can also interoperate with other projects and efforts in this space.
Hi, @yiannakpavy. It's not naive :) Indeed uPort was using this model in the first version, but that has changed a long time ago.
The latest versions of uPort no longer use a proxy contract to represent an identity.
Instead, any ethereum address is considered an identity (see https://github.com/decentralized-identity/ethr-did-resolver).
Since these addresses can be created without interacting with the blockchain, it means that creating an identity is free.
If one needs to update the identity, then a transaction is required and that will cost some gas.
The smart contract on which this is based (https://github.com/uport-project/ethr-did-registry) allows a third party (like a fueling service) to pay for the transaction if the right signature is provided by the identity for which it posts.
This mechanism later got the name of meta-transaction.
That being said, please read my previous note about the state of the uPort stack: https://gitter.im/uport-project/Lobby?at=60422bb8823b6654d285dcc5
Please take a look at https://github.com/uport-project/veramo as this is where all the development work is being focused now.
Of course, most things can be achieved off-chain. The chain is only used to update public key information (that can be used to verify those off-chain attestations).
To update those keys on behalf of an identity, you have to have control of the identity, and that is what the ethr-did-registry smart-contract ensures.
If you have more questions about these things, please post them on https://github.com/uport-project/veramo/discussions
There are more people there that can answer.