Skip to main content

Definition

A Proof of Behavior is new type of consensus mechanism based on behaviors.

The original idea was conceptualized in the following research paper:

Grollemund, P.M., Lafourcade, P., Thiry-Atighehchi, K., Tichit, A.: Proof of behavior. In: The 2nd Tokenomics Conference on Blockchain Economics, Security and Protocols. hal-02559573 (2020)

With a former definition later provided in:

Clémentine Gritti, Frédéric A. Hayek, Pascal Lafourcade. Generic Blockchain on Generic Human Behavior. SECRYPT 2023. (hal-04097883)

Each type of behavior have its own verification mechanism, in the case of EcoMobiCoin we focus on the mobility but researchs on others types are currently in progress.

Mobility

Mobility can be qualified as a change of position and a key part of living beings as humans.

Everyday we walk, bike, travel by car, plane, boat ... But not all transportations means have the same carbon footprint and changes are critical as outlined in the IPCC reports

Mitigations options mentionned by the IPCC in Figure SPM.8: Synergies and trade-offs between sectoral and system mitigation options and the SDGs are : Figure SPM.8: Synergies and trade-offs between sectoral and system mitigation options and the SDGs by IPCC

While a lot of them are engineering reduction strategies, 2 are completly behavioral:

  • Shift to public transport
  • Shift to bikes, ebikes and non motorized transport

With a mobility Proof of Behavior, we want to enable this modal shift and prove trip done in sustainable transports so they can be reward.

As we live in a more and more digital world, we all own a smartphone as our best assistant and phaˊrmakonph\acute{a}rmakon (either a remedy or poison) allowing us to measure our movement using differents sensors and complex systems.

This measurements are going to use to generate a Proof of Behavior.

Content

A Proof of Behavior (movement or not) have the following content:

ContentDescription
addressPublic identifier of a pseudo-anonymous person
timestampDate & time of the behavior
inputraw data in bytes
quantityquantity of behavior done e.g. distance multiplied by an emission factor
signatureSignature from the person's private key and matching the address

Technical representation of proof of behavior

Implementation-wise, proof of behavior is a specific type of transaction. A proof of behavior is a one-party transaction where the user creates a coin by providing a GPS track of an eco-friendly behavior. This GPS track is classified using a classifier, which can infer which type of movement it represents. In addition to the GPS coordinates, the transaction also includes the vector of probability returned by the classifier, an hash of the GPS track to make it unforgeable. The whole is signed by the user using its public key.

We chose to separate behaviors from classic transactions to better handle large data chunks in a different pool, block size and futur sharding. To clarify, we have transactions and behaviors in a block. See decisions record for more details.

Encapsulation using Typed Transaction (0x3E)

To improve compatiblity with the EVM tooling and especially wallets, we created a transaction envelope for Behavior using EIP-2718.

It allow us to sign and send a behavior as a typed 0x3E transaction and avoid duplicate code and tools.