Monday, November 20, 2017

Using New Generation Blockchains for AI

Dr. Ben Goerzel, and Dr. David Hanson, of Hanson Robotics, have worked in the field of Artificial intelligence for many years and were recently in the news when they introduced Hanson’s humanoid robot Sophia.
They propose to use a network (SyngularityNET) to make Artificial General Intelligence (AGI) available worldwide by using the blockchain, and built on Ethereum smart contracts. They envision an “open market” of AI solutions available to anyone who needs them.
However, several issues seem to be insurmountable using current blockchain technology.
For example, end-user AGI devices (Agents) will need information that includes code and data objects. These may be many terabytes of information. This information may need to be continuously updated, and must be made available in real time.

Blockchain requirements for AGI are conceptually similar to other general distributed applications (GApps). That is, most applications need to solve the CARS problems: Communication, Addressability and unique identification, Replication of data, and Security.
  1. The communication problem has been solved by the Internet and throughput continues to improve.
  2. The addressability of devices, on the Internet, is centralized and subject to attacks. Furthermore, the unique identity of devices and users is not guaranteed and applications must have their own authorization procedures that often involve disclosure of personal information.
    The current public crypto-networks are essentially anonymous and have no way of identifying and addressing devices and users.
  3. The replication of data is tackled by current crypto-networks, but they have scalability, throughput and cost problems.
  4. The security problem is solved by crypto-networks through encryption techniques.
So, “the blockchain” (the term most often used to describe the state of the art in the field of crypto-networks) at this time can score at best two and a half out of four.
Probably for this reason the SingularityNet project already plans to move away from Ethereum to a more advanced crypto-network.
Furthermore, SingularityNet wants to achieve their objective with “near zero transaction cost”. For this reason they are looking for a crypto-network with a new, much less expensive, or free, consensus mechanism.
New generation crypto-networks will need to solve satisfactorily all the above requirements before they can support general distributed applications.
Ethereum smart contracts (DApps), are objects running on the blockchain. They use the blockchain for every elementary operation. They can be found on the blockchain by looking for a hash of their code. This is a very limited and expensive solution, as we pointed out in a previous article ( https://www.linkedin.com/pulse/where-gapps-bitcoin-ethereum-giuseppe-a-gori/ ). For most distributed applications the blockchain needs to be involved only for critical operations.
Most of the time peer partners could communicate directly, through the network, without issuing smart contract transactions that imply a modification of the blockchain.
This direct communication is possible only if the partners (or Agents) have a method for identifying and addressing each other uniquely, and only if the crypto-network provides a (secure) messaging service. Both these features are missing in current crypto-networks.
SingularityNet is an example of a GApp implementing a specific purpose network over the crypto-network (i.e., a virtual private blockchain network – VPBN). Addressability and unique identification can be provided for their Agents and databases. However, current crypto-networks do not provide addressability and unique identification within the crypto-network, for the Points of Entry to the crypto-network.
Points of Entry to a crypto-network could be, for example, servers of organizations owning IoT devices, or providing any type of service imaginable through GApps. They could be wearable devices uniquely identifying their owners and using any imaginable service provided by GApps through the crypto-network. In the future, they could be unique autonomous robots registered on the blockchain, and using the crypto-network.
Points of Entry to the crypto-network must be specified, uniquely identified, and addressable, when more functionality is required than what is provided by smart contracts.
Furthermore, in general, only a small portion of the data created and used by distributed applications is critical or historical, and needs to be seen and verified by everyone else in the world for ever. Most of the data can be stored and retrieved on a server off the blockchain. This is also very difficult to do, through the crypto-network, without a method for uniquely identifying and addressing Points of Entry.
Most people intuitively understand the advantages of a public network without intermediaries that is able to store needed information reliably everywhere. Thus, all sorts of plans are put in place, and money is invested, to use “the blockchain” for projects that require reliable identification and addressability of distributed partners and information. In the meantime, the trend of existing public crypto-networks is towards user anonymity.
New generation crypto-networks will reconcile both requirements. In addition to scalability and throughput, they will provide new functionality, including addressability of devices, unique identification of users, secure messaging among unique partners, registration objects on the blockchain, network governance by democratic polls, and much more.
They will be able to provide all the above new functionality without loss of privacy, without the need of IDs, passwords or personal information. For more detail, see: gorbyte.com
General Distributed Applications
Connecting AGI devices, and sharing information among them, is conceptually similar to connecting and sharing information among IoT devices. Both robots and IoT devices need to share large quantities of information in real time, need to identify and verify each other, need to know how to address each other for sharing information, may need to exchange money for services, and can physically meet each other and cooperate for a specific purpose, while communicating through video and wireless technologies.
They also need to be uniquely identifiable and addressable. They need near zero transaction costs. They can be public, and respond or serve anyone they encounter, or they may belong to a private group, such as a VPBN managed by a proprietary GApp which may offer free services or charge a fee for other services.
Gorbyte, a new-generation cooperative public crypto-network, provides the whole infrastructure. It creates a Distributed Operating Environment (DOE), that can support general distributed applications. The aim is not to support a specific public social network, or an IoT application, or an AGI open market specifically, but to support any distributed application imaginable or ever conceived.
How can Gorbyte do all this? The scalability and the cost problems are solved through a new consensus mechanism. The CARS problems are solved by the crypto-network for all GApps, so that general distributed applications do not need to solve these problems individually.
GApps can be designed and implemented more securely and efficiently at a higher level, just like Apps written for an iPhone do not need to solve time-sharing or virtual memory problems.

The people at Hanson Robotics are on the right track. They included in their design the ability to possibly switch the carrier crypto-network to a new generation crypto-network that supports a less costly consensus mechanisms. New crypto-networks will also provide them with the needed functionality, such as addressability and unique identification of those entities that will need to interact through the crypto-network and use the blockchain functionality in the AGI open market.

Friday, November 3, 2017

Solving the Scalability Problem of Unpermissioned Crypto-networks

How are current crypto-networks going to cope with increased application demand?
Bitcoin’s demand is generated mostly by financial transactions. These are an important, but small fragment of all distributed applications. Ethereum’s demand, in addition to financial transactions, is generated mostly by smart contracts used to generate tokens for ICOs.
Although ICOs are becoming very popular, again this is just a fragment of all possible distributed applications that could take advantage of “the blockchain”.
The researchers involved with both networks are aware of their current limitations in scalability. How could these network provide for the future market of general distributed applications, several orders of magnitude larger?
The scalability problem
Scalability can be a problem when some resource requirements grow exponentially with the number of nodes in the network. For example, the time to distribute or process transactions, or the time to process a block, or the communication time to distribute a block, or the space required for storing a block, or the space/time required to store and process unconfirmed transaction, etc.
These parameters can be kept in check, to a point. However, any system will have limits, given its design and the technology at that time.
The researchers at Gorbyte, Inc. provide two answers to scalability.
  1. One hundred to one thousand fold improvement in throughput, and
  2. Off-loading the blockchain by supporting general distributed applications (GApps). These are applications that can use the blockchain, but run off the blockchain.
1. Improvement in throughput: Current PoW crypto-networks are not designed for efficiency and most of the above example parameters will tend to grow faster than the number of miners in the network. One of the reasons is that the PoW system is not truly decentralized, but randomly centralized. Another reason is that most of the miners’ processing power is used for a conceptually simple task: to select a random “real” miner. PoS systems should do better, but are as yet unproven.
Gorbyte uses a more decentralized design for its consensus process:
  • Every node participates in the consensus agreement process.
  • Every node communicates only with a small number of random logical neighbors.
  • The reconciliation communication among all nodes happens in parallel.
  • Several precautions are taken in order for blocks to be similarly assembled by every node, at the start of reconciliation (e.g.: synchronous operation, canonical ordering of transactions, no picking and choosing of transactions by miners).
  • Only in a small percentage of cases a node will require information from outside its logical neighborhood.
Thus the agreement process requires a small amount of time and much less processing power.
If a node cannot reach an agreement within a predefined time (e.g.: delay or malfunction), it will have to reinitialize and get the last block from an active peer node.
For the above reasons, Gorbyte is not bound by processing power, but by communication broadcasting and downloading times.
Considering also the exponential improvements in new technologies, we predict that the Gorbyte architecture will remain scalable. That is, the increased demand for new resources (e.g. bandwidth, memory, processing power) is expected to continue to be satisfied as the number of nodes in the network grows.
2. Off-loading the blockchain: The second answer to the problem of scalability is provided by Gorbyte’s BRUD device architecture.
Gorbyte, in addition to supporting smart contracts (DApps), will support general distributed applications (GApps) that are able to use the blockchain for critical events and historical data, but run off the blockchain. For most applications, this greatly reduces the amount of processing and storage requirements on the blockchain, thus allowing the blockchain to be usable by the much larger market of general distributed applications without the limitations imposed by smart contracts.
Smart contracts are objects stored on the blockchain, running on the blockchain and producing results on the blockchain. Thus any input, execution or output event on such objects involves the blockchain and, by definition, it is replicated on all the network nodes.
While there is a need for smart contracts for critical applications, the majority of general distributed applications (an estimated five sixths of the total software market) will need to store only critical events and information on the blockchain, but can do most of their processing and data manipulation using resources off the blockchain.
The availability of GApps will reduce the requirement to develop every blockchain application using the only tool currently available (smart contracts), thus at the same time it will:
  • reduce the throughput and storage requirements of the crypto-network, and
  • allow for an expansion of the type and range of general distributed applications taking advantage of the blockchain.



Saturday, October 14, 2017

The politics of the Blockchain

Introduction
In the industrialized world, as modern democracies, we have come to appreciate the need for a minimum amount of basic government, providing for national defense, law and order.
Many people also recognize the limits of government, as government should not take over functions that people and associations can do by themselves.
For example, the libertarian author Frederic Bastiat wrote in “The Law”:
The law is the organization of the natural right to lawful defense. It is the substitution of a common force for individual forces. And this common force is to do only what the individual forces have a natural and lawful right to do: to protect persons, liberties and properties; to maintain the right of each, and to cause justice to reign over us all.”
Most democratic nations however, have leaned towards increasing involuntary taxation to fund more centralized economic and social programs.
The history of almost every nation in the world shows that the tendency towards higher centralization has lead to despotic governments and nasty consequences.
More government centralization and more programs for the common good draw more human resources from those enterprises that generate economic activity.
More people become dependent on government, either directly employed, or working on government contracts, or working on non-competitive government projects, or not working
at all. This reduces the nation’s GDP. As a consequence, government revenues are reduced and the government’s ability to maintain social programs is curtailed.
People who understand basic economic laws, conclude that in a democracy we can chose options ranging between the following extremes:
  1. a limited government, with limited social programs, in a thriving economy, and
  2. a large government, without enough revenue for social programs, in a stagnating economy.
The trend, in industrialized democracies, has been towards large governments borrowing from future generations and overtaxing productive young people, promising them future benefits and pensions paid with future fiat money.



In addition, governments control the creation of new currency, generated to counteract currency demand. This depreciates future fiat money.
Finally, governments control the distribution of new currency through central banks, since they do not have a method for distributing shares of new currency directly to their citizens.
The reaction to this trend, especially by some young entrepreneurs, has been to escape to cyberspace by espousing innovative technologies that allow them to participate in the profits derived from currency demand, and possibly hide some of their economic activity from government. This course of action though raises a number of ethical questions.
Permissioned or not?
The new distributed ledger technology, or blockchain-based crypto-networks, are classifiable in many ways. A previously published technical classification is available at:
http://gorbyte.com/documents/Distributed%20Ledger%20Evolution.pdf
On the one side, those financial institutions that have always promoted “know your customer” policies are researching and developing permissioned crypto-networks, where trusted intermediaries are responsible for the verification and distribution of blocks for the blockchain.
These institutions are joined by large corporations that have traditionally sold proprietary software and services.
On the other side, there are many crypto-networks and projects under development that are unpermissioned. These do not rely on trusted authorities to verify end-to-end transactions, but rely on cryptographic functions. Their network security is proved by opening their source code to public scrutiny. A more dangerous approach, perhaps, but tested on the line of fire.
Among these unpermissioned crypto-networks are Bitcoin, Ethereum, and many of Bitcoin’s modified clones.
Privacy, anonymity and fungibility
The concern for privacy, especially in light of the many recent leaks and attacks to corporations, institutions and government, has grown exponentially in public perception.
Most people are aware of the danger of publicizing their ID or any personal information whatsoever.
Unpermissioned crypto-networks are specifically providing anonymity, while providing the ability for peer-to-peer movement of money and contract execution.
However, anonymity does not hide transaction records. In most current crypto-networks, transactions can openly be scrutinized and traced. This can be considered as a positive feature, if some sort of investigation needs to be done, for example after an attacker may have hacked a contract or stolen money.
Other researchers and developers see this openness as a vulnerability and are actively working towards untraceable crypto-networks. They would like crypto-network transactions not to provide any clue with regard to the user (e.g.: Identification, location, address) or its transaction (e.g.: transaction identification, transaction amount).
They would like crypto-networks not only to provide user privacy (e.g.: Identification, location, address), but also to provide no clue with regard to its transactions (e.g.: transaction identification, transaction amount).
Some Bitcoin researchers are working to provide fungible currency. That is, in their opinion, it does not matter where the currency comes from, it should be treated equally.
More recently, zero-knowledge techniques have been proposed. These are aimed at completely hiding any indication of financial transaction addresses and amounts. So far they have been implemented by the ZCASH and ZenCash, and planned for roll-out by Ethereum.
Are we going too far, simply because we can?
Can we strike a balance between anonymity and traceable transactions?
I can foresee two potential issues with making crypto-network transactions absolutely untraceable. The first is an ethical problem, the second is a more technical issue.
Possible Ethical Problem
Because technology often precedes the law, we need to ethically self-evaluate any new technology. In particular, crypto-networks should not encourage money laundering or any other criminal activity, and should help law enforcement, as much as practically possible, to prosecute individual cases of illegal activity.
There is a difference between giving the government a portal for bypassing the security of an iPhone (recent Apple case) and allowing everyone, including the police, to inspect a public blockchain, so that criminal behavior can be forensically analyzed.
As a society, by majority opinion, we have agreed to pool our resources for policing, both in our everyday life and in corporate environments. We have agreed to prosecute those people that bypass the laws of free market to make fast money, whether by stealing property, insider trading, distributing dangerous narcotics, Ponzi schemes, human trafficking, forced labor, etc.
In a similar way, mature crypto-networks should conform to the will of the majority in criminal matters as expressed by the laws of most civilized nations.
In a typical scenario, if an attacker stole currency, should anyone do something about it, or should the thieves allowed to enjoy the fruits of their illegal action? Recently some people criticized the Ethereum Foundation decision to hard fork the network to avoid the damage incurred when a contract involving a large sum of money was hacked. However the majority of people agreed with their decision.
Now the lead Ethereum developers are planning to change its encryption mechanism to use a zero knowledge security protocol for handling transactions. With current encryption techniques it is already difficult to identify an attacker who has been able to steal currency. With zero-knowledge encryption techniques, law enforcement will be even more difficult. This does not seem to be a development consistent with Ethereum’s recent decision to strongly react to currency theft.
All unpermissioned crypto-networks provide privacy for individuals. However, within this class, we see some networks planning to make their transactions untraceable while others may continue to maintain their transactions visible to third parties. Visibility of transactions allows law enforcement forensic scrutiny and is a deterrent to criminal activities.
Why would a network specifically hide financial transaction destination address and amounts? Is this not an indication that the network may tolerate money laundering and illegal activities?
Once the law catches up with technology, what do you think the majority of people and governments will decide?
Although the law cannot stop a blockchain, it can make life difficult for its users when they want to exchange their digital currency.
A More Technical Issue
In a previous article on user addressability in crypto-networks (“Where are the Gapps in Bitcoin and Ethereum?”) we have shown how new generation crypto-networks will provide some form of user, device or node addressability for selecting specific peers for distributed functions.
This can be done while maintaining privacy and without requiring user identification. However, addresses will need to be unique and readable by anyone.
So, if addresses need to be known for Contract applications (Dapps) and for general distributed applications (Gapps), why would a crypto-network hide the addresses of financial transactions?
One argument is that a competitor could acquire information by analyzing recurring transactions, for example between an investment firm and a target corporation. Such information could reveal the plans of the investment firm before public market indicators can be obtained.
This is not a privacy argument, but a fair competition argument. Is there an advantage in limiting competition?
Assuming the answer is yes, in some cases, can these institutions not protect themselves already by using a new address for every transaction? Or using methods (such as TOR) to hide their transactions’ provenance?
Furthermore, if an institution chooses to use a zero-knowledge network, it may create suspicion in the eyes of the law. This is one of the reasons why financial institutions stay away from public unpermissioned networks. It seems to me that zero knowledge technology goes even further away from addressing their requirements for public trust.
With zero-knowledge technology a person may unintentionally engage in a transaction with a criminal, or scammer, or accept laundered money. He may not be able to avoid the consequences of his unintentional action, such as lawyers’ fees and court appearances.
Zero-knowledge technology is an interesting research development. However, its practical implementations appear to cater to individuals who may want to evade the law more than facilitating free exchange and business interaction.
Unpermissioned crypto-networks have made decisive progress in removing possible interference from intermediaries and in maintaining users’ privacy.

New-generation crypto-networks will need to advance in other areas that need to be improved, such as providing addressability for general distributed applications, efficiency in data replication, network scalability, network governance and stable currency values.

Friday, October 13, 2017

Where are the Gapps in Bitcoin and Ethereum?

Addressability of devices and users may be the next area of research and development for unpermissioned crypto-networks.
New generation crypto-networks will support several types of distributed applications, in addition to financial transactions and distributed smart-contract applications (such as Ethereum Dapps).
For example:
  • Blockchain-registered unique devices may want to interact with IoT objects.
  • Virtual private blockchain networks may need to be supported.
  • Many types of general distributed applications (Gapps) will need to share information among a selected group of peers.
All of the above applications will need primitive functionality for user and/or device addressability in an environment without a centralized directory infrastructure.
All of these applications will need to establish a more permanent session between peers than a one-time transaction. Also, they will involve the participants, but not necessarily the rest of the world.
Some researchers have proposed ways of safely exchanging encryption keys over Bitcoin, for the purpose of confirmation or other post-transaction communication. However, a more general solution is needed to solve the problem of addressability in an unpermissioned crypto-network environment.
Building the Stack.
Each new technology is aimed at making applications development and the user experience simpler. Once accepted as a standard, it becomes part of the base for further developments.
The internet has largely solved the problem of communication for its applications.
Current crypto-networks have solved, in a certain measure, the problems of security and
data replication.
Addressability can be resolved through crypto-network intrinsic functionality, in the same way as communication, security, and data replication have been solved.
Specifics and Examples
Current crypto-networks claiming to support distributed applications, such as Ethereum, do not solve the addressability problem for their nodes or users. In Ethereum, for example, that’s not where the action happens: Contracts embody the Ethereum virtual machine executing Ethereum Dapps.
Ethereum solves addressability for its contracts on the blockchain by retrieving them
by content.
Any user that is interested in a contract and is given the contract’s address (a hash of the contract’s code) can look at it or execute one of its functions. Every time a function is executed, it happens on-the-blockchain, thus these functions need to be executed on all nodes. The resulting blockchain changes also need to be reflected on all nodes.
The blockchain is the computing machine of Ethereum. i.e.: Ethereum computes with the blockchain; more specifically, with a blockchain contract. In essence, Ethereum supports smart contracts that are distributed, but they are not general purpose distributed applications. They are a limited type of distributed applications: Those that need to record events for anyone and posterity to see: memorable events. We will call these applications Contract Dapps.
Example 1: let’s suppose we have an Ethereum Contract Dapp for reserving seats at an event, such as a ball game. The application must solve the possible conflict of multiple people reserving a seat, and prevent overbooking. It must also confirm that the person showing up at the event is the person that booked the seat.

All of the above transactions are recorded on the blockchain, for a fee, and are recorded on all nodes in the world, forever. And for each one of the thousands of people at the event. What’s the use? How many of these actions people take every day? The same people, that day, may have entered a secured area at work, may book a seat at a restaurant, retrieve their car from a parking garage, or book a show for the evening. Why should the whole world see, record and verify all these events?
The requirement to use a blockchain contract for every distributed function is a serious limitation of current crypto-networks.
New generation crypto-networks will instead support general distributed applications, or Gapps. Gapps must be able to run on any device, with the help of the blockchain only for those relevant changes (memorable events) that may need to be recorded forever and/or for anyone to verify.
Most of the actions people do, and computers do for people, are not memorable events.
Going back to our example, we need a Gapp that fulfills the same requirements (i.e.: must be available to anyone, must resolve possible conflicts and must be usable to prove who is the person who booked the seat), but it can do it off-the-blockchain, reading blockchain information for addressability only, and involving only the interested parties.
Here is how our reservation example can work in new generation crypto-networks (See the Gorbyte’s Distributed Operating Environment and BRUD architecture):
You have purchased a unique BRUD device, registered on the blockchain. This is an example of an action done with the help of the blockchain: the device is registered once, and you will be able to use your device for hundreds of applications and thousands of instances in most cases without the need of recording anything on the blockchain.
Your BRUD device can be uniquely identified by anyone with access to the blockchain, including other devices.
When you book your seat for an event (for example using a web page interface), an event management application (EMA) records your device address off-the-blockchain and reserves your seat. When you show up at the event, your device address is recognized, by another BRUD device associated to the EMA, and you are ushered to your seat.
No memorable event has happened. You just went to a ball game. Nobody needs to verify who you are or your ID. The only verification is a look-up of your unique device address on the blockchain.
People around the world do not need to know about your event booking and attendance.
Example 2: A group of two or more people want to privately communicate.
Do we want them to use a smart contract and advertise their event to the world and for years to come? Or do we want their devices to verify each other, just through a look-up on the blockchain, so that they can carry out an exchange of information through a secure session involving only the participants?
On the other hand, in addition to financial transactions and contracts, we can also think of many examples of distributed applications that will need to record memorable events and critical data on the blockchain. However, such recordings will be limited, not only by fees, but by design.
Example 3: an application which may require unique user addressability, is a Gapp for voting at political elections, since people may want to verify the uniqueness of each vote, by each voter, in disputed cases.
Conclusion
New generation crypto-networks will provide some form of user, device or node addressability for selecting specific nodes, for peer-to-peer distributed functions. This can be achieved without compromising user privacy and without requiring user identification. However, user, node or device addresses will need to be unique and readable by anyone.
Network addressability will allow Gapps to use the crypto-network as they sees fit.
For example, a payment Gapp (providing the functionality of basic financial transactions) may require the transaction to be recorded on the blockchain, but may not require a follow-up customer survey to be saved on the blockchain.



Tuesday, September 26, 2017

Evolution of Distributed Ledger Technology

The following diagram shows how, after the first attempts at decentralization in the 1990’s, the Distributed Ledger Technology has progressed in the last few years, by using crypto-networks’ blockchain technology and different consensus models:



Examples and classification
The following are examples of blockchain crypto-networks and how their consensus protocols can be categorized, referring to the two key questions in the previous diagram:
Who maintains the integrity of the ledger?
P: Permissioned: Trusted owners/agents:
    Ripple-based (a group of actors): Tillit Ripple, Tembusu, Ripple Lab.
    Decentralized group of trusted agents: Hyperledger, Clearmatics, Eris.
    Bitcoin-inspired blockchain, oracle-based: MultiChain, Cryptocorp.
    Flexible, Proof of Stake (PoS): Tezos. 
    Sharding: Disledger.
    Trusted node-to-node paths: Trustlines.
    Federated: CREDITS, IOTA (Cooperative foundation), Stellar (Flexible Trust, quorum).
U: Unpermissioned: Untrusted agents (Practical BFT):
     Who verifies and assembles a new block?
     O: One agent, among a “proven” set, verifies AND broadcasts the new block.
           First generation crypto-networks:
           Proof of...
  •   Work: Bitcoin, Ethereum and similar: Litecoin, Namecoin, Darkcoin,
      Dash, NimbleCoin, and others.
  •   Stake: (random group of validators): Tendermint, ALGORANDPeercoin,
      
    Blackcoin, NXT, Ethereum (2018).
  •   Elapsed Time, in a trusted environment: Intel.
  •   Activity (PoW + PoS): No implementation
  •   Capacity (Pay to play): Burstcoin.
  •   Burn (Pay to play): Slimcoin.
     C: Cooperative: All active nodes participate in block verification and equalization.
           Second generation crypto-networks:
           Majority agreement: MARPLE (By Gorbyte Inc., Heuristic, Logical Environs).


Note that many classic fault tolerant solutions (BFT, XFT, non-BFT), such as Paxos, Raft, etc., and Directed Acyclic Graph solutions, such as IOTA Tangle, and Dagcoin, are not designed for, or implemented on, blockchain technology.


MARPLE, by Gorbyte Inc.TM
MARPLE, a new cooperative consensus protocol, is the key component of Gorbyte, a second generation crypto-network.
It distinguishes itself in the decentralization aspect of block assembly and equalization.
Since all nodes are already broadcast every transaction, MARPLE reaches agreement by equalizing blocks within Logical Environs.
Gorbyte’s security against DoS and majority attacks is also enhanced by its BRUD device architecture, allowing the detection and prevention of such attacks.
This combination allows for a higher throughput (from current crypto-networks 3-15 tps to 200-6000 tps), lower cost, a free service model, and scalability: every user device can participate as a full network node.
Properties of consensus (MARPLE):
  • Termination: Every correct active node eventually decides.
  • Convergence: A timeout can be set so that an arbitrary percentage of the correct active nodes terminate within the allotted block period.
  • Agreement: No two correct active nodes decide different values.
  • Validity: If the required majority threshold propose the same block B, then no value different from B can be decided.
Replication requirements (Gorbyte):
  • Each node must commit to the same block within a certain time (synchronous,
    no forks).
  • In most cases, transactions are broadcast only once. In the remaining cases only minimum exchanges are required, within a node environs.
MARPLE’s restrictions and assumptions:
  • Randomization of sessions: Sessions established by a node at startup time connect to physically dispersed responding nodes (ASML protocol).
  • Environs optimization: At node startup time, a minimum and maximum length of loops are allowed with network peers (FID protocol).
  • Order restriction: Predefined rules for block normalization. This is essentially a restriction on the input values of the consensus process.
  • Convergence timeout: Parametrically adjusted for an arbitrary minimum threshold of agreement. Late, disagreeable, or faulty nodes have to re-initialize.
  • Synchrony assumptions: all nodes maintain the same timedate. The block collection period is predefined and synchronized.
  • Cooperative assumption: Most nodes are cooperative, as they contribute their device’s resources to use free services. An attacker cannot replicate multiple nodes, because of the uniqueness imposed by the BRUD (virtual) device associated to each node.
MARPLE Attributes
MARPLE (Majority Agreement Recursive Protocol based on Logical Environs) is characterized by the following attributes:
  • Deterministic: Consensus is irreversible – no forks are possible.
  • Synchronous period: Nodes and block periods are synchronized, to increase the probability of similar blocks and to enforce time-outs.
  • Verification - Consensus independence: Transaction processing and verification are independent from the consensus process and block composition.
  • Decentralized: There is no master node, no set of miners, verifiers or generals, but each node participates in the consensus.
  • Heuristic: Each node cooperates with a random set of peer nodes.
  • Cooperative: Consensus is achieved by majority agreement, not by a set of competing agents (miners or verifiers).
  • Unpermissioned: Nodes do not need to be given special permissions by an authority.
  • High throughput: Most transactions are broadcast only once. Blocks are never broadcast. Most protocol messages are within node’s environs, and happen in parallel.


Reference List of Networks Using Original Consensus Protocols



Wednesday, August 2, 2017

What if decisions were settled by polls, not forks and currency splits?

As a continuation of my previous post, (A blockchain without forks?) today we have seen what can happen when an open source crypto-network (e.g. Bitcoin/Ethereum) has no governance scheme.
Now we have two Bitcoins, as we have two Ethereums.
How many in a few months?
A polling mechanism for governance is needed.
Voting on issues can be weighed according to the currency owned.
This allows for automatic decisions on system parameters, and unique, unplanned decisions on any subject.
Can this be included in current crypto-networks as another fork? Not easily.
A forkless dream?

It’s real. The concept is already part of the Gorbyte.com design.

Monday, July 31, 2017

A blockchain without forks?

What if blockchain forks were not possible?
The advantages would be: Faster confirmations, no opportunity for indecision and possible attacks, and no chance of network/currency splitting, because of a hard fork.
It would require a synchronous operation, so that at the time a block is added to the blockchain, everyone has already agreed to it. No second thoughts.
How would it work?

See a technical introduction at: https://lnkd.in/exAJjGF