Whitepaper Chapter 4 – blockchain

4.1 What is blockchain?

The blockchain is an open and distributed ledger, able to memorize transactions between two parties in a safe, verifiable and unchangeable way.

The distributed nature and the cooperative model makes the validation process robust and secure: authentication takes place through network collaboration and is fueled by collective interests.

When referring to this technology, it is necessary to distinguish between transactions and blocks. Blocks contain lots of valid transactions that are transformed into a code, called hashes and encoded within a Merkle tree (hash tree). Each block includes the hash of the previous block thus creating the link between two blocks. The iteration of this procedure forms the chain and guarantees the integrity of the previous block, this up to the genesis block.

 

In other words we could compare the blockchain to a sheet of digital paper, in fact, just like on a piece of paper, we can correct what is written only by rewriting on a new sheet without being able to select and delete a part of the written text, as well we can modify the blockchain blocks by rewriting the new content in a new block but we can not edit the previous blocks, unlike what happens for normal digital sheets.

 

 

4.2 Why does Followine use the blockchain?

There are different reasons why Followine decided to use blockchain technology for the development of its project:

• first of all, using the blockchain, we achieved a high-level security standard with investments that are significantly lower than those necessary for the development of a centralized database that is equally secure;

• secondly, the blockchain has allowed us to create a Token, the Wine Coin, the tool that allows us to put the final consumer at the center of our project. The consumer, actively participating in the Followine ecosystem, is the real protagonist: in fact, each scan allows the system to collect data useful for increasing its efficiency and effectiveness;

• again, a “guarantee agency” must be super partes, transparent and with information always visible and accessible to anyone who wants to see it. Above all, it is essential that there is no way to change that information and, to date, the only technology that guarantees the inalterability of data is the blockchain.

To those who have objections to the use of blockchain for the products traceability, saying that information is entered by human beings, we answer that: Followine is a project designed to combat a specific phenomenon, the counterfeiting of wine, which we have studied, that we know well, we know how it works. By analyzing the data entered - relative to what is defined as DNA - we can verify the veracity of the information. It is the company that enters the data in its own name and, if these are fraudulent, we will have the opportunity to take specific measures. In fact, thanks to the distributed database, everyone can verify the correctness of the information entered and evaluate its goodness, whether they are consumers or organs of competence. In addition, Followine will conduct a chemical-physical analysis to sample, to verify the properties of the wine and confirm or not the origin of the grapes and the production processes used. These analyzes will be inserted into the blockchain and visible to all and the loading of the data, in relation to these analyzes, will take place using a "double-blind" method, in order to guarantee the transparency of the operation.

 

 Furthermore, the immutability of the data entered makes the company fully responsible for all its affirmations - given the growing attention of the States towards the blockchain and the intention to confer legal relevance to it.

 

RELEVANCE OF DATA REGISTERED IN BLOCKCHAIN

 

The development and use of blockchain technology, especially in the field of anti-counterfeiting, is supported by many countries. In particular, the Italian government has approved a decree, which introduces the provisions for de-bureaucratization, which establishes that the blockchain will have the same legal validity attributed to information and certified data through the use of other technologies. Furthermore, it recognizes that distributed register based technologies, defined as IT protocols that use a shared, distributed, replicable, concurrently accessible, architecturally decentralized registry on a cryptographic basis, aimed at recording and validating verifiable data from each participant, not alterable and not editable.

In short, the Italian Government, with this provision, recognized that the data recorded and validated on public blockchain or distributed registers are to be considered certified data with full legal validity.

 

4.3 Why start with Ethereum

The reasons we decided to start our project using the Ethereum platform are basically two: costs and development time. In order to test the operation of our system with a few manufacturers, it was sufficient to connect the information that had to be analyzed by our algorithm on a smart contract and verify the feasibility. For this reason, we started with Ethereum and wrote the first smart contract in Solidity. Having verified the goodness of the project, we started the pilot.

During the tests, we tried to recreate as many cases as possible to study the answer given by the network. The results were excellent: both the verification times and the writing times were acceptable. What, unfortunately, was not acceptable were the costs for gas for the deployment of smart contracts, given the low number of possible transactions on the worldwide Ethereum network. So we decided to go another way because except for safety and heterogeneity, Ethereum network is very far from what we need to realize our vision, track each bottle and win against counterfeiting.

We have solved the problem by changing the way our system records data and how they are analyzed by our algorithm. In this way, we have guaranteed a continuity of service until the release of our proprietary blockchain based on Hyperledger Sawtooth.

We believe that in the coming years the Ethereum network will receive updates to increase the number of transactions and the reduction of gas but, on balance, at the moment it is not suitable for the needs of a traceability and anti-counterfeiting project. Why? Because in order to reach a transaction target that could be interesting and convenient for Followine Ethereum should multiply by 100 the transaction limit assumed for the future, as well as divide the current gas cost per transaction by about 2000 times.

So, while hoping for an update of the entire Ethereum network and a new method of consensus, we could not help but look away.

 

4.4 Hyperledger Sawtooth

1. Sawtooth provides a smart contract concept that allows developers to write logical contracts in a language of their choice. An application can be a native business logic or a smart contract on a virtual machine. Sawtooth allows the coexistence of both types of application on the same blockchain.

2. Sawtooth was created to solve the problem of "permissioned (private) networks". Clusters of nodes can easily be registered with separate permissions. There is no centralized service that can (even potentially) undermine or lose transaction patterns or other confidential information. The various roles, the specific permissions, the identities are recorded in the blockchain, so all the participants can access all the information.

3. Sawtooth includes a scheduling for parallel recordings, which divides the transactions into parallel flows. Based on the status of a transaction, Sawtooth isolates the execution of transactions from one another and, at the same time, keeps the contextual changes intact. When possible, transactions are performed in parallel, which avoids double spending even when multiple changes are made to the same status. Parallel scheduling provides a substantial increase in performance on serial executions.

4. At the moment Sawtooth supports different types of consensus, including the PoET. Proof of Elapsed Time (PoET) is a consensus algorithm in the Nakamoto style, which allows creating a protocol capable of supporting large networks. PoET depends on the execution of safety instructions, in order to achieve the expansion benefits of a Nakamoto-style consent algorithm, without the exaggerated energy consumption used by the Proof of Work algorithm.

5. In Sawtooth, the date models and transaction languages are implemented in a modular system, called "transaction families". By defining and implementing a new family, the various parameters for the validity of a transaction are defined and it is also defined how these parameters are to be applied. In addition to the possibility of having their own transaction families created for each developer, Sawtooth provides several basic models that make it easier to speed up the emergence of new Sawtooth-based networks. Chart 4.1

 

 

Consensus

When a block arrives, the chain controller creates a BlockValidator and sends it to a thread pool for execution. Once the BlockValidator has been completed, the block returns to the ChainController, which indicates whether the new block should be the chain head. This indication gives rise to three cases:

1. The chain head was loaded when the BlockValidator was created. In this case, the new BlockValidator was created and sent for a fork resolution.

2. The new block should become the new Chain Head. In this case, the Chain Head has been loaded to be a new block.

3. The new block should not become the new Chain Head. This could occur in two hypotheses: either because the new block is part of a chain that has an invalid block, or because it is itself a member of a smaller or less desirable fork as determined by consent.

The chain controller, in other words, synchronizes the loading of chain heads thanks to the result of a single BlockValidator - avoiding conditions resulting from the resolution of processes that create multiple forks, trying to load several chain heads at the same time.

 

 

4.5 Ethereum VS Sawtooth

Chart 4.2

Funzione

Ethereum

Sawtooth

Language

Propriety

Go, Python, Javascript, C++, Java, Rast, solidity

Consensus

PoW

PoET

Power consumption

alto

Basso

Deployment Cost

alto

Basso

Deployment Speed

bassa

Alta

Number of transaction per second

basso

Alto

Smart contract

ERC

Proprietario + ERC

Modular

NO

SI

Scalable

alta

alta

Mining or Validation

SI

SI

Rewards

Medie

A scelta

 

 

4.5 The reasons for our choice

We decided to start with Ethereum and continue to develop the system on this network, even if we renounce to most of the features of the Followine system. In this way we have been able to test the goodness of our project, the interest of producers and the interest of consumers: this also gives us the opportunity to solve many problems of a logistical and conceptual nature. Since Ethereum does not fit all the requirements of our project, we have opted for a different solution: Hyperledger Sawtooth.

 

What Sawtooth allows us to do:

1- Reduce the deployment costs and increase the speed per transaction, so you can insert each bottle as a single instance in the network.

2- Reduce considerably the costs of Deployment and therefore, in the future, to trace not only every bottle but every single vineyard, plants, and grape.

3- Change the basic dynamics of the network to make it 100% functional to the project

4- Create a mining Token for producers and consumers and be able to manage the mining rewards in an easy way

5- Allow producers to use the Wine Coin to pay the costs of using our services

6- Make each transaction and each feature of the network completely transparent

7- Create a proprietary marketplace easily accessible to all members of the circuit, to enhance not only the B2B offer but also the B2C offer

8- Being able to write all the rules of operation, mining, logic, reward and use in a smart contract visible to all because, remember, that owner network does not mean private network.

 

4.6 The Benefits of PoET for Followine      

Part of the previous advantages derive from the consensus at the base of Sawtooth, the PoET (proof of elapsed time). PoET offers a solution to the Byzantine problem that uses a reliable execution environment to improve the efficiency of the most widely used Proof of Work solution. At a high level, the PoET elects individual peers in a stochastic manner to execute requests at a given "target rate". The peers are chosen on the basis of an "exponential distributed random exponential variable” and wait for a quantity of time dictated by the sampling process. The peers with the minor sampling win the lottery. Fraud can be prevented through the use of a reliable execution environment, identity verification and blacklisting based on the asymmetry of cryptographic keys. Furthermore, it is possible to insert additional sets of variables and rules for the election.

 

The basics of a good lottery:

Equity: The function distributes the election of the leader (the winner of the lottery) among all the participating population.

Investment: The cost to control the election of the leader must be proportional to the value earned by the transaction.

Verification: It must be easy for all participants to verify the legitimate selection of the leader, as well as the information related to the election. Chart 4.3


1. A function assigns a time to wait for each Validator

2. The Validator with the shortest time for a certain block of transactions is elected leader

3. A function, such as "CreateTimer", creates a timer for the transaction block

4. Another function, such as "CheckTimer", verifies that the timer was created by the original function. If the timer ends, this function creates a claim that can be used to verify that the Validator waited long enough before winning the role of Leader in the lottery.

 

In conclusion, we believe that this is the most appropriate type of consent for solutions for tracking products because it allows:

1- Reduce costs

2- Speed up the transactions

3- Create a very scalable solution

4- Reduce the gap between large and small producers, thanks to the rules chosen for the reward

5- To involve more subjects in a network without compromising decentralization and transparency, as do other alternative solutions to PoW (Proof of Work) based on "Voting"

 

Chart 4.4

Caratteristica

PoW

DPoS

PoET

Controll of

Decentralization

NO

SI

NO

Speed

Bassa

Media

Alta

Security

Alta

Media

Media

Particular Hardware

SI/NO

NO

SI

Trasparency

possibile

possibile

Possibile

Diffusion

Alta

Bassa

Bassa

PC Power

Alta

Media

Bassa

Energy waste

Altissimo

Medio

Basso

 

 

4.6 How our blockchain will be

Obviously, we did not limit ourselves to taking good things done by others and integrating it with our project, but we tried to improve the consensus model and the validation process of Sawtooth, in order to guarantee the self-sustainability of the project on the long run and protect the investment of all those who support Followine.    

The basic principles:

 

“Mining” Pool/Validator

It will not be a real mining because we are not going to create new coins, our miners will be the Validators and guarantors of the basic principles of Followine's blockchain. To repay our Validators there are rewards in Tokens that will be recovered from a blocked pool of Wine Coin.

 

 

Blocked pool

- 25% of Wine coin will be placed on the market in the next 10 years since DAICO

- The methods will be included in a smart contract, which will manage the issuance of coins

- 10% will be reserved for users

- 15% at the entrance of new companies in the circuit

These principles are included in the smart contract, already at the opening of the Public Sale.

The producers:

Consumers

Virtual Miner: scans carried out by consumers with the app will be considered as mining and validation operations, as they will provide the information necessary for the correct evolution of the system.

 

Il PoET (Pool of Elapsed Time)

To start a validator machine on the Followine network, you will need to have a Wallet with Wine Coin and block a certain part of it; otherwise the validation process is blocked and no consent is given for the insertion of new blocks.

 

 Chart 4.5

 

 

We decided to create this new approach, to add the benefits of the pool of stake with those of the Proof of Elapsed time. In this way we will have a network capable of reaching impressive validation speed, guaranteeing all the basic principles we had set ourselves, above all decentralization.

It should be noted, in fact, that in our new validation process there will not be a different weight depending on the number of Tokens held, but the quantity will be standardized based on the market value of the Token itself and updated automatically by the smart contract.

 

We have also foreseen cases in which the value of the Token reaches very high figures and therefore there could be problems for the Consumer Users, as it would require a high quantity of Wine Coin to possess in order to participate in the Validation process.

If this situation occurs, the "Community Wallet" function will be activated, thanks to this function users registered in the "Mining/Validator" lists will be able to create a shared pool of blocked Wine Coin and let their machines work together in order to participate. to the Validation process.

 

4.7 The self-managed reward model

The rules for rewards:

Miner Fisici: Users can request to undermine the Wine Coin with their own machine, in order to satisfy any increase in system calculation needs

• The pool reserved for them is 3% of the total tokens supply

• For the latter, they can request participation in the program through a dedicated form on the Followine.io website

• Once registered you will be placed on a public scrolling list, called "Trial"

• Who is in the first positions can undermine for a period of 7 days

• During this period the ratings of the various miners will change, based on the machine made available, the time of mining, the blocks processed and/or any disservice created. The best will pass to a second list named "Seed" and the miners will have 30 days for mining.

• Also, in this case, the rating will change according to the service offered and you can end up at the bottom of the "Trial" list for bad scores and/or heavy disservices, or be taken to the "Followiners" list.

• Who will be in the Followiners list will be able to undermine for 60 days, during which he will receive a rating based on the blocks processed. In case of disservices, you are taken to the bottom of the "Trial" list; otherwise, based on the rating, you will re-position yourself in the "Trial" list in the most appropriate position

• The selected machines will be taken 60% from the "Trial" list for 30% from the "Seed" list and 10% from the "Followiners" list

• The rules for managing scores and lists will be automated, will be written in a smart contract that will be managed by the network itself and, unless serious problems that could compromise the anti-counterfeiting system, will never be changed - if not for updates security and functionality to evolve the system(updates that will always guarantee transparency and an appropriate reward for miners)

• If this event occurs, users can propose new rules that will be evaluated by the development team and the financial team. If the rules will be evaluated feasible by both teams, they will be implemented in the new smart contract for self-management.

 

4.8 The basic principles our vision

Why do we want to make everything public? As a future "Guarantee Agency", Followine cannot stand on the side of producers or consumers, nor can it favor one producer rather than another. This was one of the main reasons that led us to choose the blockchain: in addition to all technical and economic advantages, in fact, this allows us to guarantee absolute transparency on the data provided and recorded. This, however, was not enough for us. We could have, as done by others, create a private blockchain - so you can still manipulate some of that data. But since our goal is to be super partes, we have had to necessarily include, within our blockchain, blocks that prevent us from being able to take control (and the same applies to third parties). For this reason, we decided to write everything about the functioning and the rewards within a public smart contract, as well as all the information related to the products and to those who inserted them and when. Wanting to show that creates a proprietary network that is public at the same time is possible. We, therefore, think that we have respected the basic principles underlying our project: transparency, decentralization, and self-sustainability.