//tips
健康診断後、頭痛が酷い。年を感じる。血が足りない。躍動するヘモグロビン希望。
//smart contract
本日はchainlinkのwhitepaperを確認。
Two technologies with planned deployment
in Chainlink’s networks, DECO [234] and Town Crier [233], enable oracle nodes to
retrieve data from off-chain systems in ways that protect user privacy and data
confidentiality.
オフラインのシステムからデータをオラクルが取得するためのポイントは2つあり、それがDECOとTown Crier とのこと。
現状のwebサービスのセキュリティはTLS(httpsセキュリティを提供しているもの)に守られているが、これはデジタルサイン方式に対応していないなどの問題のため、センシティブな情報を登録する利用者proverが承認者verifierに情報を渡す際に、センシティブな部分を隠して渡すことができない。
designed to allow a Prover to obtain data from a web
server and present it to a Verifier in a way that ensures integrity and confidentiality.
ProverとVerifierは、presentation protocolという形で対話することになり、その際に秘密鍵を使用することで限定した情報を渡せるよう。
ここで大事なことが情報を受け取る際にサーバーに要求を行うのではなくprover側で処理できるということで、これにより既存のwebシステムの上に成り立つことができる。
参考:
Zero-knowledge-proofを使用することでセンシティブな内容を別の形にして、その別な形での照合を行うことで、proverが情報を操作していないことがわかる。
ハッシュ化したものを比較することやバイトコード化したものを比較するなどの方法もあるので zero-knowledge proofはどちらかというとcrypto関連の人には馴染みやすい手法かもしれない。
ゼロ知識証明とは、証明者が「自身の主張は真実である(知識を有している)」以外の情報を検証者に開示することなく、その情報が「真実である」と証明する方法のこと。
比較をせずに理解させるという点は、数学的な解決手法が模索されている。
The Prover can alternatively present the Verifier with a zero-knowledge proof of some property of D and thus not reveal D directly.
ChainLinkではこの事実証明をoracleのネットワークで行うことで正当性を担保するようにするとのこと。
a user or a single node can export data D from a private
session with a web server to all of the nodes in a DON. As a result, the full DON can
attest to the authenticity of D (or a fact derived from D via a zero-knowledge proof).
ただ、この事実証明はベース情報の取得源がprivateに依っている場合は難しいはず。数学的な手法で解決するのは比較、置き換えなどかと思うので、初期情報の捏造には対応できないように思われるため。
検証可能なものはDONのようにoracleのネットワークで検証を行えば良いかと思うが。
ここはzk-knowledgeは機能しないように思えるため、私は情報の出し手よりも情報源と連携することで、不正することに対するロスと通常運営を行うことに対するインセンティブ設計で対応できればと思う。
またminorによるトランザクション順の操作は、トランザクションプールでの重みづけと操作が介入する余地が無いスピード感で仕組みを回させれば良いように思える。古く、ガス代が高いものに1番の重みがつけられ、それらを自動で取得するものが、思考余地が入るものより勝率が限りなく高いようにすれば解決されるように思う。