Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Taproot support? #7544

Open
yura-pakhuchiy opened this issue Oct 24, 2021 · 23 comments
Open

Taproot support? #7544

yura-pakhuchiy opened this issue Oct 24, 2021 · 23 comments
Labels
topic-wallet 👛 related to wallet.py, or maybe address_synchronizer.py/coinchooser.py
Milestone

Comments

@yura-pakhuchiy
Copy link
Contributor

Do you plan to support creation of wallets with taproot addresses?

@brianddk
Copy link
Contributor

@ecdsa , @SomberNight - Is this the best issue to track this under?

@SomberNight
Copy link
Member

Yes, naturally we plan to add taproot support.
Initially only singlesig wallets with keypath spends will be implemented.

To be able to create watch-only versions of these wallets (required before we can expose it to users), some wallet-refactoring and wizard changes are needed, as we don't want to extend the current x/y/zpub scheme. Most likely some form of output script descriptors should be used.

No ETA, but it is on the TODO list.

@SomberNight SomberNight added the topic-wallet 👛 related to wallet.py, or maybe address_synchronizer.py/coinchooser.py label Nov 17, 2021
@SomberNight SomberNight added this to the backlog milestone Nov 17, 2021
@prusnak
Copy link
Contributor

prusnak commented Nov 17, 2021

Most likely some form of output script descriptors should be used.

For Trezor we use extended descriptors suggested by achow101: p2tr(xpub..../<0;1>/*)

@Engelberg
Copy link

Will electrum recognize taproot addresses as valid when sending to other wallets with taproot support?

@paboum
Copy link

paboum commented Dec 31, 2021

I would like to donate 50 mBTC to this feature as a bounty. Please e-mail me with the GPG keys/GitHub nicknames of the developers that are going to drive this, a roadmap and a preferred donation model. I'm also happy to just donate to the project when the feature is released, if all the implementers agree on that.

@paboum
Copy link

paboum commented Mar 2, 2022

I don't understand why no contact was made with me for the past 2 months. This feature seems crucial to enabling a widespread taproot adoption on btc network, possibly overcoming ethereum's dominance on smart contracts market, and the reference implementation is already available in bitcoin-core. I've been using bitcoin-core back in 2010s and I strongly prefer not to go back to running a full node (at least until my assets valuate at $10M). I was happy to observe LN adoption in Electrum, I can't wait to get my hands on the first btc sc ever created. Eventually, BIP 340, 341, and 342 was activated and enforced at block 709,632 on November 12th, 2021, now we are only waiting for easy-to-use technical implementation and market adoption. I have offered a financial incentive comparable to 6 months of senior python developer's salary, what else is blocking you? Am I misunderstanding the technical difficulty here? Does it seem strange that I wish to spend money to earn more money? Why is there even no actual interest in changing the status quo? I am now strongly considering to present the same offer to other projects, I am watching this list daily: https://en.bitcoin.it/w/index.php?title=Bech32_adoption&action=history

@prusnak
Copy link
Contributor

prusnak commented Mar 2, 2022

... comparable to 6 months of senior python developer's salary, what else is blocking you?

I don't know where do you live, but what you offered is no more than 20 days of senior Python developer's work in country where I live. And salaries in other countries are even 3- to 5-times higher than this.

But most importantly, the work does not magically get done by throwing money at it. What most open-source projects are struggling with is manpower, not money.

PS: I do not speak for Electrum project, I am just a random Electrum contributor.

@paboum
Copy link

paboum commented Mar 2, 2022

I don't know where do you live, but what you offered is no more than 20 days of senior Python developer's work in country where I live. And salaries in other countries are even 3- to 5-times higher than this.

An interesting notion. Please let me know about current job offers in your area, I might even learn some python myself.
According to Indeed, the highest Python developer salary in New York, reaches $133,526. Python programmers in San Francisco earn about $120,552 per year. Python's salary in San Jose offers a salary of $115,367 per year. In Boston, the Python developer's salary reaches $124,680 per year.

This being said, I'm not looking for specific commits here, but rather for a notion that something is being done. I believe this project, as having 303 contributors, has some managemental and organisational roles too, someone should be coordinating your efforts and setting the course. They should know best how to remove the impediments and how (if at all) my contribution can help with achieving that. The communication so far sounds rather "we are happy with ourselves, please go away" and I'm happy to comply, after all nobody can stop the progress.

@prusnak
Copy link
Contributor

prusnak commented Mar 2, 2022

as having 303 contributors

This is very skewed perspective. There are 303 people that at some point contributed to Electrum. There is a very long tail of contributors and most of the people contributed just one thing ("scratching your own itch" as they say) and never returned back. If you look closely at charts presented at https://github.com/spesmilo/electrum/graphs/contributors there are only 2 people who can be considered as core contributors.

You are more than welcome to learn Python and contribute the change, or find someone to contribute instead of you, but you can't be angry with developers not taking your offer, because they have full hands with other things that seem more important to them.

@SomberNight
Copy link
Member

SomberNight commented Mar 2, 2022

I was busy with other things so I did not yet work on this - nor did anyone else AFAICT. It is high on my list however.
"it will be out when it's ready"

taproot adoption on btc network, possibly overcoming ethereum's dominance on smart contracts market

Uhmmm maybe we should clarify the scope of this issue... I am only thinking about keypath spends and likely OP_CHECKSIGADD multisig in script-path spends. If upstream libsecp adds musig2, maybe that as well (but that's already a separate task). Not sure what you mean by "smart" contracts.
More generic tapscript stuff will also be implemented in the python library, as it will likely be needed for lightning in the future, however there are no plans to expose that to the UI.

I would like to donate 50 mBTC to this feature as a bounty.

comparable to 6 months of senior python developer's salary

Perhaps I should sell some coins to you :) as it sounds like you are using an excessively high exchange rate compared to cost of living. Jokes aside, just out of curiousity, what exchange rate are you calculating with?

In any case, your bounty is welcome, I might ping you if it still stands when this is done.

@paboum
Copy link

paboum commented Mar 2, 2022

Ah, okay, it seems your project is not significant at all, the whole magic takes place in bitcoin-core/secp256k1 anyway. Sorry to startle you, the deal is off the table.

Not sure what you mean by "smart" contracts.

Try looking for Nick Szabo, 1994.

@blockonomics
Copy link

Yes, naturally we plan to add taproot support. Initially only singlesig wallets with keypath spends will be implemented.

To be able to create watch-only versions of these wallets (required before we can expose it to users), some wallet-refactoring and wizard changes are needed, as we don't want to extend the current x/y/zpub scheme. Most likely some form of output script descriptors should be used.

No ETA, but it is on the TODO list.

Would be great if you can come to a common format along with test vector for xpub scheme for this [ also see slip github issue ]. This would help explorers like blockonomics.co , blockchain.com, cointracker support xpub lookups

@prusnak
Copy link
Contributor

prusnak commented Mar 30, 2022

a common format along with test vector for xpub scheme for this

There is already this: https://github.com/satoshilabs/slips/blob/master/slip-0014.md#bitcoin-taproot--p2tr--bip86 (we use extended descriptor syntax proposed by achow101)

Both simplified descriptor format

tr(xpub6Bw885JisRbcKmowfBvMmCxaFHodKn1VpmRmctmJJoM8D4DzyP4qJv8ZdD9V9r3SSGjmK2KJEDnvLH6f1Q4HrobEvnCeKydNvf1eir3RHZk)

and the extended descriptor format

tr([5c9e228d/86'/0'/0']xpub6Bw885JisRbcKmowfBvMmCxaFHodKn1VpmRmctmJJoM8D4DzyP4qJv8ZdD9V9r3SSGjmK2KJEDnvLH6f1Q4HrobEvnCeKydNvf1eir3RHZk/<0;1>/*)#4swej4wz

work on our blockbook.

@ghost
Copy link

ghost commented Apr 16, 2022

I would like to donate 50 mBTC to this feature as a bounty.

comparable to 6 months of senior python developer's salary

it seems your project is not significant at all

What a total idiot?

@nbourbon
Copy link

Hey just checking in... is Taproot going to be supported?. I'm struggling with this as I've always used Electrum with my HW but I no longer want to use Segwit... so not having taproot will force me to switch tools and I want to stay here :)

@ecdsa
Copy link
Member

ecdsa commented Jul 17, 2022

yes, it is going to be supported. please stop asking...

@signverify
Copy link

signverify commented Mar 21, 2023

Adding my +1 here.

@KriptoQraf
Copy link

Adding my +1 here.

why

@mmmmyah
Copy link

mmmmyah commented Feb 7, 2024

Hi - any updates on this? Other wallets like Ledger wallet have already implemented taproot support.. please add in Electrum thanks

@Catlike14
Copy link

Is there something we can do in order to speed up this development?

@prusnak
Copy link
Contributor

prusnak commented Mar 1, 2024

Is there something we can do in order to speed up this development?

You can send a pull request with the change that adds Taproot.

@helpau
Copy link

helpau commented Apr 5, 2024

Probably related pyca/cryptography#8202

@chrismcfee
Copy link

June 2024 and still no support for taproot addresses. Friendly reminder that Electrum and all related projects amount to a COMPLETE JOKE and no one should ever seriously consider using this garbage.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
topic-wallet 👛 related to wallet.py, or maybe address_synchronizer.py/coinchooser.py
Projects
None yet
Development

No branches or pull requests

17 participants