Question about blockchain history revision

I have an idea of AEPP, but this may not be resolved by 99.9% of the public chain.

First of all I want it to be decentralized enough, so I don’t plan to have a database locally.
example
I create a website that can be used to view my resume based on the public key address. It contains some personal information (work experience, glory, E-mail, mobile phone number).
I hope that all of this data is stored on the AE public chain, and it seems that only the payload field can be done.
Although I store all of the stored information in the same transaction record, but next time I modify some information, it will waste more transaction costs or waste the storage space of the main chain data.
If I split them apart, I am modifying the phone number, re-creating a transaction, writing paylad, and getting a new TX. This way I read two mobile phone numbers in tx at the same time,I hope it has only one.
If I make a page that contains a lot of user information, I can’t do it. I can only read the latest transfer record, and its payload contains the specific secret language I set. I can successfully find out if it belongs to the users of my website.
In the traditional Internet, I only need to add an index to the database, but AE can’t do it now! Is this another key point that hinders the ecological prosperity of the blockchain?
@ae-vlad

1 Like

On chain storage will always be relatively expensive as all blockchain nodes will need to keep a record of the data(together with all past revisions - this is needed to validate old blocks).
The standard approach would be to store the data in a smart contract - if your data isn’t big(like phone numbers etc.) then you can just go for it. In case you would like to store larger things like PDF’s then first upload the data to IPFS and then store the IPFS hash in your smart contract. In order to view the resume you need to get the associated IPFS hash from the smart contract and then obtain the file from IPFS.

This is the approach used by the graffity aepp - you can view the source code here.

1 Like

Is ipfs another blockchain project? Or just use this protocol? Does it cost? Who will maintain it?

You can think about IPFS as an decentralized database for the web. It allows you to upload any data, which is then referenced under a cryptographic hash. Your data inside IPFS is public, stored on multiple nodes and decentralized. IPFS is not an blockchain project - It wouldn’t be feasible to create a payment/smart contract system on IPFS alone as there is no way to obtain a decentralized consensus for a ledger on IPFS. IPFS should only be used for storage. You can learn more about IPFS here.

Going back to your Aepp idea you can store a detailed user profile in IPFS(which could contain hi-res pictures, PDF’s and videos) and then keep a smart contract on AE with would contain an association from the public key of a account to the IPFS hash of the user profile. Each time someone updates their profile just update the IPFS hash of the data. This would allow you to create a fully decentralized Aepp which wouldn’t require any classical backend.

1 Like