#opg $OPG あることがずっと分からない。AIリクエストが来ると、十数個のノードが全部それを見てしまう。じゃあ誰が受けるの?
誰かが手早く受ければいいなら、回線が速い人には常に仕事が来て、遅い人には永遠に仕事が来ない。最後に残るのは2、3の大口だけで、他のノードは全員餓死する。これで何のために分散化するのか。
OpenGradientはホワイトペーパーで解決策として「抽選」を提示している。
いい加減な運任せじゃない。システムは現在のブロックのハッシュと、このリクエストのIDを一緒に、VRFという仕組みに投げて、ランダム数を計算する。そして、そのランダム数でオンラインの全ノードを並べ替える。1位のノードが優先して注文(タスク)を受ける。指定された時間内に結果と証明を提出しなければならない。超過したり不正をしたりしたら、2位に繰り下がり、以降同様だ。
ポイントは、このランダム数が検証可能であること。ノードは不正できない。並べ替えのロジックは公開されていて、誰もが自分で再計算できる。ホワイトペーパーでは、ランダム数がルールどおりに生成されたことを保証するためにゼロ知識証明を使うと書いてある。次のリクエストが誰になるかを事前に知ろうとしても無理だ。
以前別のプロジェクトでもVRFをやっていたのを見たが、結局は並び順が先回りされてしまった。あとで分かったのは、ランダムの種がノードに先に推測されていたからだ。OpenGradientでは、その種とブロックハッシュを結びつけている。ブロックハッシュは予測できないので、この穴を塞いでいる。
ただ、この設計には厄介な点もある。もしあるノードが意図的にタイムアウトすれば、即座に罰としてステーク(担保)が没収されるわけではなく、いったんキューから一時的に外されるだけだ。連続して何度もタイムアウトしないと罰が発動しない。ホワイトペーパーではこれを「ソフト罰(soft penalty)」と呼んでいる。ネットワークの揺れは誰にでもあるので、タイムアウトのたびに即金銭的に強く罰するのは確かにきつすぎると思う。とはいえ、これは嫌がらせをする余地も生む。誰かが意図的に繰り返しタイムアウトして、全体の効率を落とすことができてしまう。罰の閾値に達していない限り、あなたはそれをどうすることもできない。
ホワイトペーパーには、具体的に何回でタイムアウトが罰されるのか、罰の閾値が何回なのかは書かれていない。おそらくメインネット投入後に実情に合わせて調整するためだろう。
とにかく、抽選(摇号)メカニズムの方向性は良いと思う。でも善人には防げても悪人は防げない。バグを意図的に引っかけるような人が出た場合は、結局コミュニティの通報などに頼ることになるかもしれない。
あなたはどう思う?この並べ替え方式は公平だと思う?ぜひツッコミを入れてください。@OpenGradient
誰かが手早く受ければいいなら、回線が速い人には常に仕事が来て、遅い人には永遠に仕事が来ない。最後に残るのは2、3の大口だけで、他のノードは全員餓死する。これで何のために分散化するのか。
OpenGradientはホワイトペーパーで解決策として「抽選」を提示している。
いい加減な運任せじゃない。システムは現在のブロックのハッシュと、このリクエストのIDを一緒に、VRFという仕組みに投げて、ランダム数を計算する。そして、そのランダム数でオンラインの全ノードを並べ替える。1位のノードが優先して注文(タスク)を受ける。指定された時間内に結果と証明を提出しなければならない。超過したり不正をしたりしたら、2位に繰り下がり、以降同様だ。
ポイントは、このランダム数が検証可能であること。ノードは不正できない。並べ替えのロジックは公開されていて、誰もが自分で再計算できる。ホワイトペーパーでは、ランダム数がルールどおりに生成されたことを保証するためにゼロ知識証明を使うと書いてある。次のリクエストが誰になるかを事前に知ろうとしても無理だ。
以前別のプロジェクトでもVRFをやっていたのを見たが、結局は並び順が先回りされてしまった。あとで分かったのは、ランダムの種がノードに先に推測されていたからだ。OpenGradientでは、その種とブロックハッシュを結びつけている。ブロックハッシュは予測できないので、この穴を塞いでいる。
ただ、この設計には厄介な点もある。もしあるノードが意図的にタイムアウトすれば、即座に罰としてステーク(担保)が没収されるわけではなく、いったんキューから一時的に外されるだけだ。連続して何度もタイムアウトしないと罰が発動しない。ホワイトペーパーではこれを「ソフト罰(soft penalty)」と呼んでいる。ネットワークの揺れは誰にでもあるので、タイムアウトのたびに即金銭的に強く罰するのは確かにきつすぎると思う。とはいえ、これは嫌がらせをする余地も生む。誰かが意図的に繰り返しタイムアウトして、全体の効率を落とすことができてしまう。罰の閾値に達していない限り、あなたはそれをどうすることもできない。
ホワイトペーパーには、具体的に何回でタイムアウトが罰されるのか、罰の閾値が何回なのかは書かれていない。おそらくメインネット投入後に実情に合わせて調整するためだろう。
とにかく、抽選(摇号)メカニズムの方向性は良いと思う。でも善人には防げても悪人は防げない。バグを意図的に引っかけるような人が出た場合は、結局コミュニティの通報などに頼ることになるかもしれない。
あなたはどう思う?この並べ替え方式は公平だと思う?ぜひツッコミを入れてください。@OpenGradient