Bitcoin Forum
April 24, 2024, 10:25:38 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: simplified payment verification in the official client?  (Read 2710 times)
alkor (OP)
Full Member
***
Offline Offline

Activity: 136
Merit: 100


View Profile
November 01, 2013, 04:32:17 PM
 #1

For those of use who want to keep using the official client but are worried about the growing blockchain size, are there any plans to add simple payment verification (SPV) to the official client similar to what is done in bitcoinj?

Is the current lack of support for SPV due to lack of developer time and resources, or are there still any unresolved security issues?

1713997538
Hero Member
*
Offline Offline

Posts: 1713997538

View Profile Personal Message (Offline)

Ignore
1713997538
Reply with quote  #2

1713997538
Report to moderator
1713997538
Hero Member
*
Offline Offline

Posts: 1713997538

View Profile Personal Message (Offline)

Ignore
1713997538
Reply with quote  #2

1713997538
Report to moderator
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713997538
Hero Member
*
Offline Offline

Posts: 1713997538

View Profile Personal Message (Offline)

Ignore
1713997538
Reply with quote  #2

1713997538
Report to moderator
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652
Merit: 2216


Chief Scientist


View Profile WWW
November 01, 2013, 09:26:55 PM
 #2

Please don't say "official client" -- there is no "official."

"Reference implementation" is more accurate.

Lack of SPV mode in the reference implementation is mostly due to lack of testing / code review resources.

How often do you get the chance to work on a potentially world-changing project?
Mike Hearn
Legendary
*
expert
Offline Offline

Activity: 1526
Merit: 1128


View Profile
November 02, 2013, 04:33:48 PM
Last edit: November 02, 2013, 05:26:37 PM by Mike Hearn
 #3

Well, also that, and it hasn't been implemented ...

What you are calling "SPV" is really a big pile of different optimisations. If you wanted to run bitcoind on a smartphone, for instance, it's insufficient to just only download a Bloom filtered block chain. You'd also have to reduce memory usage a lot, like by not storing all the block headers either. That would violate a bunch of assumptions in the code. You'd also have to optimise the amount of disk IO, because disk on phones is really slow. It's a fair amount of work.

If all you want is a desktop wallet with a Bitcoin-Qt like UI, but with SPV performance/security, you can check out MultiBit, and if that isn't your kettle of fish - why not work on a competitor? So far we have MultiBit, Hive, MacWallet and something for Ubuntu Touch called just "Bitcoin Touch", all of which are using bitcoinj. Most of those apps aren't even written in Java.

So we're developing quite a nice ecosystem there, and building the wallet app of your dreams has never been easier. It's all documented, there is lots of example code and so on. You can actually find a template for a wallet app in the bitcoinj git master branch that has a nice UI with slick animations, etc - it's a really tiny amount of code, even in Java which is kind of a verbose language. You can also use bitcoinj directly from Python, Ruby, Lisp (clojure) and a mixed paradigm functional language called Scala, all using their JVM implementations.

edit: I elaborated on that theme here
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!