BUIP147: (passed) Fund Developer 2

Griffith

Active Member
Jun 5, 2017
188
157
BUIP147: Fund Developer 2
Submitted by: Griffith
Date: 2020/06/03

Summary
I would like to continue working on the Bitcoin Unlimited project as a I have been doing for roughly the last 2 years.

Budget
This BUIP authorizes 96.000 USD a year (paid monthly in crypto) to continue to work on BU software. This amount is inline with other qualified developers.

Contributions to this project
In the last couple of years, in addition those regularly occurring small tasks that no one is ever impressed with, I have made the following significant contributions:
- Updated the XVersion spec and implemented the changes
- New deadlock detection code that covers all of the new mutxes that BU has added.
- Implement a new block storage method that uses a database instead of block files.
- Reworked the fee estimation process so that fees stay lower and removed the assumption the mempool will never be empty.

What I’d like to do this next year, time permitting
- Storm/Bobtail: I am currently continuing awemany’s work on storm. I am working with the Umass researchers to rework storm under bobtail and produce a working prototype of the new bobtail system. More details on this can be found under BUIP 131.
- Graphene porting: Although this is not work directly on the BU client itself, there is great value in getting other clients to use the tech developed by BU. In BCH there is a “multiple implementation ecosystem” that it is currently quite heavily dominated by one implementation almost analogous to bitcoin core in BTC. I consider porting graphene to the other implementations to be another step in the direction of showing that the other implementations also have value.
- UTXO improvements: I currently have a PR under development to alter the underlying data structure of the UTXO in memory to allow for multiple threads to read and write to the UTXO at the same time decreasing the amount of the time it takes to process transactions and blocks.

Authority for a contractual arrangement
The purpose of this BUIP is to get membership approval for expenditure of funds up to a maximum of the budget for the time interval stated in the BUIP (1 year) while also providing some insight to some of the work which will result. If the BUIP is approved, the elected officers are authorised for BU to offer a contract for consultancy services with usual defined terms and clauses.The agreement defines the details including but not limited to hourly rate and termination conditions. The portion used is entirely dependent on how much time is worked and invoiced.The contract is to be evaluated yearly by the elected officers and may be renewed at their discretion unless a counter BUIP has been approved that prevents further funding of this BUIP.

edit: clarification paragraph
 
Last edited by a moderator:
  • Like
Reactions: 79b79aa8

79b79aa8

Well-Known Member
Sep 22, 2015
1,031
3,440
@Griffith are any of the proposed tasks contingent on BCH protocol changes? also (assuming this is relevant) has there been an effort to quantify incidence of either doublespending or selfish mining on the BCH network?
 

Griffith

Active Member
Jun 5, 2017
188
157
@Griffith are any of the proposed tasks contingent on BCH protocol changes? also (assuming this is relevant) has there been an effort to quantify incidence of either doublespending or selfish mining on the BCH network?
Yes. Bobtail is a consensus change. Bobtail addresses the issues of
- block time variance
- selfish mining
- double spends
and has highly probabilistic preconsensus
 
  • Like
Reactions: 79b79aa8

torusJKL

Active Member
Nov 30, 2016
497
1,156
How do the other node implementations view Bobtail?
Are they generally in favor or against it?

How much work will 96.000 USD a year give e.g. in % of a full day job?

Is this BUIP for 1 or more years?
 
  • Like
Reactions: Zarathustra

Griffith

Active Member
Jun 5, 2017
188
157
@torusJKL

I doubt ABC is open to bobtail because the idea did not originate from inside ABC. Additionally they have already been committing a lot of effort to avalanche prereqs and code as if it was already a done deal. This effort is not only in their monthly progress reports but also in code commits. I can elaborate a bit on this if needed.

BCHN, verde, BCHD, flowee, etc. seem interested but want more details which have not yet been provided because there are still some minor things that need to be worked out. Bobtail is generally seen as the alternative to avalanche so in regards to the area that it aims to improve, it is of interesting topic.
We are at the point in development where we are about ready to release some high level information about bobtail to the other dev groups for some general feedback but i dont think i would be able to fully answer your question until we finish with the prototype and data gathering which should be completed late July.



It would constitute a full time job.


The duration is open. After the first year it as at the discretion of the board (officers) to extend or not. This is the same as BUIPs 128, 134, 138.
 
Last edited:
  • Like
Reactions: torusJKL

torusJKL

Active Member
Nov 30, 2016
497
1,156
The duration is open. After the first year it as at the discretion of the board (officers) to extend or not. This is the same as BUIPs 128, 134, 138.
@Griffith thanks for your reply.

I don't like the fact that we have open contracts that remove power from the members to the officers.
I would prefer if you would request for a year and then in let's say 9 months do another BUIP for another year.
It's important for me to note that this is not personal towards you.

@theZerg I would like to have your input if the suggested work is something in the direction BU is planning on going and if the requested funding is in your opinion an adequate amount for the work proposed.
 

Griffith

Active Member
Jun 5, 2017
188
157
@torusJKL

It doesnt remove the power from the members. It just auto renews as long as some other issue does not arise.

It is always possible for a member to raise a counter BUIP that would cancel funding for a given funding BUIP. As long as the counter BUIP doesn't break any terms of the consulting contract and does not violate any unlawful termination laws, when the counter BUIP passes the termination clause section of the consulting agreements would kick in.


Some explanation for those not familiar with the process of hiring a consultant.

The purpose of this BUIP is to get membership approval for expenditure of funds at limit (96.000 USD) for the time interval stated in the BUIP (1 year) while also providing some insight to some of the work i plan on doing.
If the BUIP is approved the there is a formal agreement with defined terms that satisfies the legal aspects (labour laws, etc.) of hiring a contractor that is to be negotiated and filled out between the consultant (me) and BU. The agreement defines the details including but not limited to hourly rate and termination conditions. The amount stated in the BUIP is the maximum expenditure amount for a given time period (in this case 1 year). It does not necessarily mean the full 96.000 will always be used. The portion used is entirely dependent on how much time i spend working.
 
Last edited:

torusJKL

Active Member
Nov 30, 2016
497
1,156
It doesnt remove the power from the members. It just auto renews as long as some other issue does not arise.

It is always possible for a member to raise a counter BUIP that would cancel funding for a given funding BUIP. As long as the counter BUIP doesn't break any terms of the consulting contract and does not violate any unlawful termination laws, when the counter BUIP passes the termination clause section of the consulting agreements would kick in.
It puts the burden on the members and not on the person requesting funding.

Voting to stop an existing funding is also more complicated because someone needs to keep track, write a BUIP in time and maybe not enough members show up to vote.
 

theZerg

Moderator
Staff member
Aug 28, 2015
1,012
2,327
I believe that it is important the BU continue to fund research to discover and deliver the best blockchain technology even if the likelihood of a merge in (say) the next year, (or even until the political climate changes) is very low. This is important for three reasons:

1. If the features are not fully proven out, there is zero chance of deployment and we will stagnate, never knowing what could have been.

2. when change happens, it will happen very quickly and we need these technologies to be ready for that.

3. Although something like avalanche already be a "done deal" with no theory (in regards to integration with BCH, as opposed to standalone), no spec, and no code, and no technical comparison, we need to show that this methodology is fundamentally flawed and producing sub-optimal results, in the hope that this will encourage change. This strategy is starting to pay off with CTOR for example. It seems that large sections of the community are realizing the worthlessness of CTOR, and the existence of our critique (issued the time when CTOR could have been dropped) is essential to show how broken the BCH development methodology is.



Also note that BU has already funded bobtail/storm via a different BUIP. Greg Griffith is just helping out to expedite things so this BUIP is not about Bobtail yes or no.

Greg Griffith has been very valuable to BU in the past. This BUIP covers some of his future work, but by no means all of it. We need engineers available to pivot to the next feature/project as it becomes apparent. An example of this is the quick pivot many of us made to support ptschip's unconfirmed transaction depth work and the result of that is a huge supported depth in BU and a doubling of the depth network-wide.

While we can offer per-job money, both approaches (full time consulting vs. per job) have strengths and weaknesses. In particular, the full time consultant can pick up a lot of slack WRT 100s of smaller jobs: like code reviews, build issues, release building, infrastructure, and infrastructure coding (like the deadlock detector rework mentioned in the BUIP), and small (1 day) to medium (1 week) bug fixes.

So, in summary, I support this BUIP.
 
Last edited:
  • Like
Reactions: torusJKL