🛠️ プライベート投票の構築は簡単ではありませんが、それだけの価値があります!
これは技術的になる可能性があるため、できるだけ明確に要点を絞って説明します。要件を分解し、安全でプライベート、かつ検証可能な投票システムをどのように設計しているかを説明します。
準備はいいですか?
🧩 主要な要件:
› 投票をクライアント側で暗号化し、暗号化された状態でオンチェーンに保存する
› 市場が稼働している間は投票値を隠す
› 市場が閉じた後にのみ投票を復号化する
› 各投票をそのユーザーに結び付け、正確に評判を更新する
これが私たちの実現方法です。 👇
🔐 まずは暗号化:
→ 私たちは Drand Network (@drand_loe) が提供する TLE(タイムロック暗号化)を使用しており、これにより公開鍵を使って投票を暗号化できます。これは、将来的に Drand Network によって公開される秘密鍵によってのみ復号化可能です。
→ ユーザーは、Drand の公開鍵とソルト値を使用してオフチェーンで投票を暗号化します。これにより、投票がプライベートであり、予測が難しくなります。暗号化された投票は、暗号文として契約に提出されます。
投票が終了したらどうなるのでしょうか? 🤔
📊 市場が閉じた後:
› Olas Coordinator が Drand によって公開された秘密鍵を使用して個々の投票を復号化します
› Olas Coordinator が投票を集計し、マークルツリーを作成し、最終集計を計算します。
› 集計結果(つまり、マークルルート、最終集計)がオンチェーンの契約に再提出されます
› Olas 契約はランダム性オラクル(現在、@pragmaoracle、@cartridge_gg VRF、@chainlink VRF を使用してランダム性のニーズを実験中)を使用して、ランダムに投票を選択し、それらを復号化し、マークルツリーと照合して正しく集計された投票であることを統計的に確認します。
しかし、まだ改善の余地があります。
現在のところ、暗号化された投票は市場が決済された後に公開されます。
完全なプライバシー?それは次です!私たちは、投票を永遠にプライベートに保つために、同型暗号化のような高度な暗号技術を探求しています。これについては今後の更新で詳しくお話しします。 💭