FOAM
概要
FOAMにおけるTendermintの利用方法について調べる
特にメインチェーンでのステークについて
結論
地上の色々な場所に、無線送信機を持つノード(Zone Anchor)がたてられ、各地理的な区画で、最低4つのZone Anchorごとに子チェーンを作り、そこで時間的な同期やユーザーの位置の計算などを合意する模様
その子チェーンは研究段階で、PlasmaやTendermintが検討されている
具体的な仕様・実装はまだない
あるユーザーがいつどこにいたかをオンチェーン(子チェーン)で合意するのが非常に大事らしく、非同期のPoWより、部分同期的なTendermintを子チェーンに採用してそちらでやりたい模様
FOAMに関する前提知識
https://youtu.be/EJeMVh4tm1w
Dappから利用できる、分散型の位置情報利用サービス、および分散型の世界地図
GPSなどの代わりとなる
ユーザーが歩くと各Zone Anchorとの距離とかで位置情報わかる
https://gyazo.com/f4bd069c3351c43acee3099c72506798
用語: Technical paper(draft)より
A Zone Anchor is a device with a radio transmitter, a local clock, and a public key. A node is capable
of engaging in a clock-synchronization protocol, requires a connection to a gateway .
A Zone Authority is a distinguished gateway gnode with internet access and “sucient”
computational power to maintain a shared State Machine. It has the ability to determine if a the state machine is in
sync (see below).
A Zone is the quorum that maintains clock sync for a given region. Four or more Zone Authorities
form a Zone, the quorum that maintains clock sync for a given region. Once synchronized, the Zone
can determine the location of a requesting node by using time of arrival measurements to verifiably
triangulate position.
A Shared State Machine is maintained by the Zone Authorities in a Zone on the state of synchronicity.
A consensus algorithm is used to vote on writing to the shared state machine.
A Root Chain is the blockchain where FOAM token bonds, deposits, rewards and penalties take place.
Participants must interact with this chain to be given access to participate as part of the validator set
of a Zone. For now, imagine that the root chain is the public Ethereum blockchain.
The FOAM Token is used as a safety deposit to participate in the protocol correctly and contribute
work, security and computation. The staking of the token is needed on the root chain to be granted
access to the shared state machine of any given Zone.
A Service Level Agreement (SLA) is the form of staking smart contract Zone Anchors and Zone
authorities bond to in order to o↵er location verification services. This agreement dictates the terms of
service.
A Beacon Public Key is the known public key of a mobile beacon that wants to purchase presence
claims from Zones.
A Presence Claim (PC) is a set of counter-signed Requests with the same Nonce, which is intended to
provide enough data to constitute an exact localization. Issued by Zone participants to BPK for a fee.
The presence claim is subject to fraud proof computation before being authenticated as a proof.
The Verifiers are computational engines that incentivized to check the time logs of Zones for fraud and
finalize Proofs of Location. The verifiers need to have at least the same computational power as that of
an Authority inside a zone. Because Verifiers compute locations from the time stamped data they can
be said to be mining triangulations.
The Slashing Conditions are set faults that constitute a violation of protocol rules for Zone participants
and Verifiers, which results in a loss of the deposited funds.
Proof of Location is a fraud proof authentication certificate that serves as a first class object on the
blockchain and represents that an entity was at a certain space in time
Tendermintの利用
https://gyazo.com/15609978fcdf800f45f5fc355eab9e82
参考
親チェーン→Ethereum
子チェーン→Tendermintベース
Zone Authoritiesごとに複数?作る
子チェーンのValidatorになるには親チェーンでのdepositが必要
Ultimately, to become a validator in replicating the shared state machine of a Zone, and by extension to become a node running the time synchronization protocol over radio, collateral in the form of FOAM tokens is needed as a safety deposit on a root or parent blockchain.
(子チェーンで?)ビザンチンな振る舞いをした場合に没収される
clock synchronizationはアプリケーション層で行う
Radio Frequency(RF) Time of Flight(ToF) Distance-Bounding algorithmsのこと
部分同期的なコンセンサスレイヤーと違って完全に(?)同期的なので
Zoneによって提供されたtime log dataは(verifierによって?)検証される
Resources