Bitcoin Forum
April 20, 2024, 02:41:01 AM *
News: Latest Bitcoin Core release: 26.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 ... 96 »
  Print  
Author Topic: [ANNOUNCE] Electrum - Lightweight Bitcoin Client  (Read 274468 times)
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
December 21, 2011, 02:24:39 PM
 #241

Code:
def mn_encode( number ):
    return [words[number],] if number < n else [words[number%n],] + mn_encode( number/n + number%n )

def mn_decode( wlist ):
    r = words.index(wlist[0])
    return r + n*(mn_decode(wlist[1:]) - r ) if len(wlist[1:])>0 else r

Error -1: Stack Overflow

Was that translated from lisp code or something? ^^

PGP key molecular F9B70769 fingerprint 9CDD C0D3 20F8 279F 6BE0  3F39 FC49 2362 F9B7 0769
1713580861
Hero Member
*
Offline Offline

Posts: 1713580861

View Profile Personal Message (Offline)

Ignore
1713580861
Reply with quote  #2

1713580861
Report to moderator
Once a transaction has 6 confirmations, it is extremely unlikely that an attacker without at least 50% of the network's computation power would be able to reverse it.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1713580861
Hero Member
*
Offline Offline

Posts: 1713580861

View Profile Personal Message (Offline)

Ignore
1713580861
Reply with quote  #2

1713580861
Report to moderator
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
December 21, 2011, 05:14:44 PM
 #242

I think the mnemonic algorithm is kind of weird (using quartets of bytes??)
I suggest we use the full 2000 english words list with a complete base2000 encoding:
any reason for doing that?

Quote
Well, the good thing is that anyone can do his own recipe with his client, as
the server is not supposed to be aware of the particular encoding, right?
indeed, that's something the server does not see.

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
December 21, 2011, 05:21:51 PM
 #243

I just uploaded version 0.35 to the website.

Changelog:
* New 'import' command to add extra keypairs to your wallet. Example:
Code:
python electrum.py import 1MtQTsraWDcb7REUnVu8LS9hZswrLfWbH9:5KeCdRAkygEGfSzQ3ZNpQ2qE6PdEYCZ52S9Uq5DoBxkSgayX6ng
Note that you can export your keypairs in the same format using:
Code:
python electrum.py addresses -k
* random selection of the default server on wallet creation
* bug fix: previous version was not correctly synchronized after creating new addresses

Electrum: the convenience of a web wallet, without the risks
slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1097



View Profile WWW
December 21, 2011, 06:00:50 PM
 #244

I'd like to enourage pythonist interested in Electrum client to review code implementing new network protocol (proposed in https://docs.google.com/document/d/17zHy1SUlhgtCMbypO8cHgpWH73V5iUQKk_0rWvMqSNs/edit?hl=en_US - the last chapter is not finished yet). Repository of server is https://gitorious.org/electrum-server/electrum-server.

You can start server by typing
Code:
twistd -ny server.tac

and run some easy client side by
Code:
python client.py
. You'll need to install Twisted framework (easy_install twisted).

The goal of my project is to provide easy, extensible protocol and fast, flexible, service-based, multi-layer implementation. For now, TCP socket and HTTP(S) polling is implemented. Pubsub infrastructure described in google document (server which actively broadcast messages to clients) is in progress.

This is alpha implementation and there can be some weird bugs thanks to asynchronous server implementation, but so far I don't see any of them. Feel free to ask me to anything or comment the solution. Constructive criticism is welcome.

marcus_of_augustus
Legendary
*
Offline Offline

Activity: 3920
Merit: 2348


Eadem mutata resurgo


View Profile
December 22, 2011, 12:45:43 AM
 #245

I just uploaded version 0.35 to the website.

Changelog:
* New 'import' command to add extra keypairs to your wallet. Example:
Code:
python electrum.py import 1MtQTsraWDcb7REUnVu8LS9hZswrLfWbH9:5KeCdRAkygEGfSzQ3ZNpQ2qE6PdEYCZ52S9Uq5DoBxkSgayX6ng
Note that you can export your keypairs in the same format using:
Code:
python electrum.py addresses -k


Can you confirm if the following is correct?

The imported keys are not contained among the deterministic key set generated so if/when you delete your wallet the imported keys will not be coming back when you use the seed-phrase to regenerate the deterministic portion of the wallet.

terrytibbs
Hero Member
*****
Offline Offline

Activity: 560
Merit: 501



View Profile
December 22, 2011, 12:50:37 AM
 #246

I just uploaded version 0.35 to the website.

Changelog:
* New 'import' command to add extra keypairs to your wallet. Example:
Code:
python electrum.py import 1MtQTsraWDcb7REUnVu8LS9hZswrLfWbH9:5KeCdRAkygEGfSzQ3ZNpQ2qE6PdEYCZ52S9Uq5DoBxkSgayX6ng
Note that you can export your keypairs in the same format using:
Code:
python electrum.py addresses -k


Can you confirm if the following is correct?

The imported keys are not contained among the deterministic key set generated so if/when you delete your wallet the imported keys will not be coming back when you use the seed-phrase to regenerate the deterministic portion of the wallet.
That goes without saying, does it not?
Ryland R. Taylor-Almanza
Legendary
*
Offline Offline

Activity: 882
Merit: 1001



View Profile
December 22, 2011, 12:57:58 AM
 #247

How is electrum-qt coming along?

.BITSLER.                 ▄███
               ▄████▀
             ▄████▀
           ▄████▀  ▄██▄
         ▄████▀    ▀████▄
       ▄████▀        ▀████▄
     ▄████▀            ▀████▄
   ▄████▀                ▀████▄
 ▄████▀ ▄████▄      ▄████▄ ▀████▄
█████   ██████      ██████   █████
 ▀████▄ ▀████▀      ▀████▀ ▄████▀
   ▀████▄                ▄████▀
     ▀████▄            ▄████▀
       ▀████▄        ▄████▀
         ▀████▄    ▄████▀
           ▀████▄▄████▀
             ▀██████▀
               ▀▀▀▀
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄            
▄▄▄▄▀▀▀▀    ▄▄█▄▄ ▀▀▄         
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄      
█  ▀▄▄  ▀█▀▀ ▄      ▀████   ▀▀▄   
█ █▄  ▀▄   ▀████       ▀▀ ▄██▄ ▀▀▄
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█  ▀▀       ▀▄▄ ▀████      ▄▄▄▀▀▀  █
█            ▄ ▀▄    ▄▄▄▀▀▀   ▄▄  █
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
█ ▄▄   ███   ▀██  █           ▀▀  █ 
█ ███  ▀██       █        ▄▄      █ 
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀  
▀▄            █        ▀▀      █  
▀▀▄   ███▄  █   ▄▄          █   
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀    
▀▀▄   █   ▀▀▄▄▄▀▀▀         
▄▄▄▄▄▄▄▄▄▄▄█▄▄▀▀▀▀              
              ▄▄▄██████▄▄▄
          ▄▄████████████████▄▄
        ▄██████▀▀▀▀▀▀▀▀▀▀██████▄
▄     ▄█████▀             ▀█████▄
██▄▄ █████▀                ▀█████
 ████████            ▄██      █████
  ████████▄         ███▀       ████▄
  █████████▀▀     ▄███▀        █████
   █▀▀▀          █████         █████
     ▄▄▄         ████          █████
   █████          ▀▀           ████▀
    █████                     █████
     █████▄                 ▄█████
      ▀█████▄             ▄█████▀
        ▀██████▄▄▄▄▄▄▄▄▄▄██████▀
          ▀▀████████████████▀▀
              ▀▀▀██████▀▀▀
            ▄▄▄███████▄▄▄
         ▄█▀▀▀ ▄▄▄▄▄▄▄ ▀▀▀█▄
       █▀▀ ▄█████████████▄ ▀▀█
     █▀▀ ███████████████████ ▀▀█
    █▀ ███████████████████████ ▀█
   █▀ ███████████████▀▀ ███████ ▀█
 ▄█▀ ██████████████▀      ▀█████ ▀█▄
███ ███████████▀▀            ▀▀██ ███
███ ███████▀▀                     ███
███ ▀▀▀▀                          ███
▀██▄                             ▄██▀
  ▀█▄                            ▀▀
    █▄       █▄▄▄▄▄▄▄▄▄█
     █▄      ▀█████████▀
      ▀█▄      ▀▀▀▀▀▀▀
        ▀▀█▄▄  ▄▄▄
            ▀▀█████
[]
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
December 22, 2011, 12:58:24 AM
 #248

I just uploaded version 0.35 to the website.

Changelog:
* New 'import' command to add extra keypairs to your wallet. Example:
Code:
python electrum.py import 1MtQTsraWDcb7REUnVu8LS9hZswrLfWbH9:5KeCdRAkygEGfSzQ3ZNpQ2qE6PdEYCZ52S9Uq5DoBxkSgayX6ng
Note that you can export your keypairs in the same format using:
Code:
python electrum.py addresses -k


Can you confirm if the following is correct?

The imported keys are not contained among the deterministic key set generated so if/when you delete your wallet the imported keys will not be coming back when you use the seed-phrase to regenerate the deterministic portion of the wallet.
That goes without saying, does it not?
Could it be made so that the deterministic addresses and the imported ones can be exported separately?  That way I could export just the non-deterministic keys for backup or whatever

terrytibbs
Hero Member
*****
Offline Offline

Activity: 560
Merit: 501



View Profile
December 22, 2011, 01:05:17 AM
 #249

Could it be made so that the deterministic addresses and the imported ones can be exported separately?  That way I could export just the non-deterministic keys for backup or whatever
Thomas just posted how to export all keys above, just grab the one you imported manually and note it down.
Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
December 22, 2011, 02:36:01 AM
 #250

Could it be made so that the deterministic addresses and the imported ones can be exported separately?  That way I could export just the non-deterministic keys for backup or whatever
Thomas just posted how to export all keys above, just grab the one you imported manually and note it down.
I don't want to have to worry about splitting my exports manually.  That isn't feasible for scripted backups.  The ability to export just the non-deterministic keys would make automated backups that don't expose the deterministic keys that don't need to be backed up.

ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
December 22, 2011, 06:46:09 AM
 #251

Can you confirm if the following is correct?

The imported keys are not contained among the deterministic key set generated so if/when you delete your wallet the imported keys will not be coming back when you use the seed-phrase to regenerate the deterministic portion of the wallet.

that is correct. perhaps I should add a big fat warning during the import command?
in any case, I think that this command should not be available from the gui, in order to make sure that it is not used too easily.

Electrum: the convenience of a web wallet, without the risks
ThomasV (OP)
Moderator
Legendary
*
Offline Offline

Activity: 1896
Merit: 1353



View Profile WWW
December 22, 2011, 06:48:18 AM
 #252

Could it be made so that the deterministic addresses and the imported ones can be exported separately?  That way I could export just the non-deterministic keys for backup or whatever
Thomas just posted how to export all keys above, just grab the one you imported manually and note it down.
I don't want to have to worry about splitting my exports manually.  That isn't feasible for scripted backups.  The ability to export just the non-deterministic keys would make automated backups that don't expose the deterministic keys that don't need to be backed up.
did you test the command? imported keys are marked as such. you can do :
Code:
python electrum.py addresses -k | grep imported

Electrum: the convenience of a web wallet, without the risks
BkkCoins
Hero Member
*****
Offline Offline

Activity: 784
Merit: 1009


firstbits:1MinerQ


View Profile WWW
December 22, 2011, 09:53:21 AM
 #253

Regarding the "green address" discussion a while back - wouldn't it be very simple and achieve similar goals to have an option that lets users say "below this value, confirmations aren't required"? So a user may decide when he receives say 1 BTC or less he's not going to enforce the 6 confirms needed to treat it as good. Thus paying for coffee or something isn't worth holding everything up for.

HostFat
Staff
Legendary
*
Offline Offline

Activity: 4214
Merit: 1203


I support freedom of choice


View Profile WWW
December 22, 2011, 10:31:19 AM
 #254

Regarding the "green address" discussion a while back - wouldn't it be very simple and achieve similar goals to have an option that lets users say "below this value, confirmations aren't required"? So a user may decide when he receives say 1 BTC or less he's not going to enforce the 6 confirms needed to treat it as good. Thus paying for coffee or something isn't worth holding everything up for.

Good idea, I would like also to see an editable list of "green addresses".
So if I trust some addresses I can make the client always accepting bitcoins from them without confirmations and with every value.

Even better, some more options:
- All address: accepting bitcoin without confirmations if the value is lower than xxx

Green address list:
- Address A: accept bitcoin without confirmation at any value
- Address B: accept bitcoin without confirmation at value lower then xxx
- Address C: accept bitcoin with 2 confirmation at any value
- ...
- ...

NON DO ASSISTENZA PRIVATA - http://hostfatmind.com
molecular
Donator
Legendary
*
Offline Offline

Activity: 2772
Merit: 1019



View Profile
December 22, 2011, 11:07:14 AM
 #255

I'd like to enourage pythonist interested in Electrum client to review code implementing new network protocol (proposed in https://docs.google.com/document/d/17zHy1SUlhgtCMbypO8cHgpWH73V5iUQKk_0rWvMqSNs/edit?hl=en_US - the last chapter is not finished yet). Repository of server is https://gitorious.org/electrum-server/electrum-server.

You can start server by typing
Code:
twistd -ny server.tac

and run some easy client side by
Code:
python client.py
. You'll need to install Twisted framework (easy_install twisted).

The goal of my project is to provide easy, extensible protocol and fast, flexible, service-based, multi-layer implementation. For now, TCP socket and HTTP(S) polling is implemented. Pubsub infrastructure described in google document (server which actively broadcast messages to clients) is in progress.

This is alpha implementation and there can be some weird bugs thanks to asynchronous server implementation, but so far I don't see any of them. Feel free to ask me to anything or comment the solution. Constructive criticism is welcome.

Code:
nick@zero ~/bitcoin/electrum-protocol/python-twisted $ python client.py --help
Registered <class 'services.ServiceDiscovery'> for service 'discovery', vendor 'Electrum' (default: True)
nazdar
[u'node', u'firstbits', u'discovery']
[u'firstbits.com']
[u'resolve', u'create']
1MarekMKDKRb6PEeHeVuiCGayk9avyBGBB
1marekm

so, after a rough look, it seems you implemented "firstbits" lookup by falling back to firstbits.com api, right?

This seems to me it would be the time now to start implementing a "real" server?

What exactly are you asking us to do?

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

Activity: 1288
Merit: 1076


View Profile
December 22, 2011, 03:14:23 PM
 #256

I think the mnemonic algorithm is kind of weird (using quartets of bytes??)
I suggest we use the full 2000 english words list with a complete base2000 encoding:
any reason for doing that?

Well, 2000 is an easier number to remember and that's the number of words in the wikitionary page anyway.   Other wise you have to remember that 1626 is the lowest number n such as n**3 > 256**4 or something.  That's a bit odd.

But that doesn't change the final number of words in the mnemonic anyway, so I guess it does not matter much.

However, I recently thought about using /usr/share/dict/words, which is -at least in french-, about 136,000 words long.  This reduces the number of final words to height (for a 128 bit keys), which might be a significative improvment.

BTCurious
Hero Member
*****
Offline Offline

Activity: 714
Merit: 504


^SEM img of Si wafer edge, scanned 2012-3-12.


View Profile
December 22, 2011, 05:53:01 PM
 #257

However, I recently thought about using /usr/share/dict/words, which is -at least in french-, about 136,000 words long.  This reduces the number of final words to height (for a 128 bit keys), which might be a significant improvement.
Is this dictionary constant? Can we rely on it being the same in 10 years? Because if not, then that's not an option.

Red Emerald
Hero Member
*****
Offline Offline

Activity: 742
Merit: 500



View Profile WWW
December 22, 2011, 08:17:37 PM
 #258

Could it be made so that the deterministic addresses and the imported ones can be exported separately?  That way I could export just the non-deterministic keys for backup or whatever
Thomas just posted how to export all keys above, just grab the one you imported manually and note it down.
I don't want to have to worry about splitting my exports manually.  That isn't feasible for scripted backups.  The ability to export just the non-deterministic keys would make automated backups that don't expose the deterministic keys that don't need to be backed up.
did you test the command? imported keys are marked as such. you can do :
Code:
python electrum.py addresses -k | grep imported

Oh that will work just fine.  I didn't realize that they were marked with "imported".

grondilu
Legendary
*
Offline Offline

Activity: 1288
Merit: 1076


View Profile
December 23, 2011, 07:30:21 AM
 #259

However, I recently thought about using /usr/share/dict/words, which is -at least in french-, about 136,000 words long. This reduces the number of final words to height (for a 128 bit keys), which might be a significant improvement.
Is this dictionary constant? Can we rely on it being the same in 10 years? Because if not, then that's not an option.

Indeed.  I worry about that as well but I'm not sure we have more guaranties with the contemporary poetry.

slush
Legendary
*
Offline Offline

Activity: 1386
Merit: 1097



View Profile WWW
December 23, 2011, 07:32:12 AM
 #260

How is electrum-qt coming along?

For various reasons I decided to focus on networking layer before finishing Qt interface. It gives me also some time to think about GUI - it's definitely more complicated to design it properly than I originally thought.

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 ... 96 »
  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!