Bitcoin Forum

Bitcoin => Electrum => Topic started by: ThomasV on January 22, 2014, 07:28:16 PM



Title: Electrum - State of the Alloy
Post by: ThomasV on January 22, 2014, 07:28:16 PM
Dear Bitcoiners,

Since the 1st of january I have officially left my previous job (computer scientist at INRIA) in order to work full time on the development of Electrum. My plan is to create a company, Electrum Technologies, that will distribute the Electrum software, and sell related services. This company project is now officially supported by the incubator of the french region Lorraine (http://incubateurlorrain.org/ ); we signed the contract yesterday.

I am now working on version 2.0 of Electrum. The following features are under development:

1. A Patricia tree data structure, also called "Ultimate Blockchain Compression", will be implemented in Electrum servers. This data structure allows a client to get the balance of any address instantly, and it will also generate a "proof of completeness" (the root hash of the patricia tree), that can be used to check that the server sent all UTXOs related to a given address to the client. A first implementation of this patricia tree was recently completed, and is available in the 'fulltree' branch of the Electrum server. This prototype uses a 256-way branching, and can import recent blocks at 2s/block. Following maaku's suggestion ( https://github.com/maaku/bips/blob/master/drafts/auth-trie.mediawiki ), I plan to upgrade it with binary branching. I also look forward to maaku's C++ implementation, which should be much faster than Python.

2. Version 2.0 will use BIP32 wallets with multiple accounts (this feature was initially planned for 1.9, but it had to be postponed)
Some of these accounts will have no "gap limit", so that merchants can create arbitrary numbers of addresses without messing with the internal parameters of their wallet.

3. Version 2.0 will have a daemon mode, that remains always connected, and that can be queried with json-rpc. This means that shell scripts will be able to use multiple Electrum commands without without opening and closing sockets for each command.

4. A 2-factor authentication service using multisig addresses is under development, that will be available in Electrum through a paying plugin. I made a demonstration of that service in Barcelona last fall, during the meeting organized by genjix. I am now working with lawyers, in order to define the terms of use for that service.

The ETA for version 2.0 (including points 2 and 3) is about 1 month from now. The multisig service (4) will probably require an extra month in order to be finalized.

I am looking forward to the coming months, and I hope to deliver the best possible software.

Thomas

Note: I will attend the Berlin conference in february; send me a note if you want to meet me there.


Title: Re: Electrum - State of the Alloy
Post by: flatfly on January 22, 2014, 08:27:10 PM
Congratulations. This is awesome, seriously.


Title: Re: Electrum - State of the Alloy
Post by: btcven on January 22, 2014, 09:12:15 PM
Great news Thomas! Go Electrum!


Title: Re: Electrum - State of the Alloy
Post by: Mitchell on January 22, 2014, 09:15:41 PM
That sounds great dude! I wish you all the luck in the world ;)


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 22, 2014, 11:02:38 PM
thanks! Just a clarification:
Electrum will always remain open source.
I would never trust a closed source bitcoin client, and you should not.


Title: Re: Electrum - State of the Alloy
Post by: Mitchell on January 23, 2014, 06:48:56 AM
thanks! Just a clarification:
Electrum will always remain open source.
I would never trust a closed source bitcoin client, and you should not.
That is good to hear. Open sourcing your software isn't a bad thing at all (except when people fork your stuff and people come to me to complain about the forked code, because it's outdated and non-functional). It's a great way for people to see how it works and it's great for you, because people can help you find and fix bugs.

By the way, do you intent to keep Electrum free or are you going to charge something for it / do you intent on creation a "Pro" version? Just wondering ;)
Once again, good luck!


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 23, 2014, 08:50:26 AM
By the way, do you intent to keep Electrum free or are you going to charge something for it / do you intent on creation a "Pro" version? Just wondering ;)
I intend to keep it free. The company will sell extra services, it will not sell the software.


Title: Re: Electrum - State of the Alloy
Post by: Mike Hearn on January 23, 2014, 10:20:12 AM
Congratulations, Thomas!

Will you also be at the Foundation-organised conference in May? I will be visiting Berlin at the end of Feb but I think that's not the right time for any Bitcoin conference there.


Title: Re: Electrum - State of the Alloy
Post by: Mitchell on January 23, 2014, 11:57:14 AM
By the way, do you intent to keep Electrum free or are you going to charge something for it / do you intent on creation a "Pro" version? Just wondering ;)
I intend to keep it free. The company will sell extra services, it will not sell the software.
Sounds good. I hope you earn a fair buck from this ;)


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 23, 2014, 02:50:21 PM
Congratulations, Thomas!

Will you also be at the Foundation-organised conference in May? I will be visiting Berlin at the end of Feb but I think that's not the right time for any Bitcoin conference there.

thanks!
this is the conference I was talking about: http://insidebitcoins.de/
I did not know about Amsterdam, but I will try to go there as well.


Title: Re: Electrum - State of the Alloy
Post by: Mitchell on January 23, 2014, 03:24:59 PM
A convention in Amsterdam? About Bitcoin? When, where and how can I join?
Sorry for asking this off-topic question. But I don't want to miss another Netherlands-based convention.


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 23, 2014, 03:51:53 PM
A convention in Amsterdam? About Bitcoin? When, where and how can I join?
Sorry for asking this off-topic question. But I don't want to miss another Netherlands-based convention.
http://www.bitcoin2014.com/


Title: Re: Electrum - State of the Alloy
Post by: CIYAM on January 23, 2014, 03:57:19 PM
I was told by another forum member that Electrum supports offline signing of tx's via QR codes - can you confirm that?

If this is true then would you also consider the idea of signing an arbitrary small message with a Bitcoin signature (which could be used to "login" to a website entirely via QR)?


Title: Re: Electrum - State of the Alloy
Post by: Mitchell on January 23, 2014, 04:24:44 PM
A convention in Amsterdam? About Bitcoin? When, where and how can I join?
Sorry for asking this off-topic question. But I don't want to miss another Netherlands-based convention.
http://www.bitcoin2014.com/
I must go! Thanks for the link dude ;) I will now stop posting off-topic stuff.


Title: Re: Electrum - State of the Alloy
Post by: roy7 on January 23, 2014, 04:27:38 PM
Support for alt coins would be appreciated. :)


Title: Re: Electrum - State of the Alloy
Post by: Abdussamad on January 23, 2014, 11:17:46 PM
Nice!

Also 2.0 has a lot of features. About 3, that sounds a lot like http keepalive for electrum.


Title: Re: Electrum - State of the Alloy
Post by: Daily Anarchist on January 24, 2014, 12:27:50 AM
Will 2.0 make it to the Debian 8 stable repo?


Title: Re: Electrum - State of the Alloy
Post by: Khertan on January 24, 2014, 07:59:16 AM
Oh !!!

Didn't know that electrum was a french Product :)
Did you plan to use Qt5 Qml for next version ?

And if you plan in the future to hire a developper i'm the author of BitPurse, a little client for the Maemo / MeeGo (mobile linux) plateform (python / qml) :)

Good luck !


Title: Re: Electrum - State of the Alloy
Post by: jim618 on January 24, 2014, 11:25:50 AM
Great to hear that you are working on Electrum fulltime now ThomasV !

As I expect you know, Gary and I are working on an HD compatible version of MultiBit.
Mike is refactoring bitcoinj to add in HD support.

The code is closed alpha at the moment (we will open it once it goes into beta but we are still tinkering at the moment).

I think it would be a good idea if we made sure the HD wallets in Electrum 2.0 and MultiBit HD work seamlessly together. When we get it all working in MultiBit HD would you like to be part of our beta testing ?
And conversely we would also like early access to your code to see if everything hooks up together properly.

Were you planning to support Trezor too ?
If so then we can probably do the same approach there.


Once wallets get created and regular users start putting bitcoin on them it starts getting expensive time and effort wise to rework things. I think it is worth us coordinating to bash our code as thoroughly as possible before it goes out on general release.

Let me know if you'd like to and we can give you access to our repo.

Cheers,

Jim


Title: Re: Electrum - State of the Alloy
Post by: supert on January 24, 2014, 12:07:42 PM
This company project is now officially supported by the incubator of the french region Lorraine (http://incubateurlorrain.org/ ); we signed the contract yesterday.

May you become the Red Hat of bitcoin wallets.

v2 sounds brilliant. Well done.


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 24, 2014, 03:22:55 PM
Great to hear that you are working on Electrum fulltime now ThomasV !

As I expect you know, Gary and I are working on an HD compatible version of MultiBit.
Mike is refactoring bitcoinj to add in HD support.

The code is closed alpha at the moment (we will open it once it goes into beta but we are still tinkering at the moment).

I think it would be a good idea if we made sure the HD wallets in Electrum 2.0 and MultiBit HD work seamlessly together. When we get it all working in MultiBit HD would you like to be part of our beta testing ?
And conversely we would also like early access to your code to see if everything hooks up together properly.

Were you planning to support Trezor too ?
If so then we can probably do the same approach there.


Once wallets get created and regular users start putting bitcoin on them it starts getting expensive time and effort wise to rework things. I think it is worth us coordinating to bash our code as thoroughly as possible before it goes out on general release.

Let me know if you'd like to and we can give you access to our repo.

Cheers,

Jim


Thank you, Jim! Is there anything in your code that is not specified in BIP32/BIP39?

As you might know, I postponed BIP32 support in Electrum because we had discussions on the developer's mailing list regarding BIP39, and we could not reach an agreement.
I think the latest BIP39 proposal is much more reasonable, because it does not impose a dictionary.

An important requirement for Electrum is that wallets must be fully recoverable from seed, and with no other knowledge than the seed. This special requirement imposes some constraints on address generation (users cannot generate arbitrary addresses, the wallet creates new addresses when already created addresses are used). The same type of constraint will exist for accounts in a HD wallet with multiple accounts.

Since other wallets do not have that requirement, these constraints are not part of BIP32.
They are, however, important for Electrum wallets.


Title: Re: Electrum - State of the Alloy
Post by: jim618 on January 24, 2014, 05:24:43 PM
Hi ThomasV,

We are planning to implement an intentionally 'vanilla' implementation of BIP32/ 39.
In a similar thought process to you (I think) we are only going to have the BIP32 generated addresses in the wallet e.g you won't be able to import vanity addresses. We'll still maintain the old version of MultiBit with the random key wallets for as long as people want but MultiBit HD will just support HD addresses.

For the general user (I use my lovely but not very technical niece as my archetypical user) being able to restore a wallet from the 12 (or 18 or 24) word seed is such a useful thing the restriction is worth putting in.


There is other stuff going in like an improved contacts database etc but for the core wallet behaviour I don't see any reason why Electrum 2.0 and MultiBit HD wallets shouldn't be fully interoperable. I think the user should be able to use either (or both) and all the addresses, change addresses etc should all be generated identically.

I'll get Gary to open up the multibit-hd repo to you. It'll be a while before we integrate Mike's (ongoing) HD refactoring of bitcoinj - we are mainly going through the GUI usecases at the moment.

Edit: Can you let me know your github user please ? Looking at the contributors to spesmilo/ electrum I thought I would see a 'thomas.*' but I cannot find you !

:-)

Jim


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 24, 2014, 05:51:41 PM
For the general user (I use my lovely but not very technical niece as my archetypical user) being able to restore a wallet from the 12 (or 18 or 24) word seed is such a useful thing the restriction is worth putting in.

If you want users being able to restore using only the seed, you need to make the search finite, therefore to specify how/when new addresses are generated by the wallet.
BIP32 does not specify that; I asked about it in #bitcoin-dev some time ago, but it was considered as non-relevant.

We could use the same spec for that, but mine is not finalized. I am going to upgrade it in Electrum 2.0.

With a client like Multibit, I believe you would also need to rescan the blockchain when restoring a wallet from seed, which makes the process more complicated.


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 24, 2014, 05:52:26 PM
Edit: Can you let me know your github user please ? Looking at the contributors to spesmilo/ electrum I thought I would see a 'thomas.*' but I cannot find you !

I am user ecdsa on github


Title: Re: Electrum - State of the Alloy
Post by: Mike Hearn on January 24, 2014, 09:26:59 PM
With a client like Multibit, I believe you would also need to rescan the blockchain when restoring a wallet from seed, which makes the process more complicated.

Yes. I originally asked for the seed to have a timestamp in the encoding for this reason, but it wasn't done. Oh well. I guess BIP39 is not ideal for anyone :)

IMHO long term the way to go for wallet backups will be to use the seed/private master key as the key for encrypting actual wallet files as well as deriving keys, e.g. on a cloud backup service. Wallets contain more than keys and over time the metadata will become more important.

For pure-SPV wallets to restore a wallet from the seed does indeed require rescanning the chain from the birthday onwards, then extending the chain and updating Bloom filters as the scan progresses. Complicated indeed. My HD work is progressing nicely though and I started on Bloom filtering support today.


Title: Re: Electrum - State of the Alloy
Post by: jim618 on January 24, 2014, 09:31:39 PM
Gary should have given you access to the repo now.

Yes - the rescanning makes things a little more complicated for MBHD. I guess you can do it all in a single call  to a stratum server.

What we plan to do is:

When the user creates a new wallet in MBHD they will get a 12 (or 18 or 24) word seed and also a 'wallet creation day' which will probably just be "today's date as the number of days since the genesis block".

We will ask them to write this down with the seed. There is a page in the 'Create wallet wizard' where they reenter their seed + wallet creation day to check it (like in Electrum).

Then, when the user does a restore of a wallet from the seed we will ask them if they have the 'wallet creation day'. If they do then great we have a quicker sync. If they don't then we will have to sync from the date of the very first HD wallet ever created. That'll be a bit slower but it is tolerable as it is only done once per restore.   We are storing the synced wallet (encrypted) on disk so that we only have to do incremental syncs from then on.

We thought about using a service (say on multibit.org) to look it up but will keep it decentralised initially.

You are right: there is also the size of the address tree to search over - I expect Mike will be working on this. It complicates the bloom filtering as it will probably have to extend dynamically as it sees more transactions.


Title: Re: Electrum - State of the Alloy
Post by: jim618 on January 24, 2014, 09:35:34 PM
Oh - just read Mike's reply.

We are also creating (with various trapdoor functions) an encryption key from the seed to use for cloud backup encryption.

That way if the user has their laptop stolen they can:
+ use the seed phrase to regenerate their wallet addresses (basic restore)
+ if they have a cloud backup and "offer it up" to MBHD with their seed phrase it will be able to decrypt it using the calculated encryption key and they will get everything back (contacts, tx notes etc).


Title: Re: Electrum - State of the Alloy
Post by: Mitchell on January 24, 2014, 10:56:57 PM
I can only understand half of what is being said above (no idea what a HD wallet is), but I really like the way you guys talk with each other. It's so polite and, I dunno, how it should be done, I guess, haha. Just wanted to say that and yes, it I know that it sounds strange. But I haven't seen a conversation like that on BitcoinTalk for a while, so this is/was a pleasant change.


Title: Re: Electrum - State of the Alloy
Post by: Sonny on January 25, 2014, 12:37:50 PM
The version 2.0 looks really great.
Really looking forward to it. :D


Title: Re: Electrum - State of the Alloy
Post by: ThirdRenaissance on January 25, 2014, 06:53:36 PM
I think the latest BIP39 proposal is much more reasonable, because it does not impose a dictionary.

What's the downside of an agreed upon dictionary? Would a dictionary predefined by the standard not guarantee seed interoperability between clients implementing bip39?


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 28, 2014, 01:05:30 PM
Oh - just read Mike's reply.

We are also creating (with various trapdoor functions) an encryption key from the seed to use for cloud backup encryption.

That way if the user has their laptop stolen they can:
+ use the seed phrase to regenerate their wallet addresses (basic restore)
+ if they have a cloud backup and "offer it up" to MBHD with their seed phrase it will be able to decrypt it using the calculated encryption key and they will get everything back (contacts, tx notes etc).

Hi, thanks for the github access. I will check it out.


Title: Re: Electrum - State of the Alloy
Post by: wiseby on January 29, 2014, 03:38:06 AM
Hi,

I have a question regarding transition to HD wallets in Electrum
What user experience is going to look like? Say in 3 years from now your user is downloading Electrum client and tries to enter Electrum 1.9 seed in it.

What would happen?

When is the planed cut-off date? I.e. you would probably have "New" and "Old" versions of Electrum published on your website for a while along with instructions for non tech savvy. How long is that "while" going to be?


Another question: I was checking out carbonwallet.com, that is a BUGGY web version of electrum wallet. I have fixed a bug there which allowed users to enter arbitrary words, and working on another bug which seems to be related to the generation of change addresses (they do not show up in carbon).

Is there anything special with how you are generating change addresses in 1.9? Are they any different from normal addresses? Where I can read about this?

P.S. I'm not a developer of carbonwallet and discourage anyone from using it. I have found 2 major bugs in the first day of using it. I'm just fixing them for fun and self education.


Title: Re: Electrum - State of the Alloy
Post by: empoweoqwj on January 29, 2014, 05:13:11 AM
That's fantastic news. I've used Electrum since I first heard about it and not regretted it. Getting funding is totally awesome news, bring on 2.0 !!


Title: Re: Electrum - State of the Alloy
Post by: duckinhaxor on January 30, 2014, 07:24:31 AM
Hi ThomasV,

I don't use electrum yet, I'm currently using armory because it has severals features I need.

However, Armory is not a user friendly, it's uber heavy, slow, and I really don't like to have to store 2 times the blockchain (1 time for bitcoind/-qt and 1 time for armory), I believe storing the blockchain is something to be done server side and not on a client. That's why I think I m going to use a thin client like Electrum in the future (near future I hope). But now, there is no thin client which can do what I want.

Some questions :

- Shamir Shared Secret (http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) backup is a very cool feature. Example, I split my seed backup in 3 parts using the shamir alogirthm, and If I want to recover my seed, I only need two parts of the backup to recover the seed. Very good for physical security. Yes I can do it manually using some software, but it would be cool if it could be integrated to Electrum in a noob friendly way so my wife could recover my wallet if something happens to me. Do you plan to implement this feature ?

Quote
This special requirement imposes some constraints on address generation (users cannot generate arbitrary addresses, the wallet creates new addresses when already created addresses are used)

- Do you mean I can't generate a new address if I didn't received bitcoin on the previous one ? I don't think it's a good way to handle address generation, a lot of people need to generate multiple addresses for one account in advance, I want to be able to generate 10 different public address for one account without being forced to use them.

- Is Electrum 2 going to be able to handle multiple wallet from one instance ? I know you are going to handle BIP32 wallet or something like that but I would like to be able to open severals differents wallets (and not multiple accounts on one wallet using BIP32 key derivation feature). I would like to be able to look at my watch-only "cold storage" wallet (the one where the private keys is not on the computer) and my others wallets in one instance. Why I don't want to handle all my accounts on one HD Wallet ? Because cold storage is worthless in this case, If one of a child private key is compromised, every private key derivated from the same seed can be recovered (both childs and parents private key) http://bitcoinmagazine.com/8396/deterministic-wallets-advantages-flaw/ (http://bitcoinmagazine.com/8396/deterministic-wallets-advantages-flaw/). That's why it's important to have the cold storage wallet on a different wallet.






Title: Re: Electrum - State of the Alloy
Post by: halcyon on January 30, 2014, 01:05:58 PM


- Shamir Shared Secret (http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing) backup is a very cool feature. Example, I split my seed backup in 3 parts using the shamir alogirthm, and If I want to recover my seed, I only need two parts of the backup to recover the seed. Very good for physical security. Yes I can do it manually using some software, but it would be cool if it could be integrated to Electrum in a noob friendly way so my wife could recover my wallet if something happens to me. Do you plan to implement this feature ?



fascinating stuff!
In my humble opinion this should really be considered as a feature for future electrum versions.


Title: Re: Electrum - State of the Alloy
Post by: FallingKnife on February 01, 2014, 03:09:10 AM
Congratulations! You have earned the success that is headed your way. Thanks for all you've done for the community.


Title: Re: Electrum - State of the Alloy
Post by: KF on February 06, 2014, 07:10:39 AM
...
I have a question regarding transition to HD wallets in Electrum
What user experience is going to look like? Say in 3 years from now your user is downloading Electrum client and tries to enter Electrum 1.9 seed in it.

What would happen?

When is the planed cut-off date? I.e. you would probably have "New" and "Old" versions of Electrum published on your website for a while along with instructions for non tech savvy. How long is that "while" going to be?
...

+1

How would the implementation of BIP32 (and possibly BIP39) in 2.0 affect the ability to recover old-style wallets? Would there be an option in 2.0+ to specify the legacy deterministic wallet and legacy seed?

Related: Would there be a tool to enable migration of cold storage wallets from the legacy deterministic generator to BIP32?


Title: Re: Electrum - State of the Alloy
Post by: Nancarrow on February 06, 2014, 08:19:55 AM
I'm also very interested in this question. ISTM the best thing to do would be to keep the ability to recognise old wallet seeds and generate old style address blocks indefinitely. Presumably it's just a short python module that can be retained without significantly bloating the code?


Title: Re: Electrum - State of the Alloy
Post by: Abdussamad on February 06, 2014, 11:39:42 AM

How would the implementation of BIP32 (and possibly BIP39) in 2.0 affect the ability to recover old-style wallets?

I'm also very interested in this question. ISTM the best thing to do would be to keep the ability to recognise old wallet seeds and generate old style address blocks indefinitely. Presumably it's just a short python module that can be retained without significantly bloating the code?

pre 2.0 wallet seeds will continue to be supported. They will be recognized by the number of words in the seed:

in version 2.0, the seed phrase will be hashed in order to generate the master public key.
thus, any phrase length will be supported.

However, in order to recognize seeds from version < 2, I plan to check if the number of words is 12.
so it's probably not a good idea to create 24 words seeds now.



Title: Re: Electrum - State of the Alloy
Post by: KF on February 06, 2014, 05:37:10 PM
...
pre 2.0 wallet seeds will continue to be supported. They will be recognized by the number of words in the seed:

in version 2.0, the seed phrase will be hashed in order to generate the master public key.
thus, any phrase length will be supported.

However, in order to recognize seeds from version < 2, I plan to check if the number of words is 12.
so it's probably not a good idea to create 24 words seeds now.

So that means those who created 24 word seeds (by entering raw hex) would have to do a migration of all funds to the new style wallets? However, the legacy seeds will continue to be able to recover a wallet even if BIP39 is implemented? (due to the hashing of the seed)

I highly recommend implementing WarpWallet hashing (with salt) if the purpose of creating the hashed seed phrase is to better support brainwallets.


Title: Re: Electrum - State of the Alloy
Post by: nioc on April 05, 2014, 01:53:01 AM
Dear Bitcoiners,

Since the 1st of january I have officially left my previous job (computer scientist at INRIA) in order to work full time on the development of Electrum. My plan is to create a company, Electrum Technologies, that will distribute the Electrum software, and sell related services. This company project is now officially supported by the incubator of the french region Lorraine (http://incubateurlorrain.org/ ); we signed the contract yesterday.

I am now working on version 2.0 of Electrum. The following features are under development:

1. A Patricia tree data structure, also called "Ultimate Blockchain Compression", will be implemented in Electrum servers. This data structure allows a client to get the balance of any address instantly, and it will also generate a "proof of completeness" (the root hash of the patricia tree), that can be used to check that the server sent all UTXOs related to a given address to the client. A first implementation of this patricia tree was recently completed, and is available in the 'fulltree' branch of the Electrum server. This prototype uses a 256-way branching, and can import recent blocks at 2s/block. Following maaku's suggestion ( https://github.com/maaku/bips/blob/master/drafts/auth-trie.mediawiki ), I plan to upgrade it with binary branching. I also look forward to maaku's C++ implementation, which should be much faster than Python.

2. Version 2.0 will use BIP32 wallets with multiple accounts (this feature was initially planned for 1.9, but it had to be postponed)
Some of these accounts will have no "gap limit", so that merchants can create arbitrary numbers of addresses without messing with the internal parameters of their wallet.

3. Version 2.0 will have a daemon mode, that remains always connected, and that can be queried with json-rpc. This means that shell scripts will be able to use multiple Electrum commands without without opening and closing sockets for each command.

4. A 2-factor authentication service using multisig addresses is under development, that will be available in Electrum through a paying plugin. I made a demonstration of that service in Barcelona last fall, during the meeting organized by genjix. I am now working with lawyers, in order to define the terms of use for that service.

The ETA for version 2.0 (including points 2 and 3) is about 1 month from now. The multisig service (4) will probably require an extra month in order to be finalized.

I am looking forward to the coming months, and I hope to deliver the best possible software.

Thomas

Note: I will attend the Berlin conference in february; send me a note if you want to meet me there.


Any updates?


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on April 05, 2014, 09:42:45 AM
Any updates?

Sure :)

Points 1 and 3 have been addressed, and I made another release a few weeks ago, version 1.9.8. The 1.9.8 client uses new servers with that Patricia tree ("ultimate blockchain compression"). The daemon mode works on linux, but it needs to be fixed on other platforms.

Concerning points 2 and 4, more development is needed. You can check the progress on github.


Title: Re: Electrum - State of the Alloy
Post by: jubalix on April 08, 2014, 12:22:59 AM
Congrats

I love electrum it has so many features.

However the depth of features may not be apparent to the novice user. Some sort of UX change to bring some of the buttons like freeze etc to the fore front may be useful. Eg I like to control what addresses send and recieve what.

The only technical nag I have is as posited before....If repeated public spending from addresses some how builds up a picture of the original MPK and private key....which was answered no, but it some how sits in the back of my mind that there must be some sort of backwards linkage.

Apart from that I struggle to thing of anything I could even want electrum to do better....it does everything so well.


Title: Re: Electrum - State of the Alloy
Post by: jonald_fyookball on May 20, 2014, 07:33:05 PM
Congrats

I love electrum it has so many features.

However the depth of features may not be apparent to the novice user. Some sort of UX change to bring some of the buttons like freeze etc to the fore front may be useful. Eg I like to control what addresses send and recieve what.

The only technical nag I have is as posited before....If repeated public spending from addresses some how builds up a picture of the original MPK and private key....which was answered no, but it some how sits in the back of my mind that there must be some sort of backwards linkage.

Apart from that I struggle to thing of anything I could even want electrum to do better....it does everything so well.


Well I'm not an expert, but here's what I think:

Seems unlikely because each address is created using a double sha-256 hash of the sum of the address sequence and the MPK.  So you'd have to have some pretty advanced crypto cracking there just to figure out
The MPK.

Even if you knew the MPK, the master private key would be protected by ECDSA.

But what may be dangerous is revealing one private key in the wallet may compromise the whole wallet.
It says so in a warning message if you try to export your keys.

If you want extra security for a cold wallet, simply create a new cold wallet and send your funds to a single address there.


Title: Re: Electrum - State of the Alloy
Post by: RustyNomad on October 11, 2014, 10:57:45 AM
Was wondering whether there is any updates on the progress made on Electrum 2.0?

Will there be a beta phase  for testing?


Title: Re: Electrum - State of the Alloy
Post by: Totscha on November 06, 2014, 01:01:58 PM
I'm bumping this thread. Basicaly I'd like to know the progress with 2.0 too.


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on November 12, 2014, 06:25:38 AM
obviously it's taking much more time than I initially planned; sorry about that.


Title: Re: Electrum - State of the Alloy
Post by: Totscha on November 27, 2014, 11:57:29 AM
obviously it's taking much more time than I initially planned; sorry about that.


No worries, I understand how ETAs given by developers work (being one myself). :D

But still, any rough idea about the new ETA?


Title: Re: Electrum - State of the Alloy
Post by: wosch76 on December 08, 2014, 08:58:05 AM
obviously it's taking much more time than I initially planned; sorry about that.


No worries, I understand how ETAs given by developers work (being one myself). :D

But still, any rough idea about the new ETA?
Please give us an update.


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on December 10, 2014, 03:57:46 PM
Is it going to include support for the Hardware Wallet usb key?


Title: Re: Electrum - State of the Alloy
Post by: wosch76 on December 15, 2014, 02:09:12 PM
Is it going to include support for the Hardware Wallet usb key?
That should be included and is already in the beta and that's the reason why I ask when the v2.0 is released :)


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on December 16, 2014, 12:50:43 PM
Is it going to include support for the Hardware Wallet usb key?
That should be included and is already in the beta and that's the reason why I ask when the v2.0 is released :)

I need it in a windows version that I don't have to compile. Thanks.  ;D


Title: Re: Electrum - State of the Alloy
Post by: wosch76 on December 18, 2014, 09:39:30 AM
Is it going to include support for the Hardware Wallet usb key?
That should be included and is already in the beta and that's the reason why I ask when the v2.0 is released :)

I need it in a windows version that I don't have to compile. Thanks.  ;D

me too. that's why I asked several times now for the compiled dummy-proofed windows version  ;D
I bought the Hardware Wallet on Black Friday and wanna use it with electrum  :P


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on December 24, 2014, 02:21:38 PM
Is it going to include support for the Hardware Wallet usb key?
That should be included and is already in the beta and that's the reason why I ask when the v2.0 is released :)

I need it in a windows version that I don't have to compile. Thanks.  ;D

me too. that's why I asked several times now for the compiled dummy-proofed windows version  ;D
I bought the Hardware Wallet on Black Friday and wanna use it with electrum  :P
Ditto that. Looking forward to it. Please!  :P


Title: Re: Electrum - State of the Alloy
Post by: gsupp on January 08, 2015, 11:59:51 PM
Electrum 2.0 progress?


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on January 23, 2015, 10:48:33 AM
The two-factor authentication plugin was merged yesterday.
There will be a beta release next week.


Title: Re: Electrum - State of the Alloy
Post by: Totscha on January 23, 2015, 11:22:28 AM
The two-factor authentication plugin was merged yesterday.
There will be a beta release next week.


Hooray! :)


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on January 25, 2015, 10:00:47 AM
The two-factor authentication plugin was merged yesterday.
There will be a beta release next week.


Will a link be posted here for that or on the Electrum website?  Thanks for the effort. ;D

Also, will that include support for both BTChip and Trezor?


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on January 31, 2015, 05:27:39 AM
The two-factor authentication plugin was merged yesterday.
There will be a beta release next week.


Will a link be posted here for that or on the Electrum website?  Thanks for the effort. ;D

Also, will that include support for both BTChip and Trezor?

Any updates on this? Thanks  ???


Title: Re: Electrum - State of the Alloy
Post by: Madness on January 31, 2015, 09:35:27 AM
Wow , really awesome news , keep up the good work mate and thanks for the sacrifice you did I guess (leaving your job)
was you the creator of Electrum BTC Wallet in the first place or you are just developping it . btw it would be nice if you can add more features like generating more adresses because I don't think that 5 adresses is enough to be honest also making adresses (multisig) that start with number three .

~ Madness


Title: Re: Electrum - State of the Alloy
Post by: Q7 on January 31, 2015, 12:42:34 PM
The two-factor authentication plugin was merged yesterday.
There will be a beta release next week.


this is getting exciting. With the two-factor authentication, this will make electrum even more secure to prevent authorized access to wallets and loss of fund. Just wondering where can I get the beta release?  ;)


Title: Re: Electrum - State of the Alloy
Post by: rascal777 on February 01, 2015, 03:47:34 AM
This is definitely a thread full of experts.
 
I am a year late, but I am really getting interested in the Electrum wallet.

I am stuck trying to determine how to talk to the Electrum wallet. Via JSON, I am guessing over a ethernet socket?   I would like to have my webpage grab new addresses from the Electrum wallet and assign labels to the addresses.  Are there good tools for this?  How would I go about doing this?  Can you point me to an example? ex

I would be willing to pay for a writeup or try and start documenting a walkthrough for how the api works, but I really need to be pointed to the correct place, or be able to see some examples of this in action.


Title: Re: Electrum - State of the Alloy
Post by: dansmith on February 02, 2015, 03:53:46 PM
If you type electrum help, you'll see a list of API calls to the wallet.
You can do electrum listaddresses, then choose an address and do electrum setlabel 1MyAddr.. mylabel

This is definitely a thread full of experts.
 
I am a year late, but I am really getting interested in the Electrum wallet.

I am stuck trying to determine how to talk to the Electrum wallet. Via JSON, I am guessing over a ethernet socket?   I would like to have my webpage grab new addresses from the Electrum wallet and assign labels to the addresses.  Are there good tools for this?  How would I go about doing this?  Can you point me to an example? ex

I would be willing to pay for a writeup or try and start documenting a walkthrough for how the api works, but I really need to be pointed to the correct place, or be able to see some examples of this in action.


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 04, 2015, 02:28:10 PM
Any status on a working, complied windows Beta of 2.0?  ???


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on February 04, 2015, 03:11:55 PM
Any status on a working, complied windows Beta of 2.0?  ???

see here: https://bitcointalk.org/index.php?topic=944976.0


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 04, 2015, 03:14:55 PM
Great news. Will check it out. Thanks


Title: Re: Electrum - State of the Alloy
Post by: rascal777 on February 04, 2015, 03:49:31 PM
If you type electrum help, you'll see a list of API calls to the wallet.
You can do electrum listaddresses, then choose an address and do electrum setlabel 1MyAddr.. mylabel


How are the API calls done?   Can i use JSON to a port?  or is this strictly a python call?

What is the expected parameters for each call?  These are the things I'd like to have documented.

Is there a plugin that makes these commands available over an ethernet port?  If that doesn't exist, Should it?  Would it be helpful to have a bounty put up to have one made?


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on February 04, 2015, 05:07:51 PM
If you type electrum help, you'll see a list of API calls to the wallet.
You can do electrum listaddresses, then choose an address and do electrum setlabel 1MyAddr.. mylabel


How are the API calls done?   Can i use JSON to a port?  or is this strictly a python call?

What is the expected parameters for each call?  These are the things I'd like to have documented.

Is there a plugin that makes these commands available over an ethernet port?  If that doesn't exist, Should it?  Would it be helpful to have a bounty put up to have one made?

These are python calls.
I just added the list of commands and parameters to the documentation wiki: https://electrum.orain.org/wiki/List_of_commands

There is also an electrum daemon, that is be accessed with JSON over a port.
However, it has different commands (see stratum)


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 06, 2015, 02:49:15 AM
I am using the window complied version of Electrum 2.0 beta. When I try to restore an wallet and select the Trezor hardware wallet the program closes. Please advice or direct me to some online documentation of I am doing something wrong. Thanks.


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on February 06, 2015, 06:21:27 AM
I am using the window complied version of Electrum 2.0 beta. When I try to restore an wallet and select the Trezor hardware wallet the program closes. Please advice or direct me to some online documentation of I am doing something wrong. Thanks.

thanks for noticing that.
I fixed it here: https://github.com/spesmilo/electrum/commit/271a27fc83121e206631ebac95490973f6e96adb
next binaries will have the fix.


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 07, 2015, 03:03:59 AM
I am using the window complied version of Electrum 2.0 beta. When I try to restore an wallet and select the Trezor hardware wallet the program closes. Please advice or direct me to some online documentation of I am doing something wrong. Thanks.

thanks for noticing that.
I fixed it here: https://github.com/spesmilo/electrum/commit/271a27fc83121e206631ebac95490973f6e96adb
next binaries will have the fix.

Please let us know when the next compiled version will be available. Thanks for  your efforts.


Title: Re: Electrum - State of the Alloy
Post by: rascal777 on February 09, 2015, 06:25:52 AM

There is also an electrum daemon, that is be accessed with JSON over a port.
However, it has different commands (see stratum)

Great!  I'm assuming that the daemon is the standalone portable version, correct?  Electrum-2.0b2.exe    or is it merchant.py?

Could you provide a link to the commands? or the .py file these commands are listed?   I know stratum is a protocol used to expose services.  I am familiar with the details of the stratum mining service as a protocol to transport mining information from bitcoind to a pool.  ( I wrote a proxy)

Best thing I found (120 days old) was this ->  https://bitcointalk.org/index.php?topic=110795.msg1833852#msg1833852  and actually, that looks like the stratum is used to talk to the Electrum server, not the client.

If you type electrum help, you'll see a list of API calls to the wallet.
You can do electrum listaddresses, then choose an address and do electrum setlabel 1MyAddr.. mylabel

I thought more about this, and I was wondering...  when I do electrum listaddresses, does that require me to run that in the python development environment?  i.e. on windows I will be doing "python electrum listaddresses", and if I built electrum into an executable, I would no longer have this functionality?


Really what I am after, is the functionality provided by the merchant.py.  So, possibly what I am seeing is the best way for anyone to use Electrum as a service to their bitcoin application, is to create a plugin for Electrum that provides the interface.


Title: Re: Electrum - State of the Alloy
Post by: ThomasV on February 09, 2015, 04:03:28 PM
Really what I am after, is the functionality provided by the merchant.py.  So, possibly what I am seeing is the best way for anyone to use Electrum as a service to their bitcoin application, is to create a plugin for Electrum that provides the interface.

I agree with that. it's on my todo list.


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 14, 2015, 03:21:20 AM
Really what I am after, is the functionality provided by the merchant.py.  So, possibly what I am seeing is the best way for anyone to use Electrum as a service to their bitcoin application, is to create a plugin for Electrum that provides the interface.

I agree with that. it's on my todo list.

Anytime line on the compile for windows? I would really like to use Electrum with my Bwallet (Trezor clone)


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 20, 2015, 03:02:40 AM
Hello? Anyone home?  ???


Title: Re: Electrum - State of the Alloy
Post by: siampumpkin on February 20, 2015, 12:22:39 PM
Hello? Anyone home?  ???
you wanted to go with a cheap copy of Trezor - just contact the manufacturer... you can't have your cake and eat it too!

Support developers that provide added value - don't support copycats - and don't expect honorable developers, like ThomasV and SatoshiLabs to support knock-offs.

I am not against competition, but this Bwallet is not competition - it is simply a copycat, based on open-sourced firmware and code from SatoshiLabs.   No added value.  Most likely with no support, no anything at all, really... you received what you paid for... enjoy, while it lasts! ... and I hope your bootloger is safe...



That has nothing to do with the bug in Electrum that closes when trying to use a hardware wallet. I was just asking the developer when he is going to recompile the bug fix into the code. The developer of Electrum gets nothing by my buying a Trezor or any other hardware wallet so your statement really makes no sense at all.


Title: Re: Electrum - State of the Alloy
Post by: rascal777 on February 24, 2015, 02:18:54 AM
So I still have some unanswered questions...

1.  Why is Electrum being build in Python 2 instead of Python 3?

2.  What exactly is the Electrum daemon?

3.  when I do electrum listaddresses, does that require me to run that in the python development environment?  i.e. on windows I will be doing "python electrum listaddresses" in a command window?


Title: Re: Electrum - State of the Alloy
Post by: rally on December 06, 2015, 11:42:15 AM
I have downloaded this wallet for LTC and see my coins.
I want to sent a part of them, but i get always :
'Non type'object has no attibute'_getitem_'

What does this mean. How can i sent coins?
Can someone help me?


Title: Re: Electrum - State of the Alloy
Post by: tnkflx on December 06, 2015, 06:41:59 PM
I have downloaded this wallet for LTC and see my coins.
I want to sent a part of them, but i get always :
'Non type'object has no attibute'_getitem_'

What does this mean. How can i sent coins?
Can someone help me?

There's no support for alt coins.


Title: Re: Electrum - State of the Alloy
Post by: RustyNomad on December 06, 2015, 10:46:03 PM
I have downloaded this wallet for LTC and see my coins.
I want to sent a part of them, but i get always :
'Non type'object has no attibute'_getitem_'

What does this mean. How can i sent coins?
Can someone help me?

There's no support for alt coins.

I think he is speaking of the LTC version of Electrum. If so then try and download the latest version, you can get it here https://electrum-ltc.org/download/ (https://electrum-ltc.org/download/)

In regards to alt coins, you can try Encompass which is based on Electrum and supports several different alt coins. There is a new version out at present (0.6.0) but its only a RC1 version so still early days but if you have some alt coins then Encompass is highly recommended.

You can find Encompass on GitHub at https://github.com/mazaclub/encompass/releases (https://github.com/mazaclub/encompass/releases)


Title: Re: Electrum - State of the Alloy
Post by: rally on December 07, 2015, 04:20:09 PM
I have downloaded this wallet for LTC and see my coins.
I want to sent a part of them, but i get always :
'Non type'object has no attibute'_getitem_'

What does this mean. How can i sent coins?
Can someone help me?

There's no support for alt coins.

I think he is speaking of the LTC version of Electrum. If so then try and download the latest version, you can get it here https://electrum-ltc.org/download/ (https://electrum-ltc.org/download/)

In regards to alt coins, you can try Encompass which is based on Electrum and supports several different alt coins. There is a new version out at present (0.6.0) but its only a RC1 version so still early days but if you have some alt coins then Encompass is highly recommended.

You can find Encompass on GitHub at https://github.com/mazaclub/encompass/releases (https://github.com/mazaclub/encompass/releases)

Thanks to answer.
I am going to try it the way you mention.
Perhaps if i have the time  i do it today.
Thanks in advance for the help.