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 :
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 (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:
Content | Description |
---|---|
address | Public identifier of a pseudo-anonymous person |
timestamp | Date & time of the behavior |
input | raw data in bytes |
quantity | quantity of behavior done e.g. distance multiplied by an emission factor |
signature | Signature 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.