ASSOCIATIVE BLOCKCHAIN CODE

--

How to have a more secure blockchain for a more stable ecosystem.

[ Revision 0.2 — 8 August 2021 — draft white paper — started by SMZ ]

ABSTRACT

Reading the specifications of the blockchain emerge the anomaly of the genesis block. It couldn’t just be what it appeared to be, one of the many blocks without a predecessor. Hence the idea that the genesis block must really be the block it generates and not just the initial block of the blockchain. If the genesis block isn’t just a data block then the genesis block must be a code. Only a code can truly generate and be called really genesis. The concept idea that the genesis block must be a code changes the perspective. The same code that manipulates the blockchain must be the genesis block.

TABLE OF CONTENTS

0. INTRODUCTION
1. PREMISE
2. THE ORIGINAL SIN
3. CONSEQUENCES OF THE ORIGINAL SIN
4. THE REMEDY FOR THE ORIGINAL SIN
5. DEFINITIONS, CONCEPTS AND SPECIFICATIONS
6. PSYCHOLOGY OF BLOCKCHAINS
7. APPLICABILITY OF THE CONCEPT
8 CURRENT SITUATION (2021)
9. BLOCKCHAIN OF THE FUTURE
10. SCOPE OF THE DOCUMENT
11. ASSOCIATIVE BLOCKCHAIN CODE AS FOUNDATION OF AI
12. SUMMARY

0. INTRODUCTION

From the ideation of the initial concept of the blockchain to today we have seen the proliferation of this contagious idea. Many and different blockchains have followed that of Satoshi Nakamoto’s original 2009 idea as the base of Bitcoin. The number of different blockchains is constantly increasing and they have also taken on previously unthinkable tasks. The forecasts reveal that the size of the global blockchain market is expected to steadily increase over the next few years. Blockchain platforms are growing to support the ecosystem enabled for the new evolving web 3.0 concept. There are and will be more and more specialized blockchains, flanked by more generalist blockchains. There are and will be more and more blockchains of different levels, built on other basic blockchains as a support. Blockchains are born with the basic idea of being self-sufficient in guaranteeing their integrity and reliability through decentralization. Blockchains attract users and validators, who create communities and consume resources, to create and grow other blockchains with their specific identity. Given the large number of blockchains to date and their proliferation in the future, the fragmentation of resources and the separation and or overlapping of intentions will also be inevitable.

  1. PREMISE

A blockchain is usually composed of blocks linked together in sequence, so as to create a chain of blocks. The first block is relevant as it is the first element from which all the other blocks then start. A genesis block is the first block in a block chain. Modern versions of Bitcoin number it as block 0, although early versions counted it as block 1. The genesis block is almost always hard-coded in application software using its block chain. The genesis block is a special case as it does not refer to a previous block. Other than this there is nothing that distinguishes the so-called genesis block from other blockchain blocks. The blockchain was initially conceived as a secure and single-shot-proof way to store information. Acting on the blockchain is a software, distributed together with the blockchain, creating a de facto pair, program/data. Therefore, this software that intervenes on the blockchain will be executed: active software, passive blockchain.

2. THE ORIGINAL SIN

Nothing is perfect and even the blockchain does not escape this inevitable truth. In its revolutionary conception, the original blockchain hides a sin. What we here call original sin concerns the genesis block of the blockchain. There is a block different from all the others and from which everything originates. The first block of the blockchain, the genesis block, or block zero, was in fact also inserted within the code that manipulates the blockchain. This insertion of the genesis block into the code effectively creates a link between the code and the blockchain itself. However, this link is oneway and does not guarantee that the blockchain will actually be manipulated by its native software.

DBC — Dissociative Blockchain Code

3. CONSEQUENCES OF THE ORIGINAL SIN

The forking of the blockchains that have already occurred and those that will come depend on this initial design error. If the original blockchain was to guarantee non-double spendability, the possibility of forking the chain made this unreliable. The non-double spendability is guaranteed only within the same blockchain but if this can be bifurcated at any time then the double spendability remains only a vain promise. To prevent the bifurcation of a blockchain it is necessary to link the code that manipulates it to the same blockchain. Keeping the code and the blockchain that must be manipulated separate also opens up even more dangerous scenarios. Apply the same code to different blockchains, or apply different codes to the same blockchain. The proliferation of the concept of blockchain requires a conceptual rethinking of what the blockchain must be in its purest form. A blockchain must have its own specific identity and should not be confused with other blockchains. The chaos that has been created by allowing the bifurcation of blockchains is there for all to see. Those who hold wallets in the original blockchain are interested in forking. Forking represent a way to increase the value of one’s assets, in an even more subtle way than the double spendability would have allowed. The first blockchain in history was therefore impure and carried the germ of the bifurcation and multiplication of copies. There will still be forking testifying to this babel of blockchains due to the original error. In a distributed blockchain anyone can run a node but there is no guarantee that the same officially distributed code is running. To operate undisturbed, a tampered code should produce the expected results but could do so in different ways. It is these different modes that can alter the execution time that can pose a serious threat to all DBCs. Even the proliferation of viruses among the code can undermine the solidity of a DBC, without apparently nothing happening. In a DBC, the possible presence of different code could cause the forking of the chain, in a premeditated and planned way. A DBC is inherently insecure due to the disconnect between the code and data of the blockchain, which requires the trust of third parties to link them together. In a DBC landscape, blockchains do not know the code that will actually process them, while the code will be able to recognize which blockchains it is intervening on. But if the blockchain lacks certainty about the code that will be able to intervene on it, then the security of the blockchain itself falls.

4. THE REMEDY FOR THE ORIGINAL SIN

While the code knows the blockchain, through the genesis block, the blockchain does not know the code that must be authorized to manipulate it. What is missing and should have been done is also to put the same code inside the genesis block of the blockchain. The problem with this omission is that different codes can be active operating on the same blockchain. Even if these software can produce the same result, the modalities could still be different and not known. This opens up still undocumented possibilities of attack but which will take place sooner or later, if it has not already happened in the past in a hidden way. The solution to this problem is to insert the code into the first genesis block of the blockchain, effectively creating a blockchain that knows its own code. In this way the genesis block will really be the generator block of the entire blockchain, because it will contain the code itself that will generate it. The blockchain will include the same code that will help generate it, certifying the code, certifying all further blocks based on that code. The language in which the genesis code will be written will then be the language of the blockchain itself. The genesis code should be error-free, otherwise the entire blockchain would be susceptible to just those errors. It is foreseen the addition of code blocks to the blockchain that can remedy errors over time or make changes to the genesis code. So in the resulting blockchain we will have two types of blocks with specific purposes: code blocks and data blocks. A blockchain of this type would be more solid and would also have a dynamic and self-building nature, it could be said that it is alive. The code of the genesis block is in fact the operating system of the solid blockchain. Other blocks of code can be seen as applications on the solid blockchain, as well as updates of the genesis code.

ABC — Associative Blockchain Code

5. DEFINITIONS, CONCEPTS AND SPECIFICATIONS

Specify a BPL programming language: Blockchain Programming Language.
Write the BMP blockchain manipulation program: Blockchain Manipulation Program.
Insert the BMP program in the genesis block of the blockchain.
An associative blockchain contains the code that will make it work.
Associative Blockchain Code: ABC.
Dissociative Blockchain Code: DBC.
The Virtual Barrier Layer VBL separate the blockchain from the code that modify it.
The Connection Layer Protocol CLP connect the blockchain with the code that modify it.
The zero time of a DBC blockchain, i.e. its genesis block, makes no reference to the code that will be authorized to manipulate it.
The zero time of an ABC blockchain, i.e. its genesis block, makes an explicit reference to the code that will be authorized to manipulate it.
An ABC blockchain must be able to recognize if the code that is manipulating it derives from the genesis block.
In the genesis block there should be both source code and executable code and both have a control hash.
A service and always-on code checks that the hash of the running code is the same hash as the code in the genesis block. This service code transforms the blockchain from passive to active and is itself stored in the genesis code.
An ABC is a blockchain that can be manipulated by a single unique code, its own, since it is indelibly imprinted in its genesis block.
A DBC type blockchain is passive, in the sense that it can be manipulated but cannot carry out any type of control over who is manipulating it.
An ABC type blockchain is active, in the sense that to be manipulated it must give consent because it can carry out a check on who is manipulating it.
In the ABC blockchain there is a part of the service code that checks the hashes to be authorized.

6. PSYCHOLOGY OF BLOCKCHAINS

There is a psychology of the blockchain that depends on how its parts are connected to each other. A DBC is a blockchain that is dissociated from its own code, which, being different, could lead to disastrous consequences. A single misaligned DBC execution node results in dissociation within the entire DBC blockchain. In a DBC the code could be altered in such a way as to give the same apparent result, but to do so at different times. If a node executes a DBC it could be executing code that is infected and controlled by third parties. A DBC is inherently less secure than an ABC because it allows the possibility of modifying the code in an arbitrary and insecure way. In a DBC the codes in execution can be different and therefore dissociated from each other as well as with the blockchain. In an ABC the codes will always be the same because they will be indelibly associated with the blockchain. An ABC forces greater rigor in exchange for greater safety, having a guaranteed initial consistency. A DBC is more permissive but at the cost of lower reliability and security, having compromised consistency. For each DBC there is an ABC equivalent to which it will naturally tend over time. A consolidated DBC will see a further possibility of improvement in the transition to the ABC version. A native ABC, born with associative blockchain with the code, has numerous advantages.
- A native ABC will be immune to forking. (potentially)
- A native ABC will not be subject to 51% attacks. (adopting the right countermeasures)
- A native ABC will not be subject to the attack of time. (potentially)

7. APPLICABILITY OF THE CONCEPT

The concept of linking the code to your own blockchain can be applied to any blockchain, in the initial phase. For there to be an inseparable link between blockchain and code, it is necessary to insert the same code in the genesis block of the blockchain. Only by inserting the code in the genesis block of the blockchain will you have the guarantee of the association between the code and the blockchain. The dissociative blockchains code (DBCs) will need to be refounded and rewritten to be compliant with ABC specification. The new blockchains will instead be born from the beginning with the concept of associativity with their own code. Over time, the entire blockchain ecosystem will tend to become associative with their code. The transition times from a DBC to an ABC ecosystem will depend on the number and consistency of the attacks of the time.

A transition from the original DBC model to the ABC model will be inevitable: DBC => ABC.

This will happen for the whole ecosystem that concerns the blockchains, indistinctly, for all the blockchains that want to continue to exist. The reliability of a DBC is significantly lower than an ABC and the trend will be to reward reliability.
Is it possible to drive a transition from old blockchains dissociated from your software to new blockchains associated with your software?
When the awareness that software disassociated blockchains spreads, then the need to transfer value will emerge. It would not be possible to modify the genesis block of existing blockchains because the very nature of the blockchain would prevent it. When the software is sufficiently consolidated and tested, then the need for a transfer from a dissociative blockchain to an associative blockchain will be inevitable.

8. CURRENT SITUATION (2021)

To date, no blockchain includes the code that will then make it work in its genesis block. There is no trace in the original document by Satoshi Nakamoto from 2008 of the need to certify the code in the blockchain itself, while only the code knows the beginning of the blockchain. This means the absence of widespread awareness that there is no such problem. There are no studies relating to the inseparable link that must exist between the blockchain and the software that must manipulate it. The theoretical sector has focused on the type of blockchain validation and not on how this is related to the software that manipulates it. Yet the overly fragmented situation, the forking, the scams and losses, should be warning signs. Fragmentation is facilitated by the possibility of replicating the code without making substantial changes, applying it on different blockchains. The forking are facilitated by the possibility of using code with slight differences on the same starting blockchain. Scams are facilitated by the concentration of portfolio management despite the decentralized nature of the blockchain. Losses are the result of forgotten passwords or errors in the operations performed. It is argued that the current situation is the result of the initial failure to link the code to the blockchain. The de facto dissociation between code and blockchain occurs when the same code can be applied to different blockchains, or the same blockchain can be manipulated by different software.

9. BLOCKCHAIN OF THE FUTURE

With the spread of awareness that the code that executes the blockchain can be certified by the blockchain itself, nothing will be the same again. The problem cannot be ignored once it is highlighted that there is now a dissociation between code and blockchain in the DBC model. It would be a mistake, both conceptual and operational, to create any DBC type blockchains after reading this document. In the case of new blockchains, it will be simple and immediate to insert the code that intervenes on the same blockchain in the genesis block. It is undoubtedly an important decision, but precisely because it requires more attention, the presence of the code in the genesis block will be a guarantee of solidity. While the concept of an associative and dissociative blockchain from its code will spread more and more, the request for the associative model will emerge spontaneously. In addition to having to compete on other aspects and operational characteristics, a new blockchain will first have to make the choice whether to side with the old DBC scheme or the new ABC scheme. It would already be nice if today all blockchains belonged to the ABC category and if there hadn’t been the original error of the DBCs. If we strive for the best for the world of blockchains then it will be inevitable to strive towards the ABC model. The ABC type blockchain generation will compete with more advantages over the older generation of DBC blockchains. Gradually all DBC type blockchains, at some point in their evolutionary history, will inevitably transition to the ABC model. Blockchains that do not adopt the ABC scheme will gradually disappear to make way for the more secure and consistent ABC generation.

10. SCOPE OF THE DOCUMENT

The purpose of this document is to inform the world of blockchain operators of the original sin of the dissociation between code and blockchain. Once awareness of the problem is gained, the entire blockchain ecosystem will begin looking for solutions. The suggested shift from a DBC ecosystem to an ABC ecosystem will make blockchain technology more robust. There may still be models of the DBC type in specific cases, but at least they will exist in a conscious and declared way. Highlighting the specific problem of DBCs can guarantee blockchain technology to improve towards an ABC model. Failing to seriously evaluate the original DBC problem could lead to the premature collapse of blockchain technology. Only an ABC-type blockchain ecosystem can give guarantees of operational reliability and time-tested continuity.

11. ASSOCIATIVE BLOCKCHAIN CODE AS FOUNDATION OF AI

A consequence of the way an ABC blockchain operates is to make explicit the CLP, the protocol that connects it to the code. Inside the CLP is actually the condensed intelligence of ABC and how it can change over time. While the Blockchain Manipulation Program (BMP) is under the external control of the system developers, the CLP is instead under the direct exclusive control of the blockchain. CLP can be either static or immutable, or dynamic and mutable. A static CLP ensures a reliable and robust ABC that follows rules known and established from the beginning by the developer team. On the other hand, a dynamic CLP, starting from pre-established initial rules, could be less secure because it is changeable, but this opens the door to a reactive and self-modifying blockchain. When a blockchain can control how to modify itself, based on the data it contains and following pre-established but also modifiable rules, then this blockchain acquires a sort of self awareness. This opens up a further area of research, which sheds light on the effective way in which an ABC-type blockchain can become the foundation of a sentient AI, tending to be at the level of an AGI (Artificial General Intelligence).
The potential of the ABC model of blockchains will therefore open the door to a series of developments, in the field of artificial intelligence.

12. SUMMARY

When I rereading the specifications of the blockchain for the umpteenth time, I was intrigued by the anomaly of the genesis block. It couldn’t just be what it appeared to be, one of the many blocks without a predecessor. Hence the idea that the genesis block must really be the block it generates and not just the initial block.

If the genesis block isn’t just a data block then what could it possibly be?
The genesis block must be a code!
Only a code can truly generate and be called genesis.

The concept idea that the genesis block must be a code changes the perspective. The same code that manipulates the blockchain must be the genesis block.

Knowing that something was missing was just a feeling at first. But after rereading that the genesis block is encoded within the code, everything was clear. What the blockchain lacked was knowing the code that was supposed to manipulate it.

This is a simple idea but it can change everything. Many of the flaws of the blockchain can be solved with this simple but substantial change. Many opportunities will emerge from this simple revision of the original idea of the blockchain.

In the development of this idea, once again the confirmation of the value of the design of a project was had. A simple initial detail, if not considered adequately, affects the subsequent development of the entire project. This is what happened to the blockchain: the initial opportunity to make the project really solid was missed. But you learn by doing and in this way you can still improve the blockchain ecosystem that has already been born and will be reborn.

The future of this idea is related to the entire blockchain ecosystem. Whether the importance of an Associative Blockchain Code is taken into account will depend only on the understanding of the problem by the community, So the future of ABC is now in the hands of the community.

Salvatore Mocciaro Perez a.k.a. SMZ

--

--

Salvatore Mocciaro Perez a.k.a. SMZ
0 Followers

I have an artistic education and architecture studies. I have designed objects and now I design knowledge. What I will do is not yet written.