-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Support for Bitcoin Bech32 SegWit addresses #1139
Comments
bisq depends on bitcoinj for its wallet/bitcoin transactions, and bitcoinj has no segwit/bech32 support as of today. If it's in bitcoinj, we will support it asap! |
See bitcoinj/bitcoinj#1441 ... so we will get BIP49 (P2SH-P2WKPH, 3...) addresses before BIP173 (P2WKPH, bc1...) addresses |
I will close for now to keep GH organized with issues which are subject to be implemented in a reasonable time scope. I mark it as deferred. |
@mrosseel: segwit support has been merged into bitcoinj master since june 2017: bitcoinj/bitcoinj#1334 |
Thats not full segwit support. See BitcoinJ mailing list.... |
@mrosseel: thanks for clarifying; I wasn't aware that the current bitcoinj implementation is not complete, but in my understanding the existing code is enough to generate compatible segwit addresses that start with |
SamouraiWallet uses its own fork. I have not followed the details but I am pretty sure that BitcoinJ at the current state is not fully supporting SegWit. |
SamouraiWallet uses 'compatible' i.e. non-bech32 segwit addresses which start with |
@ManfredKarrer, I'm re-opening this issue. SegWit support is our number one requested feature, and this is the only issue we have to track it. Whether it can be implemented in a reasonable time frame is a matter of whether people step up to help implement it. Having this issue open can help potential contributors understand that we're actively looking for this help. |
Note that we should probably create a new, more general issue / epic around "SegWit support" and do our best to break down what we we think users actually want and need. |
Andreas Schildbach just completed an important part of the SegWit implementation but it is still not fully complete in BitcoinJ. |
Here is a link to the bitcoinj mailing list post that describes this work: https://groups.google.com/forum/#!topic/bitcoinj/_YG1UHJzE9Y |
Quite some time have passed. What's current status of supporting SegWit? The lack of it really demotivates to start using Bisq. |
We depend on BitcoinJ and it is still not implemented there ;-(. We don't have the resources to implement it in BitcoinJ on our own. Any dev welcome to help here |
Aww :( . Maybe it would be possible to crow-fund it somehow? I believe there should be quite a few project, maybe even exchanges, using it. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Un-stale, still relevant. |
Sure we would like to have that but there are no dev resources atm to work on that in forseeable future. BitcoinJ needs to get implemented Segwit. They are working on it but still not finished. We want to keep our GH issues list for those tasks where Bisq devs are actually working. We will for sure not forget about it :-). |
That's good news! |
@ManfredKarrer We would like to also help out regarding bech32 sendability in BitcoinJ: Does "lack of dev resources" mean lack of funding for a developer to work on it or it's rather lack of right people for the job? |
@nopara73
I would say both, beside @oscarguindzberg I am not aware of any available BitcoinJ developer (who knows the library really well) and we cannot afford atm to fund a second dev in that area. Though as soon the DAO is out and BSQ is successful we might try to find a second dev in that area to speed up development. |
Go away bot, no stale! :) |
It seems #2772 is almost ready to merge, can we talk about bech32 support on the next dev call? |
In the meantime you can just recover your seed in electrum and send directly to bech32 addresses with that.. Useful if you're going to mix in wasabi or something.. |
As it seems the Bitcoin wallet will be removed from Bisq as part of the v2 trading protocol, this issue seems like a WONTFIX because you'll be able to use any wallet of your choosing with Bisq. |
@wiz could you elaborate how that would look like in practice? |
The details are in the Bisq v2 proposal, but basically you can use any external settlement method you want, modern Bitcoin wallets and on-chain transactions or Lightning off-chain: bisq-network/proposals#118 |
@wiz it's all a bit too hard to grasp, and a bit too vague. How buying Bitcoin using some external (let's say Electrum) wallet will actually look like? Will we have to create multisig contracts ourselves, or.. how all this will work? Although, this is kind off topic to this issue... |
In Bisq v2, security is implemented using bonds. By using long-term bonds instead of short-term bonds (i.e. security deposits) for each trade, this financially incentivizes everyone to stay honest, while allowing everyone to settle the trades however they want, using whatever wallets they want. |
People want SegWit unlike bonds of any kind. Better come out from the developer's box. |
Making v2 is lot of work. Updating Bitcoinj to use segwit (p2sh or native) would really help reduce tx fees. |
Note that bitcoinj 0.15 only has limited support for P2SH-P2WPKH; the focus is on native P2WPKH. |
If we use compatible only to pay into Bisq wallet, we can use native for multisig etc. |
We don't have a BitcoinJ dev atm (hope @oscarguindzberg comes back soon) so that is why the BitcoinJ 0.15 upgrade is on hold and even then it would require another 2-4 months to get full segwit support in Bisq. |
No bech32? Oh my...This is really sad... |
There was an attempt to upgrade to bitcoinj 0.15, but as long as we don't have a dedicated bitcoinj dev it is just too much risk to upgrade. |
So the upgrade would fix it? Does bitcoinj already have full segwit support or more work needed on bitcoinj side?
Do you mean someone who understands BitcoinJ or someone from BitcoinJ project? |
As far as I remember it would allow bech32 addresses to receive and send funds. Using bitcoinJ segwit implementation within the trade protocol had some limitations as far as I remember.
Someone who understands BitcoinJ properly and takes over the role maintaining our fork of it: https://github.com/bisq-network/bitcoinj |
Just in any case: @oscarguindzberg would you be interested taking over this role again? 😄 |
Right, now everything makes sense 😄 Why did you fork it, broadly speaking? |
@gustavonalle There lots of commits https://github.com/bisq-network/bitcoinj/commits/bisq_0.14.7 added to our branch, but I don't know exactly anymore which were committed to the public bitcoinj repo afterwards and which didn't. The initial reason why we forked the project was a privacy issue (I think it was about some default dns seeds), but I don't remember anymore exactly. That is one of the reasons why we need a dev focused on bitcoinJ 😜 . Maybe @ManfredKarrer still remembers the origins of our fork. |
FYI, this is the diff between bitcoinj 0.14.7 and your fork: bitcoinj/bitcoinj@v0.14.7...bisq-network:bisq_0.14.7 |
This has been implemented. |
https://github.com/bitcoin/bips/blob/master/bip-0173.mediawiki
The text was updated successfully, but these errors were encountered: