testech

A 3rd Generation Blockchain

SEGMENT Technologies

If the mathematical, algorithmic, cryptographic, or methodological questions are complex to address, the solutions provided are just as complex.

This page discusses the core technologies used by SEGMENT without going into codes and technical details that are difficult for non-professionals to access. It offers a global overview – certainly insufficient for experts on these matters – of the approaches developed within SEGMENT.

Cryptography in SEGMENT

Secure. Guarantee. Enforce.

Technologies, Cryptographies, Protocols

 

1. Languages

Javascript + Nodes

Most of the operations carried out on SEGMENT (transactions, storage, controls, interactions) happen at the level of each connected machine (UA: User Agent). For this reason, SEGMENT massively uses ES6 as the priority language + Node.js as the server language (Gossip machines).

Interactions concerning IoT objects use Go or Python.

User interfaces are written in React.

All these computer languages are mastered by all web developers; they therefore require no learning.

2. Machines

Node Status


All machines connected to SEGMENT are by definition UA full-Nodes, equipped with all the necessary capabilities and tools to carry out the different possible operations, whether they are powerful computers, simple phones, or IoT devices.

Each Node is individually identified by a complex series of numbers presenting thousands of millions of billions of distinct possibilities, thus preventing identity usurpation (Sybil attack) by brute force: see below, chapter “Security”.

SEGMENT allows the creation of GOA (Group of Associated Objects) sharing a common identifier and a common wallet, thus authorizing the creation of temporary DAOs, opportunistic organizations in charge of performing certain tasks.

Technically, an x,y,z point of each cube (see below, point 3) is allocated for hosting DAOs; no single machine can be individually localized there. Each machine holds a certain number of shares in the DAO (payment from its wallet to the DAO wallet) and a smart-contract distributes the revenues according to predefined rules among the DAO actors. The DAO is dissolved when its mission is completed.

3. 3D Cubes

Distinct Application Projects


SEGMENT is architecturally composed of several thousand virtual 3D cubes, sealed from one another. Each cube is a distinct project/client, inaccessible to machines that are not invited (private blockchains). A specific cube is public and open to any machine: this is SEGMENT in the public blockchain version. The set of these architectured cubes makes SEGMENT a hybrid blockchain.

Each 3D cube consists of a million distinct points (x: from 0 to 100, y: from 0 to 100, z: from 0 to 100), and each x,y,z point can accommodate a million different machines, individually identified from 000000 to 999999. This spatial organization in cubes+points therefore makes it possible to integrate 1000 billion machines on each cube, which is more than 120 machines per human being living on this Earth… and SEGMENT contains thousands of cubes.

Since each cube/project is autonomous from the others, it can develop its own application layers, specific functionalities, and protocols built via the distributed API layered on top of the basic applications, functionalities, and protocols that form the SEGMENT Core.

Any owner of a cube/island (company, institution, association) can thus decide, depending on the type of project and the required degree of confidentiality, whether access is public or strictly reserved for their network.

4. Data

Block Chains


Every machine holds a portion (Sharding) of the global blockchain, which itself does not exist anywhere in a complete version. The information is held encrypted: the cryptographic protocol will differ according to the machines, their characteristics, their IDs, and their positions in the 3D cube, which makes decryption complex to perform since, without knowing these specific characteristics and criteria, it is not possible to reverse-engineer the initial encryption.

This segmentation of the global chain into segments forces the Nodes to constantly communicate to access the data they need to perform any operation.

The segmented chains are made up of stacked blocks. These blocks are of different types: some describe wallets (owner + timestamp + content type + contained value + control hash*), others contain portions of smart-contracts, and still others contain punctual dynamic data describing the machine’s status at a given moment in an ongoing process concerning it: transaction, approval, etc.

* The control hash (Merkle Tree) is used to verify the signature of the 5 Approvers who validated the transaction.

5. Objects

Tokens


SEGMENT is a global token management tool. A token is an asset (physical or digital) that can be individually identified and whose representation can be digitally stored.

The objects contained in the wallet-blocks can be of different types and natures. Each 3D cube/project built on SEGMENT can define the type and nature of the tokens created, held, and exchanged: fiat or crypto currencies, real objects (e.g., type, serial no., vehicle registration no.), digital objects (steganographed reference in a photo signed by its author), C.A. holder tokens (see the dedicated DAX page: “Digital Assets Exchangehttps:\/\/segment.pm\/), capacities and rights (access, voting, asset transfers…), but also geolocalized positions, reference to an object on IPFS, etc.

SEGMENT differentiates between fungible tokens and non-fungible tokens (NFT). If I borrow 10 (CHF, euros, dollars) from you and return a 10 bill the next day, we are square even if it is not the same bill as the day before because fiat currencies are “fungible”: one is exactly equivalent to the other. They are indistinctly interchangeable. On the other hand, if I ask you to lend me your Ferrari and the next day I return a Dacia, we are heading for a serious problem: cars are non-fungible objects. One is not confused with the other.If tokens are defined as NFT, they inherit specific identifiers allowing their production and movements to be traced from one account to another: KYT (“Know Your Token”) is the equivalent in SEGMENT of banking KYC (“Know Your Customer”): an individualized identification. A token will either be an NFT or not, and its transaction conditions will therefore be different. This “object ≠ object” differentiation is important in many cases (DeFi for example).

What is the essence of the “token”?
It is one of the direct consequences of applying blockchain to multiple sectors outside of finance. With each new use case being tested on the surface of the earth, a token is manufactured, which is a unit of account, a quantum of information in fact, that is certified and authenticated with the blockchain. This action of manufacturing a particular unit of work is called tokenization. From something continuous or massive, units have been extracted that can be commercialized, exchanged, valued, stored if possible, transported, shared…
For example, for the time given to others at a local level: authenticated, certified, and in a way valued in everyone’s eyes due to the transparency brought by the blockchain. The hour of volunteer work (crypto-hour? or crypto-benevolence? 🙂 becomes a token that can itself be exchanged for an energy token. With an advantage: transparency, visibility, a ripple and emulation effect … and multiplied action over long distances as we will see later.
Pierre Paperon : “The tokenization of the world is underway” (LinkedIn).

6. Cryptography

Anamorphic Cryptography
Anamorphic distortion: only the user placed in the right location is able to restore the original image

Imagine a magical device allowing you to speak loudly in the middle of a dense crowd and only be understood by the people for whom you intend your message: this is the best definition we can give for the anamorphic cryptography, a SEGMENT creation intended to anticipate future quantum attacks.

Since each machine (or group of machines) is positioned at x,y,z in its virtual 3D cube, the emitter and the receiver(s) are distant by a certain angular value in the three directions x,y, and z: DAE = distance, azimuth, and elevation. A simple trigonometric calculation allows this distance and the orientation of the line connecting the emitter and receiver(s) to be measured. Starting from the x,y,z point of the emitter, there is therefore only one point validating predefined angle and distance values.

Anamorphic cryptography simply consists of writing a message posted publicly in the Gossip (public machine dial) encrypted in such a way that only the machine (ou machines) at the x,y,z destination point can understand it… and therefore use it. When Alice wishes to send a message to Bob, she will therefore produce a message encrypted according to these values strictly specific to Bob+Alice.

A little explanation. When an Alice machine is registered, a point on the 3D cube is algorithmically assigned to it, for example x:21 y:52 z:44 ; this value 215244 is written in its encrypted stored identifier in its data. As seen above, Alice also inherits a randomized 6-digit number, for example 034982. The same for the Bob machine which is, for example, 458902 in x,y,z position and 800241 as a randomized number.
It turns out that a third machine, Chris, is coincidentally at the same x,y,z as Bob but with number 378125… If Alice encrypts her message according to the permutation 215244 → 458902 + 000000, Bob and Chris will understand her message since both are at the same point on the cube. But if Alice encrypts it according to another permutation : 215244 → 458902 + 800241 then only Bob will be able to decrypt it.

A word about these “permutations” that allow anamorphic cryptography to secure Node-to-Node dials: each x,y,z value (machine position in its 3D cube) presents a million variants, ranging from 000000 to 999999. Starting from 62 keyboard signs A-Z, a-z- and 0-9 (to simplify… SEGMENT has many more) there are 62! possible permutations, or approximately 3.146997326e85 (=85 zeros behind, so a bunch of billions of billions of billions).
Each of these permutations can be individually numbered and produced. We can thus find Bob’s exact permutation, which would be the 458902nd if we only considered his x,y,z position. That would give, for example, the table e4B8cmGPu2 ... Zk1bS (our 62 permuted signs). In reality, in SEGMENT, it is much more complicated since there are several hundred usable signs and the permutations for each machine take into account not only its position and its number, but also the name of its owner also encoded in 6 digits, the machine’s characteristics (OS Fingerprint, its processor capabilities, etc.), or even the timestamp of its registration.

Dynamic Transposition
Individual character encryption (Stream Cipher) allows encryption to begin immediately, thus avoiding the need to accumulate a complete block of data before encryption, as is necessary in conventional block encryption.
One of the goals of dynamic transposition is to exploit Shannon’s concept of “perfect secrecy.” This occurs when the encryption operation can produce all possible transformations between the plaintext and the ciphertext. Consequently, even brute force no longer works, because going through all possible keys only produces all possible values.
An interesting aspect of dynamic transposition is the fundamental masking of each particular encryption operation. It is clear that each sign is encrypted by a particular permutation. If the adversary knew which permutation occurred, that would be very useful information. But the adversary only has the ciphertext to expose the encryption permutation, and a vast plethora of different permutations each take exactly the same plaintext to the same ciphertext. Consequently, even a known-plaintext attack does not expose the encryption permutation. This results in an encryption of unusual strength.
Terry Ritter : “Ritter’s Crypto Bookshop”Let’s return to permutations: each machine therefore has its own table, which belongs only to it.
If for 10 signs azertyuiop (to simplify to the extreme) Bob’s permuted table is rypzoeitua and Alice’s is oeypatuezir, Alice wanting to send the code azerty to Bob will send him…

10. Users

Controls and KYC

In a classic system for managing interactions between a user and a service, the schema [ User+UA ]→Service is used: User uses their UA (their machine) to connect to the service, whether by entering a login+password pair, or by entering a secret code, or by entering anything else allowing User authentication.

In SEGMENT, the User/Service interaction is designed differently: it applies the schema User→[UA+Service]. The UAs are connected to SEGMENT as actors (Nodes) – they are the ones that communicate, transact, interact, and make decisions – without the User having to intervene. The remaining step is to connect the User to their machine and authenticate them.

The question is therefore: when an “UA as Node” machine launches a transaction on the network (Gossip), how to be sure of User? …in other words: how to create trust without an external third party guaranteeing the veracity/reliability of information? This is the raison d’être of blockchain technologies.

Concretely, how to be certain that when a phone launches a transaction “Alice sends 100 à Bob”, Alice’s phone is actually in Alice’s hands and not in Bob’s… or anyone else’s.

A number of control/security mechanisms are implemented in SEGMENT:

• When User registers (or rather registers their machine), they must ask themselves 3 questions and provide the 3 answers. They should ensure they ask questions only they can answer… a standard question like “where was I born?” or “what was the name of my first cat?” could allow an attacker (especially someone close… it happens) to find the answer in a few minutes. On the other hand, the precise and correct answer to the question “where did I eat my first Big Mac?” is more complicated to find right away. When User launches a transaction, they are presented with a list of 20 questions, at least one of which is theirs, the others are randomly drawn; they must find their question(s) and answer them without possible error. A script of type Levenshtein/Jaro-Winkler analyzes their response and determines whether typing errors (a lowercase instead of an uppercase letter, for example) are invalidating or not.

• Data entered by User on the keyboard is done on a virtual keyboard with random size/position on the screen: Keysnuffing attacks (capturing characters entered on the physical keyboard) or by detecting where the screen was clicked become impossible.

• A CAPTCHA based on the machine’s own permutation table presents a series of 8 successive characters to be reproduced, guaranteeing that User is not an automated bot for brute-force attacking. These keyboard signs are generated graphically (intercepting their production and display as ASCII signs is therefore impossible) and the conformity of their entry on the virtual keyboard is not built on sign equivalence (A == A) but on the graphical forms of the signs: how many curves, how many straight lines, how many angles, how many spaces.

• An MFA process is implemented in SEGMENT: the objective is to ensure that USER is physically themselves by using 2 referenced devices/UAs (they have declared a “clone”, see next point). On their UA-1 machine, they enter a number they choose, for example “12345”. An algorithm factors it with their real name reduced to digits (the same as in their machine IDs), factors it with “12345”, hashes the result, and returns the first 4 + last 4 signs: a435f0cb. On another machine UA-2 (leur phone, tablet, another PC…), they open a dedicated SEGMENT URL where they must enter their User name and this hash. The algorithm explores all possible hashes until it finds the initial value “12345” (so when substr(0,4) + substr(-4) == code), refactors it differently, and returns a new hash substring that User must enter on their first UA-1 machine. Since their name is in their IDs, a calculation on this entry + their User name (the ID’s name on UA-1, are you following?) must give exactly the same result.

In this way, we are certain that:
1) User is a physical being and not a bot,
2) that they know their name/alias, and and
3) that they physically hold both UAs, and therefore that one of the two UAs was not lost by its owner and found by someone looking to abuse it.
MFA (Multi-Factors Authentication) technologies are considered secure, unlike 2FA (Double-Factor) where an online service – banks, platforms – sends