Bitcoin Forum
September 27, 2018, 10:38:15 PM *
News: ♦♦ New info! Bitcoin Core users absolutely must upgrade to previously-announced 0.16.3 [Torrent]. All Bitcoin users should temporarily trust confirmations slightly less. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: SmartSPV – A better Simplified Payment Verification for Smartphones  (Read 705 times)
Sergio_Demian_Lerner
Hero Member
*****
expert
Offline Offline

Activity: 540
Merit: 510


View Profile WWW
April 25, 2014, 05:09:01 AM
 #1

Smart-SPV 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.
The idea is to detect transactions and account them in the client wallet even if the branch where they come is still orphaned.

Here is the description of the protocol: http://bitslog.wordpress.com/2014/04/25/smartspv-a-better-simplified-payment-verification-for-smartphones/

Best regards!
Sergio.
1538087895
Hero Member
*
Offline Offline

Posts: 1538087895

View Profile Personal Message (Offline)

Ignore
1538087895
Reply with quote  #2

1538087895
Report to moderator
1538087895
Hero Member
*
Offline Offline

Posts: 1538087895

View Profile Personal Message (Offline)

Ignore
1538087895
Reply with quote  #2

1538087895
Report to moderator
1538087895
Hero Member
*
Offline Offline

Posts: 1538087895

View Profile Personal Message (Offline)

Ignore
1538087895
Reply with quote  #2

1538087895
Report to moderator
Make a difference with your Ether.
Donate Ether for the greater good.
SPRING.WETRUST.IO
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1538087895
Hero Member
*
Offline Offline

Posts: 1538087895

View Profile Personal Message (Offline)

Ignore
1538087895
Reply with quote  #2

1538087895
Report to moderator
TierNolan
Legendary
*
Offline Offline

Activity: 1190
Merit: 1001


View Profile
April 25, 2014, 09:42:02 AM
 #2

So, for receiving payment

- When on battery, your client doesn't bother downloading the header chain
-- maybe it updates when connected to a charger and/or with a Wifi connection

- You ask your (full) peers to send you any new transactions (via Bloom filter)

- A new transaction has to be in a block timestamped near "now"

- If you receive a transactions, you ask your peers to send you all the new headers, until the tx is confirmed

- A tx is confirmed as long as it is built on by N blocks
-- N determined by comparing POW to POW of last known block

- If the block height of the block is to far away, then new headers are requested

To fake a transaction, you have to build a chain with the required POW of 6 blocks.  Doing that on a disconnected fork it to expensive.

It is also not any cheaper than forking the main chain.

I think N should be determined based on actual work.  You can estimate the cost of a hash in coins, based on the most recent header.

You could require that the transaction is built on by blocks worth at least 100X the total value of the transaction.

Have you considered allowing "skips" in the header chain?

For example, you could point to the previous header and also point to the most recent header that has more than 1024X the required difficulty (hash(header) < target / 1024).

This generates 2 chains, but one of them is 1024X smaller.  This would allow an SPV client to keep up with the main chain, but with much less data.

In fact, you could have an hierarchy, prev, prev(32X) and prev(1024X).

The SPV client stays locked to the main chain using the 1024X chain.  Once a tx comes in, it can use the 32X chain to get within 32 of the end of the main chain and then just download (on average) 16 headers.

1LxbG5cKXzTwZg9mjL3gaRE835uNQEteWF
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!