SmartSPV – A better Simplified Payment Verification for Smartphones



Summary:

NimbleCoin is a new cryptocurrency that uses the FastBlock5 protocol to achieve near-instant payments. Due to the merged mining feature, each block header can be as large as 700 bytes. However, in terms of processing tons of headers if bandwidth is limited or clients are disconnected from the Internet for long periods, SmartSPV comes into play. It is a variation of the standard SPV headers-only mode that allows a smartphone to keep a fairly accurate state of the wallet balance without downloading all the missing headers and without sacrificing battery life and time. In Smart-SPV mode, when a client is missing block headers two things happen simultaneously: The client starts downloading block headers from the last one solved backward, and the client starts downloading the blocks headers from the first missing header, forward. While the client catches up with all the missing blocks, the wallet balance may not be fully reliable. Still, if a new payment is received and confirmed, or a new payment is made, the wallet will increase the balance and show it. A live block is flagged as LIVE and this flag is stored permanently with the block. A live transaction is a transaction that is included in a live block. When a live transaction is confirmed by six blocks flagged as LIVE, the transaction is considered mature. All mature transactions are scanned and used to compute the balance of the wallet. Also, all transactions that are included in blocks rooted at the last checkpoint and finishing in the last live block are also considered mature. Since the wallet always modifies the balance according to mature transactions, a payment is received and acknowledged even if the branch where it is included is still orphaned. If the SPV client clock is correctly synchronized, the Smart-SPV protocol does not pose any additional security risk different from the known SPV limitations.


Updated on: 2023-06-08T21:22:07.913618+00:00