Mining update, protecting centralized blockchains, stock exchange data, & Dark Fibers

Patrick McConlogue
Overline
Published in
7 min readJun 14, 2018

--

Dark Fibers allow network resources to be mined into Block Collider’s multiverse of blockchains. Fibers are designed to alleviate the load on centralized or enterprise blockchains, websites, and APIs, all while protecting the fully decentralized and trustless construction of a multichain.

June 10th, 2018 was another major milestone of Block Collider. 4600 machines from at least 3000+ unique miners joined us from 50 countries representing the largest mining launch of any blockchain to date. The massive amount of Rovers deployed resulted in two centralized blockchains, their networks, wallets, and explorers to fail and stop issuing blocks for a period of 35 minutes until we implemented Town Council Mode. This preventative measure disables mining until we can deploy Dark Fibers as a protection for Waves & NEO and being importing the order book for the exchange IEX.

Estimated miners may be low based on the # of pulls from https://hub.docker.com/r/blockcollider/

Summary

  • Block Collider mining operated better than expected achieving global consensus in just under 2 minutes.
  • Mining was decentralized, meaning that we cannot stop miners from mining the original Genesis chain, however we will not be using that Genesis block as the genesis block of Block Collider.
  • While Dark Fiber will cause a delay mining by several weeks (targeting July 6th — July 14th) to test and deploy this feature, it is a fascinating function of the Collider. More importantly, however, it is used in Super Colliders to add websites or anything that is publicly available on the internet. This is development with an eye on the road ahead.
  • A chain can be voted out of using Dark Fiber once it’s network becomes strong enough or when it becomes decentralized (as is planned by NEO).

_____________________________________________________________

Dark Fibers can be used for centralized blockchains or it can be used as a method to mine changes that occur from HTTP endpoints (web addresses). We will demonstrate this by adding, for the Before Target period only, the order book of the stock exchange IEX.

_____________________________________________________________

What happened to Waves & NEO?

Centralized blockchains vs. decentralized blockchains.

Despite rotating hosts and delaying requests, the amount of Rovers attempting to retrieve the latest blocks from these blockchains overwhelmed the hosts and caused blocks to stop being issued. We used the maximum level of etiquette (we’re all in this together) — if this was part of an attack in theory it could have been done with three or four machines.

(L-R) NEO Nodes 100% unreachable, Waves Down.

Once Town Council Mode was enabled and miners disabled their mining machines, the networks resumed normal operation. This may also be related to small machine counts, only 300 or so with Waves and 66 on NEO. Chains with signature based blockchains like Lisk scaled without issue.

Rovers absorbing blocks from decentralized and centralized blockchains.

What are Block Collider Dark Fibers?

Adding Block Collider Dark Fiber to a blockchain consumed by the Collider adds mining conditions that do not change rules of mining the current Block Collider, it’s consensus algorithm, or violate our decentralized philosophy. Put simply, and discussed in more detail below, Dark Fiber delays the incentive to get the most recent block or state of a dataset, permitting miners to request the block at any point in a window of time without being at a disadvantage relative to other miners.

Deploying Dark Fiber

To understand the deployment of Dark Fibers we must look at blockchains or any state changes in data (ephemeral or otherwise) in ordered segments of time with each tick marking an adjustment in state.

If each timeline is boundless than adjustments in their segment size cannot be assumed until the segment itself has elapsed. However, we can adjust the position of segments in each timeline relative to each-other and in doing so create temporal combinations which limit when each segment is valid. Dark Fiber allows you to adjust one or more of the timelines of the blockchains used in a Collider by moving the segments from the blockchain in question backward to decrease the pressure on said chain.

For instance, if a Waves block was created with a specific timestamp it is only able to be accepted in the 300 seconds after the block first appeared.

Miners have no incentive to get the block any earlier than after the block can possibly be mined into the Block Collider. In practice, this means the miner can at any point in that 5 minute window acquire the block and store it in memory until the block can applied.

In practice, Dark Fiber adds one field to the header of a blockchain and the following fields in the blockchain fingerprint — a unique combination of hashes, proofs, and rules for mining the blockchain defined in the Genesis Block.

  • DFNumerator: 1
  • DFDenominator: 15
  • DFVoid: 15000
  • DFBound: 300

In this example the bound is described in seconds and measured by the change in the EPOCH from when the block was created and when it is deployment in Block Collider. The Numerator/Denominator are used to measure the distance in time necessary for combining blocks to get a bonus in the mining reward. This is necessary to prevent miners from delaying the submission of work with blockchains that DON’T need Dark Fiber until blockchains that do have a valid block are ready for mining. DFVoid defines the point in time after which no new state changes can be added with regard to this dark fiber (used in the event a blockchain dies or a URL endpoint is no longer accessible).

And second, we are adding a DFv1address which is created point in time for state changes in the data. This is rolled into a single string and is included in the header of the blockchain which needs to be mined with dark fibers.

Dark Fiber Address Dictionary

“DFIndexFirstChangeBeginAndEnd — DFIndexLastChangeBigAndEnd — DFHashFirstChange — DFHashLastChange — DFCurrentState — DFPreviousState-DFData”

  • DFVersion: Version key for processing.
  • DFIndexFirstChangeBeginAndEnd: Byte index positions of the first byte difference from the previous state of the first change dataset and the index of last byte difference of the first change.
  • DFIndexLastChangeBigAndEnd: Byte index positions of the first byte difference from the previous state of the last change dataset and the index of last byte difference of the last change.
  • DFHashFirstChange: Blake2BS Hash of of the changed between the index points defined in DFIndexFirstChangeBeginAndEnd.
  • DFHashLastChange: Blake2BS Hash of of the changed between the index points defined in DFIndexLastChangeBigAndEnd.
  • DFCurrentState: Hash of the entire dataset.
  • DFPreviousState: Hash of the previous dataset.
  • DFDataSchema: [optional] version code for the type of processing of the data in DF. 1 == HTTP Request, 2 == FIX Protocol Beacon. This must match the DFDataSchema defined in the fingerprint.
  • DFData: [optional] Dependent on DFDataSchema. If DFDataSchema equaled 1 DFData would included a formatted URL header request of the endpoint.

Reducing Dimensionality of State Changes

Dark Fiber, when applied to parallel segmented timelines can be re-ordered to representing the versioning of datasets. For instance, when you compare two documents that changed, you might change a work at the character index place of 3001 and then later on change an entire paragraph 6000 characters into the document. Each time you do this the state of the data has changed however unless you document it yourself what you changed is not recorded. With the changed above we will, without perfection, be able to make targeted triggered based on the index that changed and the resulting hash. DF solves for this by defining index start/end mentioned above pointers which lay the groundwork for creating functions that change based on changes in the values of documents.

In Closing

It is excellent (and humbling) to see how eager the community is and we are very appreciate of the Evangelists and pro-members helping out the new members in Advanced. The passion negative or positive is exactly what we hope to see for the construction of a strong core community capable of supporting the wide decimation of aggressive emergent technology.

We have said from the beginning that technology must stand on its own, this is more than a philosophy its a fundamental metric by which to measure the evolutionary changes of one technology to another. A process unable to stand on it’s own — reliant on human input, repair, or maintenance — is subject to or exposed to the weaknesses of mankind. Pure and true decentralized technology is not only trustless…it has no ruler, it is freedom through cryptography.

BCE3

--

--