Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
S
solo
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Merge Requests 0
    • Merge Requests 0
  • Requirements
    • Requirements
    • List
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Security & Compliance
    • Security & Compliance
    • Dependency List
    • License Compliance
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Code Review
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • solo-project
  • solo
  • Wiki
  • SECOR

Last edited by TyphooN Aug 13, 2019
Page history

SECOR

SECOR - Simple Extended Consensus Resolution, AKA Uncle Mining

A key feature of Solo is the implementation of Masari's Simple Extended Consensus Resolution (SECOR, AKA Uncle Mining). SECOR further secures the network by reattaching otherwise orphaned blocks on top of the longest chain. By activating SECOR, faster block times can be achieved without the use of Master Nodes, DAG or some other centralized solution. Faster block times result in more transaction throughput making the blockchain more scalable.

Alt Chains are temporary disagreements about the longest chain, it happens in every Cryptocurrency and with 20 second block times it happens frequently. This happens when there is a slight delay in sending signals to the entire network, the shorter the block time the larger effect the lag has.

Without Alt Chains there can not be a Uncle Block. If two miners find blocks within the same time window instead of dropping one, the solution is added to the chain as an uncle block. The miner producing the uncle block is rewarded 50% of the calculated block reward they would have received for that block. Alt Chains with lower difficulty and/or outside of the window will stay in memory until solod is restarted but the only ones meet certain requirements are added to the chain.

Relevant lines in code:

Reorganize chain to add Uncle https://gitlab.com/solo-project/solo/blob/master/src/cryptonote_core/blockchain.cpp#L1209

Conditions needed to meet Uncle Requirements https://gitlab.com/solo-project/solo/blob/master/src/cryptonote_core/blockchain.cpp#L1982

Orphans can still be rejected if they fall outside of the time window https://gitlab.com/solo-project/solo/blob/master/src/cryptonote_core/blockchain.cpp#L1995

Further Reading

https://github.com/masari-project/research-corner/raw/master/secor/secor.pdf

Clone repository
  • Android CLI
  • Daemon Documentation
  • Home
  • Linux
  • SECOR
  • Specifications
  • Windows