Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • crown-core crown-core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 75
    • Issues 75
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Crown
  • crown-corecrown-core
  • Issues
  • #215

Closed
Open
Created Jul 30, 2018 by Artem B@artemOwner

Integrate Bitcoin Changes 0.12.1

Motivation

During the last 3 years, many useful changes and improvements have been made to Bitcoin source code. The current version of Bitcoin is 0.16.2, Crown is on 0.10.

  • Refactoring of different Bitcoin modules (decomposition etc.)

  • Moving from BOOST to C++ 11/14 features

  • Other functional changes

Integration analysis

0.12.1 https://bitcoin.org/en/release/v0.12.1
Minor version release, including the BIP9, BIP68 and BIP112 softfork, various bugfixes and updated translations.

  • First version bits BIP9 softfork deployment. Specifies a proposed change to the semantics of the 'version' field in Bitcoin blocks, allowing multiple backward-compatible changes (further called "soft forks") to be deployed in parallel. It is unnecessary because of sporks, but it may or may be not merged depending on complexity of extraction.

  • BIP68 soft fork to enforce sequence locks for relative locktime. Bitcoin transactions have a sequence number field for each input. The original idea appears to have been that a transaction in the mempool would be replaced by using the same input with a higher sequence value. Although this was not properly implemented, it assumes miners would prefer higher sequence numbers even if the lower ones were more profitable to mine. However, a miner acting on profit motives alone would break that assumption completely. Might be unnecessary after NTP-services implementation.

  • BIP112 soft fork to enforce OP_CHECKSEQUENCEVERIFY.

  • BIP113. Proposal to redefine the semantics used in determining a time-locked transaction's eligibility for inclusion in a block. Might be unnecessary after NTP-services implementation.

  • The p2p alert system is off by default. To turn on, use -alert with startup configuration.

Links/references

https://github.com/bitcoin/bitcoin

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking