Bitcoin Forum
April 26, 2024, 05:17:38 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 ... 90 »
  Print  
Author Topic: MultiBit  (Read 336102 times)
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 04, 2012, 07:45:07 AM
 #741

Thanks !

The wallet encryption you can try out now with the beta downloads at:
https://github.com/jim618/multibit/downloads

I have been using the encrypted code for real for about a month now - they just need another round of QA and getting the code into bitcoinj. As long as you are careful to keep your wallets/ keys backed up you should be ok.

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
1714151858
Hero Member
*
Offline Offline

Posts: 1714151858

View Profile Personal Message (Offline)

Ignore
1714151858
Reply with quote  #2

1714151858
Report to moderator
1714151858
Hero Member
*
Offline Offline

Posts: 1714151858

View Profile Personal Message (Offline)

Ignore
1714151858
Reply with quote  #2

1714151858
Report to moderator
TalkImg was created especially for hosting images on bitcointalk.org: try it next time you want to post an image
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714151858
Hero Member
*
Offline Offline

Posts: 1714151858

View Profile Personal Message (Offline)

Ignore
1714151858
Reply with quote  #2

1714151858
Report to moderator
1714151858
Hero Member
*
Offline Offline

Posts: 1714151858

View Profile Personal Message (Offline)

Ignore
1714151858
Reply with quote  #2

1714151858
Report to moderator
1714151858
Hero Member
*
Offline Offline

Posts: 1714151858

View Profile Personal Message (Offline)

Ignore
1714151858
Reply with quote  #2

1714151858
Report to moderator
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 04, 2012, 08:31:08 AM
 #742

The Bloom filter work needs changes both to the client and bitcoind - here is the little graphic I put in my London conference talk:

http://multibit.org/postImages/bloom.png

The client creates a Bloom filter for all the bitcoin addresses s/he is interested in and then gives it to bitcoind.
Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.
(You get some false positives which helps on privacy).

It is a bit more work for the bitcoind but it has to send back less data so for the server it is probably a wash. The big win is for the client and the data bandwidth needed drops dramatically.

I am not sure there are any formal specs for it yet as it is still being developed.
I expect MultiBit and Andreas's wallet will be the first ones to implement it.

I am pretty sure bitcoinj has the tools to implement an Electrum client. All the signing etc would be similar. The work would probably be in the conversations with the Stratum servers for them to give you the data you want. And probably the data objects are different so there is a bit of translation there.  All doable - quite a nice project.

Jim, I think I understand how bloom filter works now and it seems it's exaclty what's needed here for multibit and light clients.

However, I'm still confused on 2 points:

  • Are you saying bloom filter support will go into mainline satoshi at some point?
  • "Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.": What about old transactions? Afaik there's currently no index for this in bitcoind, right? So will the bloom bitcoind rescan the blockchain to send info on past events concerning the filtered addresses?


I know Andreas's Bitcoin Android Wallet is open source so I dare say you could fork/ reuse that to save time on UI work (obviously asking Andreas and rebranding it to avoid any confusion).

Exactly my thinking, already checked out his code last night to take a look Wink

Offtopic sidenote and thoughts: I also took a very rough look at bitcoinj. My idea to make a "class ElectrumWallet extends Wallet" will not work cleanly (for example, Wallet.addKey(ECKey x) would have to be implemented, which wont work for electrum wallet system because keys are generated from a seed). I was kindof expecting an "interface Wallet"... Will probably take a look at multibit wallet abstraction, maybe an electrum wallet impl could be written for multibit?

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 04, 2012, 10:02:47 AM
Last edit: October 04, 2012, 03:39:54 PM by jim618
 #743

I have set up a bounty address for anyone who would like to contribute to the Farsi/ Persian translation of MultiBit.
This is inspired by this thread:
https://bitcointalk.org/index.php?topic=94805.0;all


The bounty address is: 1K6EJJYftWNyhre3codjT4jWyczrdRVG1n
Or, as a QR code:


The terms of the bounty I have added to: http://multibit.org/ (below the screenshots)

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 04, 2012, 10:43:22 AM
Last edit: October 04, 2012, 12:08:01 PM by jim618
 #744


Jim, I think I understand how bloom filter works now and it seems it's exaclty what's needed here for multibit and light clients.

However, I'm still confused on 2 points:

  • Are you saying bloom filter support will go into mainline satoshi at some point?
  • "Bitcoind then filters all the transactions and only sends back the ones that have a Bloom filter hit.": What about old transactions? Afaik there's currently no index for this in bitcoind, right? So will the bloom bitcoind rescan the blockchain to send info on past events concerning the filtered addresses?

Offtopic sidenote and thoughts: I also took a very rough look at bitcoinj. My idea to make a "class ElectrumWallet extends Wallet" will not work cleanly (for example, Wallet.addKey(ECKey x) would have to be implemented, which wont work for electrum wallet system because keys are generated from a seed). I was kindof expecting an "interface Wallet"... Will probably take a look at multibit wallet abstraction, maybe an electrum wallet impl could be written for multibit?


Yes my understanding is that the bloom filter support will go into bitcoind (I don't know when though). It will be very useful when it goes in.

RE: the old transactions - I think you would have to set the head of your local blockchain and work forward, unless there is something on the bloom filter API to cater for this (I don't know this).

The bitcoinj Wallet is an impl yes - the MultiBit Wallet is practically the same.
I would not copy what I have done in MultiBit actually but do what Andreas does which is:
1) Have a fork of the bitcoinj code and then add in support that you want
2) When bitcoinj changes then rebase and pick up the changes.

Wallet is a bit too tightly coupled to the current network/ datamodel at the moment - Mike has it on his TODO list to prise them apart a bit.   I think a Wallet abstraction would be really useful to handle heterogenous wallets (watch only, scrypt+AES encrypted private keys, HD deterministic, Electrum deterministic) but the MultiBit code is quite a long way away from that currently.

I think for writing a Java Electrum client now, the clearest way would be to use the bitcoinj datamodel as far as possible but add in the "best" structures for Electrum's wallets. That way in the future it will be easier to determine what a Wallet really is (interface wise I mean).

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
Mike Hearn
Legendary
*
Offline Offline

Activity: 1526
Merit: 1128


View Profile
October 04, 2012, 10:58:25 AM
 #745

Bloom filter on the Satoshi side is here:

https://github.com/bitcoin/bitcoin/pull/1795

on the bitcoinj side is here:

http://code.google.com/r/bluemattme-bitcoinj/source/list?name=bloomfilter

We have consensus that this is the way to go and I'm sure the code will get merged and rolled out soon.

Re: old keys. Bloom filtering is just a layer on top of regular chain download. If you import a set of keys, you would redownload the chain from that point with a filter containing the new keys and the transactions would all arrive.

Quote
Offtopic sidenote and thoughts: I also took a very rough look at bitcoinj. My idea to make a "class ElectrumWallet extends Wallet" will not work cleanly (for example, Wallet.addKey(ECKey x) would have to be implemented, which wont work for electrum wallet system because keys are generated from a seed). I was kindof expecting an "interface Wallet"... Will probably take a look at multibit wallet abstraction, maybe an electrum wallet impl could be written for multibit?

Electrum made deterministic wallets core to its design, and bitcoinj does not have any implementation of that today. If you wanted to implement them, that'd be a very interesting project.

As I said, I think seeing this in terms of Electrum is the wrong way to go. Bloom filtering + an implementation of deterministic wallets gives you exactly the same functionality as Electrum/Stratum does, but in a way that meets Satoshis original design goals and which lets you use any peer from the network selected at random.
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 04, 2012, 12:06:56 PM
 #746

@Mike
Thanks for those URLs Mike - I have meaning to look at Matt's work in detail for weeks now.

Yes - whilst the conversation above was framed in terms of Electrum deterministic wallets I personally am more interested in Pieter's hierarchical deterministic wallets. A Java solution for one would (I think) be relatively easy to extend to the other.

@molecular
If you have the time free then working on Java deterministic wallets would definitely be useful for the wider community. With some nice design work you could probably build something that caters for both Electrum and HD wallet key generation.

I am looking forward to when HD wallets enable a user to go to any Bitcoin client, enter their secret information and access their bitcoin.

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
October 04, 2012, 05:49:13 PM
 #747

@jim and @mike: Thanks for your valuable input, I have a pretty clear path to go down now. It will be a slow walk and it's not 100% sure yet I'll go down that road (my free time available is currently pretty limited and I have to choose among many interesting options).
I'll try to share early once I have something worth to look at or get input.

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 05:17:26 AM
 #748

Hi subSTRATA,
The next version (0.4.11) shows all the digits e.g 0.12345678 BTC.
It will be out in a day or two.

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
October 05, 2012, 11:09:00 AM
 #749

Hi Jim,

yesterday i sent myself two transactions but they remain unconfirmed in multibit, yet on blockchain.info they both are confirmed.
i really dont want to do a reset blockchain and transactions because i want to keep my list of transactions.

Do you have an idea?

Greetz!
Roland.


- bitcoinspot.nl - Alles over bitcoin! -
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 01:16:30 PM
 #750

Hi bitcoinspot.nl,

Hmm, have you tried doing a reset transactions but choosing the date to go back to as yesterday ? That will only clear a day or twos transactions before replaying the blocks.

Edit: Or you can create a dummy wallet and do a "reset transactions from a particular date" on THAT wallet.
When the blocks get replayed I check every wallet to see if there are any relevant transactions so it should confirm the unconfirmed transactions, whichever wallet they are in.

Jim

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
October 05, 2012, 01:42:53 PM
 #751

Ok clicked it Smiley is it normal to not see a conformation screen of any sort when i click the resetblockhain button?

P.s. i never see this problem occuring on the official client, why does this occur?

keep up the good work!

Roland.

- bitcoinspot.nl - Alles over bitcoin! -
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 01:52:50 PM
 #752

Hi bitcoinspot.nl,

I put various messages on the status bar as it resets things so I did not bother with a confirmation dialog as it is just another screen to dismiss.


As to why it occurs: Well, it shouldn't !

Bugs like that can be difficult to pin down - can be some edge condition that normally does not happen or such like. It really is still experimental software !

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 01:53:50 PM
 #753

There is a new live release of MultiBit at:

multibit.org

Version 0.4.11

Enhancements:

User interface
+  8 decimal places of BTC now shown
+  Chart of wallet balance for last 30 days added
+  Drag and drop QR code to desktop
+  Slovenian 100% added
+  Various UI tidyups

System
+  Faster bitcoin network connection
+  Rolling wallet backup to mitigate sudden power loss
+  Automatic recopy of installer blockchain if required
+  Update to bitcoinj version 0.6
+  Update to XChart 0.2.0


Scan of release checklist

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
mila
Sr. Member
****
Offline Offline

Activity: 462
Merit: 250



View Profile
October 05, 2012, 02:31:12 PM
 #754

Version 0.4.11

Also Slovak lang is now 100 %
was 95% since 0.4.9

your ad here:
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 02:33:17 PM
 #755

Great - thanks for that reminder !

Thanks for your efforts.

It is always nice to have software totally in your native tongue.

:-)

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 02:50:59 PM
 #756

Thanks to the efforts of techmix and mohammad_rafigh there is now a Farsi translation of MultiBit. They will share the bounty on this translation work (pro rata on number of terms done).

It just missed the 0.4.11 release but here is a screen shot:



I will spend a bit of time over the weekend trying to tidy up some of the layout anomalies and aim to get it out early next week.

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 05, 2012, 05:55:19 PM
 #757

Yes it is better I must admit.

It is a production release.
If you install it using, say, the default settings it will pick up you user application data directly.



MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 06, 2012, 11:08:04 AM
 #758

I have set up bounties for the translation of the remaining Arabic and Hindi phrases.
If you are interested in either contributing to a bounty or doing the translation, please have a look here:

multibit.org/bounties.html

There is a link from the main text on the multibit.org landing page too.

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
bitcoinspot.nl
Sr. Member
****
Offline Offline

Activity: 300
Merit: 250



View Profile WWW
October 06, 2012, 10:17:07 PM
 #759

Hi bitcoinspot.nl,

Hmm, have you tried doing a reset transactions but choosing the date to go back to as yesterday ? That will only clear a day or twos transactions before replaying the blocks.

Edit: Or you can create a dummy wallet and do a "reset transactions from a particular date" on THAT wallet.
When the blocks get replayed I check every wallet to see if there are any relevant transactions so it should confirm the unconfirmed transactions, whichever wallet they are in.

Jim

i selected the date (3 october) and clicked the reset blochain button, but nothing happens...


- bitcoinspot.nl - Alles over bitcoin! -
jim618 (OP)
Legendary
*
Offline Offline

Activity: 1708
Merit: 1066



View Profile WWW
October 06, 2012, 10:20:14 PM
 #760

Try selecting the day before ie 2 October

MultiBit HD   Lightweight desktop client.                    Bitcoin Solutions Ltd   Bespoke software. Consultancy.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 [38] 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 ... 90 »
  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!