BUIP089: Blockchain Engineer Services Contract
Proposer: Andrew Clifford (@solex)
Submitted on: 2018-04-21
Status: passed


As explained in BUIP062 Funded Development, aka
since BU was formed as an organization in November 2015 it has relied
upon a combination of volunteer blockchain engineers (developers) and
some directly funded by BU supporters.

While the Devpool initiative has some success and a number of small
mini-projects funded, an important issue has arisen where qualified
developers rightly want long-term stability in their income. This is
exacerbated in a highly competitive field where many companies struggle
with the global shortage in the blockchain engineer marketplace, making
piece-meal work even less attractive.

There exists a requirement for a full-time developer to sub-contract
directly to BU.


The objective of this proposal is hire a qualified “in-house” developer
who will focus principally on the BUCash client in many different areas.
He/she will report to the Bitcoin Unlimited Lead Developer, @theZerg.

Project Duration

The funds authorised on this BUIP are for a maximum of two years.
However, one months notice for either party is sufficient to terminate
the service contract.

In the event of an early termination, a new developer may be contracted
to continue the work. If the decision is that no developer is to be
contracted, then any unspent funds revert to the consolidated fund, and
a subsequent BUIP will need to be approved to continue funded
development in a similar manner.

Project Team

The developer hired for this role will work closely with theZerg and
other BU developers, operating as a contractor responsible for their own
accounting and tax reporting.

Summary of Approved Tasks and Projects and Description of Activities

  1. Continuous:
    1. PR review, release builds.
  2. Initial Projects:
    1. Enhanced block storage (database based) will allow pattern based
      pruning, so pruned nodes can offer some blocks to IBD and a
      random set of pruned nodes will be very likely to contain the
      entire blockchain access to any transaction by transaction hash
      (add/validate txindex table).
    2. Access to transactions by bitcoin address (add address to
      transaction table) – helps light wallets.
    3. Store block header hashes (will dramatically speed up startup)
    4. Store transaction inputs by “chainref” (block, tx index, vout
      index) rather than (transaction id, vout index). This will be a
      lot smaller.
  3. SPV/light wallets:
    1. Investigation of other technologies to help advance this

Anticipated Challenges and Uncertainties

Standard development issues only.


The budget for the Blockchain Engineer Services Contract (not
employment) is $70,000 per year for 2 years (allocated), paid monthly in
arrears. Payment is offered in either BCH or BTC, but not in any fiat
currency, at the end-of-month rate prevailing on bitcoin.com.

The BU President or Secretary will co-sign payment for monthly invoices
when presented for payment. The services contract will be separated in
the annual accounts.


The overall pace and quality of BU development is expected to be
improved by this initiative resulting in more BU full nodes in the
global Bitcoin Cash network, supporting large-blocks specifically and
onchain-scaling generally. Software developed under this BUIP will be
open-source and available to other BCH dev teams.