I am a little investor of AGS and PTS, I have an idea about how to reduce volume of block chain using snapshot, English is not my native language , I hope I can been understood.
1. The purpose of snapshot in my express is different from normal , this snapshot is to replace blocks before them to reduce this size of block chain.
2. Perform a snapshot per N block; and the next block is a special block , its header include the hash both previous block and this snapshot. We also can set the confirm time of this block is longer than others, maybe need all delegates honored.
3. Each block after this snapshot include the status if honor this snapshot.
4. Each translation include the status if honor this snapshot
5. if the snapshot was honored by N block, and was honored by translation witch hold 90% stockholder , this snapshot is a formal snapshot. The blocks before this snapshot can been ignore . ignore the blocks before this snapshot have risk ,so there have N block time to check if there is no attack/ scam in the snapshot , if select N equal 100,000, it mean , every delegate check this snapshot 1000 times if there are 100 delegates, and every client also check this snapshot when a translation is done, and the meantime ,any node can select to keep all block for checking.
6. If all process was finished smoothly, block chain only include a snapshot +N blocks no matter how many years this chain have been running , the volume of a snapshot maybe is constant, if N equal 100,000, consider 30 sec per block , it is about 34 days , so all the size of block chain is equal a constant volume + volume of 34 days translation. It doesn’t increase as time passing .