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

Design plan for SegWit support #34

Closed
oscarguindzberg opened this issue May 15, 2020 · 5 comments
Closed

Design plan for SegWit support #34

oscarguindzberg opened this issue May 15, 2020 · 5 comments
Assignees
Labels
has:approval bisq.wiki/Project_management#Approval has:budget bisq.wiki/Project_management#Budgeting to:Improve Security to:Increase Liquidity

Comments

@oscarguindzberg
Copy link

This is a Bisq Network project. Please familiarize yourself with the project management process.

Description

Design a plan for migrating to bitcoinj 0.15 and using segwit in bisq. Implementation is not part of this project.

Rationale

Benefits of using segwit:

  • Users could withdraw btc from their bisq wallet to an external segwit (bech32) address.
  • Pay less fees in btc transactions when segwit is used.
  • Eliminate a transaction malleability exploit in the trade protocol which can cause the deposit TX and payout TX
    to become invalidated.
  • Extra: get access to all the new features in bitcoinj 0.15 (not immediate benefit, but the potential is there)

A design/plan project is created because there are options to evaluate, decisions to make and it would be very hard to estimate implementation before design/plan is done.

Criteria for delivery

  • Document with a design/plan for using segwit in bisq. Alternatives, roadblocks, pro/cons and migration concerns should be described.

Measures of success

  • An implementation project is started.
  • Once implemented...
  • User withdraw btc from their Bisq wallet to a external segwit (bech32) addresses.
  • btc transactions are cheaper, users perceive it is cheaper to use bisq.
  • Malleability exploit in the trade protocol is gone.
  • bitcoinj 0.15 features are used by bisq devs.

Risks

  • Since this is a plan/design project, the only risk is its outcome is not implemented.

Tasks

  • Plan migration to bitcoinj 0.15
  • List different parts of bisq where segwit could be adopted and evaluate cost/benefit of each one.
  • List segwit migration alternatives and evaluate cost/benefit of each one.
  • Write an implementation plan for the chosen alternative.

Estimates

4000 USD

Notes

@oscarguindzberg oscarguindzberg added a:proposal bisq.wiki/Project_management#Proposal needs:triage bisq.wiki/Project_management#Triage labels May 15, 2020
@dmos62
Copy link

dmos62 commented May 17, 2020

Welcome back, @oscarguindzberg! I'm in early stages of a Bisq-side BitcoinJ refactor (#30), with the goal of making maintenance easier for Bisq-side devs and the BitcoinJ maintainer. Currently, I'm finishing up a concrete-ish sketch of what I have in mind and should post it soon enough.

I would like to bounce some ideas off you and see how to make this refactor more helpful to your BitcoinJ-related projects here. I see that you haven't created a Keybase account yet. Could you reach me there when you do? My handle is dmos.

@cbeams cbeams added has:approval bisq.wiki/Project_management#Approval has:budget bisq.wiki/Project_management#Budgeting and removed needs:triage bisq.wiki/Project_management#Triage a:proposal bisq.wiki/Project_management#Proposal labels May 18, 2020
@cbeams
Copy link
Member

cbeams commented May 18, 2020

@sqrrm (acting dev team lead) and I met and discussed this project and approved it. I've updated the labels to reflect, and I've added this issue to the Master Projects Board as In Progress.

@oscarguindzberg, let us know if you need anything along the way. Thanks.

@cbeams cbeams changed the title segwit migration design/plan Design plan for SegWit support May 18, 2020
@oscarguindzberg
Copy link
Author

@cbeams Thanks, I don't have any questions so far. @sqrrm and I had a conversation a few days ago, he explained me the basics of the trade protocol.

@dmos62 I will contact you on keybase probably next week.

@chimp1984
Copy link

@cbeams Can we close that?

@cbeams
Copy link
Member

cbeams commented Feb 3, 2021

Closing as (long ago) complete.

@cbeams cbeams closed this as completed Feb 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
has:approval bisq.wiki/Project_management#Approval has:budget bisq.wiki/Project_management#Budgeting to:Improve Security to:Increase Liquidity
Projects
None yet
Development

No branches or pull requests

5 participants