You can use a consensus network via stake to do ledger verification, too.
I think PoS makes transaction pruning impossible. How would you suppose to check if miner of block N in the past really held claimed amount of stake at time of block signing if you forgot how account balances looked at that time?
Make a checkbox in the client to enable full or pruned blockchain download. Pruned blockchain can just download the block from a bunch of full nodes in the event of a dispute. The danger of a sybil attack exists, but I don't think it's great.
Yes, it would be a good idea to include the block height and also the depth in the block in which the last tx appears.
I think block height is sufficient for account ledger.
I'm following from
Actually minimum ledger entry is
(Address, amount, version)
Version is needed because coins are indistinguishable and without version a transaction to send first half of balance to some address would look exactly same as transaction to send other half of coins to this address. Simply receiver of first transaction could rebroadcast same, already signed transaction, in subsequent block and receive rest of coins. Version needs to be increased after every withdraw from address in order to defend from this kind of fraud. I think version can simply be block number in which last withdrawal was included.
I'm not sure I even follow this logic, though. If the ledger contains every address and every amount of coins at every address, whenever a block is received you can just adjust the ledger accordingly.
For instance,
block n: send 50 coins to address 1 from address 2
block n+m: send 50 coins to address 1 from address 3
Client sees both tx at different times, adds 50 coins each time to adjust the ledger, hashes the ledger and checks it against the one in the next block found. Address 1 contains 100 coins, while both address 2 and address 3 contain 50 less coins. That the amount is duplicated is of no consequence as long as the quantities are adjusted per block. If you want to include stake, you just input the block height and make separate amounts for each input. Or, you can simply ignore this and just download the block from one of the full blockchain clients from which the stake is claimed to arise. All the block hashes are easily able to be stored by anyone, so verification of any single block in the blockchain history is very simple.
Try to not overthink this. I believe including hash of state of all known accounts and its balances in block headers is sufficient to keep level of security similar to bitcoin.
Anyway new coin with finite blockhain would be a winner, because we could include one simple feature which would bring users to it: attaching custom message to a payment. Bitcoin cannot do this because it would bloat blockchain to unmanageable size, but it shouldn't be a problem when you can forget transactions and just keep balance sheet.
You can just sign a message from the address you send it from...