DAGで表現するお気持ちネットワークの資料では、2/13時点のヤツよりもシンプルになっています。ブロックチェーンを作るつもりだったけど、コアアイデアはDAGだけで表現できちゃうなー的な。
ちなみに設計メモ
お気持ちは無限大である。それまでのその人のお気持ちによって価値は変動をするし、お気持ちを発行しすぎると価値は薄まる、かもしれない。ひとまずお気持ちは無限に発行できるとする。お気持ちは、信頼・信用・評価、そういったものの現れである。
お気持ちは、秘密鍵によって署名され、公開鍵で検証可能なデータブロックである。データブロックには、スコア(+1〜+5)と、対象URI、コメント(感想)、ジャンルを示すタグを含める。その一定のルールに従ったデータブロックを発行するソフトウェア(ライブラリ・アプリ・ブラウザ拡張など)によってお気持ちが発行される。
お気持ちは常にプラス評価、好きを表明をする為のものである。ディスる目的に使ってはいけない。ディスるくらいであれば、お気持ちを表明してはいけない。反論などがある場合は、お気持ちではなくコンテンツにおいて表現すべきである。また、議論をする場では無いので、お気持ちによる議論が発生する事はルール違反である。
お気持ちネットワークにおいて、コンテンツ・お気持ちの表明は全て公開され、過去にさかのぼって検証可能なものであり、検証可能ゆえに信頼できるものである。
使用例としては、OSS開発者や良い記事、良い発言、登壇など何かをした人、良い小説を書いた人など良いコンテンツを発表した人にお気持ちを送る。
基本的にはコンテンツを主体にするため、SNSなどの側面は考えない。コミュニケーションがしたければよそでやれというスタンス
評価しあう文化圏・経済圏を作りたい。インターネッツでは罵倒のコストがあまりにも低すぎるので、ポジティブな評価をするだけの仕組みにする。また、小説なり作品なり作ってる人は感想に植えているので、ポジティブな感想を書くインセンティブを設計したい。
検索エンジンがSEO()とかいうのに汚染されすぎてて実用性が乏しくなってるので、キュレーション的なアプローチを、面倒じゃないやり方で実現したい。
コンテンツを作る人、お金を出す人が評価される、価値を得られる仕組みにしたい。
他人から大きく評価を集めている人は「ある評価軸において」信用・信頼できるはずである。たとえば、JavaScriptの優れた記事を書く人は、JavaScriptの優れたプロダクトを見つけたりできるはず。つまり、信用度の高い人のお奨めはきっとお奨め度も高いはずである。なのでそれによってキュレーションが可能になり、検索問題が解決できるはず。
もちろんそういった人が、実は政治について発言すると的外れな事をいいまくるかもしれない。その人の評価は、ある評価軸において保証される。もしかしたら複数の評価軸において信用されるかもしれないが、いったんそれらは独立して考えるべきだろう。
異なる価値観・評価軸を成立させる為に、お気持ちにはタグ付けを行う。
タグは、タグ自体にも評価値が付く。JavaScriptのお気持ち評価の高い人のJavaScriptのお気持ちは価値があるべきだし、JavaScriptの評価の高い人が高い評価をしている人物の、JavaScriptのお気持ちは価値があるべきだ。またメジャーなタグはそれ自体が信頼の積み重ねを持っていると考えられる。
表現揺れを防ぐ為にも、マイナーなタグは信用度の高い人であっても、スコアとしては低いものとして扱われる。(また、タグの間違い、推奨する別タグという指摘をモデレーションで行えるようにする)
お気持ちネットワークにおいてマイナーなタグでも、それについて活動する人が増え、(あまりモデレーションされなければ)、そのタグには価値が蓄積され、いつかはメジャーなタグになっているはずである。
タグの間で評価が分かれる(モデレーションが飛び交う)ようなものは、おそらく価値観の断絶があると判断できるので、そういったタグの間では価値は相互運用性が無いものと見なされる
たとえば、JavaScriptに関するお気持ちなら、JavaScriptというタグが付けられるべきであり、JavaScriptの中でもメタプログラミングであれば、メタプログラミングのタグも付けられるべきである。
錬金術コミュニティであれば、community.alchemist みたいな階層的なタグかもしれない。
ただしタグはあくまで分類の為のものであり、お気持ちの内容自体はコメントとして表明すべきである。
お気持ちタグに対するモデレーションも可能であり、たとえば「このタグはルール上、不当である。」「このタグはこの名前の方が相応しい」などである。
お気持ちが承認されたら、スコアなどに応じてお気持ちトークンが発行される。JavaScriptとしてのお気持ちであればJavaScriptお気持ちトークンである。お気持ちトークンの発行はある一定のタイムラグ (検証タイム) が設けられる。
タグの発行にコストがかかるようにしてもいいかもしれない。コミュニティとかだと、名前空間の奪い合いにもなりかねないし
投票制度もありかもしれない
インフラ維持やモデレーションなどに貢献してる人向けのタグ。Okimochiとか。これのスコア価値は、他のスコア価値にも影響するようにする。
暗号通貨との繋ぎ込みが出来れば、暗号通貨でOkimochiが多少買えるようにするw (金を出す人がえらい)
ある人が表明したお気持ちが、正しい運用をされていない場合、たとえばディスる目的にお気持ちを表明した、違法行為を行ったなどの「明確なルール違反」の場合には、お気持ちに対してモデレーションすることができる。むしろモデレーションを推奨する。
ただし、あるお気持ちに対して意見が異なるという目的の為にモデレーションをしてはいけない。ルール違反(違法行為も含む)に対してだけモデレーションできる。
モデレーションされたお気持ちは、そのモデレーションが正当である度合いに応じて、お気持ちにペナルティが付与される。
ただし、モデレーション自体が不当なケースもある。賛否両論なもの、あるいは不当な嫌がらせとしてのモデレーションもありえる。そのため、不当なモデレーションは積極的にモデレーションに対するモデレーションを表明すべきである。
モデレーションに対するモデレーションが付かない。信頼度の低いモデレーションしか付かないなどの場合は、正当なモデレーションであると見なせる。
モデレーションもお気持ち同様にブロックチェーンに残るので後から全部検証可能である。
ペナルティとしては軽く設定する。間違っているという指摘なので、正しくあるべきものを指定することができる。
システム上の不当行為 (不正データの挿入、システムへの攻撃行為など)
お気持ちやモデレーションが、間違いだった、不当だったなどの理由でrevokeすることもできる。まぁその場合再度計算しなおさなければならないので、それ相応のペナルティは付与される
違法なものなどはモデレーションだけではなく、自分でrevokeすべきではある。
お気持ちネットワークにおいてのユーザーが新作を発表した場合、その情報もブロックチェインとして流れる。
この時、問題になるのは、その著作物が本当にそのユーザーのものなのか?電子署名を施す事はできるけど、拾ってきたものに電子署名を施す可能性もある。
お気持ちは「コンテンツ」に対する評価システムなので、コンテンツとどう繋ぎ込むのか?の問題がある。いかにユーザーが透過的、つまり明示的なアクションをしなくても運用出来るか?は考えられるべき。
これが一番確実である。コンテンツ自体に電子署名を一定形式で埋め込んだ上で、コンテンツを公開した事をお気持ちネットワークにブロードキャストする。
Twitterとか、githubとかpixivだとこれでいけるのかな?
たぶん、Twitterとかだと定期的に署名できるようにしておくべき。対象サービスで有効な署名ツイートをした上で、お気持ちネットワークにブロードキャストを行う。
この場合、コンテンツプロバイダが自動で電子署名を埋め込む事になる?
カンファレンスのページ自体が対応してくれればありがたいけど…
「カンファレンスで発表しました」ツイートとか、スライド自体にお気持ちを表明する?
お気持ちネットワーク自体がコンテンツ配布ネットワークとして機能するという案もある
たとえば、インフラ運営者とか、モデレーションとかを正常に行ってる人は、インフラ貢献スコアを得られる。
インフラ運営としては、コンテンツプロバイダのような特定のノード運営をする、あるいはP2Pクライアントを常に立ち上げている、クライアント起動によりブロックの検証などを行う、などにより貢献スコアを得る(まぁある種のマイニング)。
その上でスコア(賞味期限あり)の高い人は、重要なノードや重要な証明とかを任されたりする (たとえば、初期接続ノードとして推奨されたり、特定のトランザクションを発行できる)
使って良いストレージ上限などリソース設定ができて、貢献度合いによって得られるスコアは変わる
いい感じのお気持ちを送ってくれる人がいたら、 を付与できるようにする。その時自分のスコアに応じて、少しだけ評価をお裾分けできる(マイクロお気持ち)
これによって、感想を書くインセンティブを少しでも増やす
クライアントは、色々な人の活動が可視化されるようにする。また、フィードとして新作発表とか、お気持ち表明を取得できるようにする。
たとえば、誰かのIDが表示されたときにその人がどういう活動をしているのかがばっちり可視化されるようにする。githubのcontributionだったり…
ポートフォリオとして使えるようにする。
ウェブ経由でもこれらの情報にアクセスできるようにする
お手軽に「お掃除ありがとう」みたいなのを送れると面白いかも
ハッシュと公開URLなどのデータベース
類似またはコピーを探し出せるようにする。
お気持ちネットワーク以外でもクローリングやクライアント経由でコンテンツをfetchしてその情報を共有できるようにする。
あるデータが最初に登場したタイミングを調べる
スコアからクラスタリングやサジェストのような、データ分析・応用をするノードがあるといいのでは?ただ、その分析や応用が正しいかどうかの検証が低コストでできるかどうかの問題はある
また、ツール上でサジェストが取り扱われる場合、「無関係」「ある程度関係あるけど自分には役に立たない」「役に立つ」など細かく評価できるようにする
WebRTCとか使う?ブラウザだけでも動くようなP2Pシステム
お気持ち表明は、電子署名さえ問題なければrejectが発生しない。順番の問題が生じない。そういう意味では、異なるブランチとのmergeでコンフリクトが生じ得ない。つまりDAG的なもので問題が無い
モデレーションは、まぁ元となるお気持ちか、モデレーションが必要だけど、それはブロックとして確定してることだけ確認できれば良い
新作情報も、単体のものだから、順番の問題が生じない。
お気持ちトークンや暗号通貨繋ぎ込みに関しては注意深く処理する必要がある。
繋ぎ込むためのプロトコルを厳格に決める。プロバイダはDNSに特定の電子署名を必須とする
小説や絵その他のプラットフォームがコンテンツプロバイダになる
あるプラットフォームのユーザーが、お気持ちのユーザーであることを証明する。これは別に対象プラットフォームじゃなくても、OAuthなどでも可能
ユーザー情報の繋ぎ込みができている前提で、作品公開時に、自動でお気持ちネットワークに新作情報をブロードキャストする。コンテンツプラットフォームがコンテンツプロバイダとしてお気持ちネットワークに繋がっている場合、そのユーザーの作品であることをプラットフォーム側が保証する。
運営の判断による非公開、法的な非公開、ユーザーによる自発的な非公開などをブロードキャストする。
作業依頼を暗号通貨やお気持ちトークンでやりとりできるようにする
お気持ちシステムはある意味、ポジティブ評価専門のソーシャルブックマーク。これをウェブでアクセスできるようにする。あるいはあるユーザーのポートフォリオとしてアクセスできるようにする
もちろん、コンテンツプロバイダと兼任できる
OAuthなり別の手段なりで、既存世界のアカウントと、お気持ちアカウントのマッチングだけ行う
お気持ちネットワークを、コンテンツの配布ネットワークとして動かす?
言ってみればいにしえからのファイル配布P2Pネットワークと同じ。ただし違法配布は捕まるように注意深く設計する。
この場合、コンテンツを発表した人はIPを記録する、torと接続できないようにする、などが必要になりそう。
ものによっては国単位での遮断も必要になる (ある国では合法でも、ある国では違法)
元のURLのデータを注意深く監視しつつ、キャッシュ配布だけ行えるようにする
この時、ファイル配布に対応するかどうかはクライアントごとに設定できるようにする
正直、それが必要かどうかはなんとも言いがたい
IPを記録すると、ペルソナの使い分けが難しくなる。また職場とかの情報が漏れる。
ただ、IPが記録されていれば、違法性は排除しやすくなる
折衷案としては、コンテンツプロバイダのような他との繋ぎ込みをするサイトがIPを保持する (プロバイダ責任)。この時プロバイダは自分のIPを知られる事になる。知られても問題ないし
古いお気持ちは参考にならない可能性が上がるかも?
サジェストとか検索とかの時に、古いお気持ちの影響を下げる。
あるいは再評価を促す
たとえば、技術書典とかでお気持ち決済とかできると面白いよね……とか、依頼をマイクロペイメントとかできる仕組みあれば面白いけど、果たしてそれは可能なのか?
たとえば、JavaScriptお気持ちトークン (分配で受け取る権利) を他人に渡す)
お気持ちスコアと、お気持ちトークンは一応分ける。
お気持ちトークンは自分が分配で暗号通貨を受け取れる権利を他人に贈与するもの。
あるいは、お気持ちトークンの交換。
あと、お気持ちを送る事前提で値引きとか (感想が欲しい)
誰が発表し、誰がどう評価したかを、blockchainで残すのはありだと思う。検証可能性を保証する
P2Pネットワークである必要があるのか?blockchainを皆で共有して、検証可能にする為には、P2Pネットワークである事が望ましい
コンセンサスはどうするべきか?
PoW方式なのか、PoS, PoI, その他を採用すべきなのか
基本的に評価でのみ決まる仕組みだから、マイニングの必要性は低い。
まぁ、インフラを維持する事に対して多少の報酬を与えるの自体はありなので、それをベースに設計してもいいかもしれない。コンテンツプロバイダなど、他の世界との繋ぎ込みをどう担保するかの解決手段として。
暗号通貨を流し込む(寄贈)する事でお気持ち評価の高い人、つまり貢献をしている人に通貨が自動分配される仕組みはあり。
たとえば、JavaScriptに1BTCを寄贈する場合、JavaScriptにおけるスコアに応じて分配する。このとき、Scalaなど他のタグには一切入らない。
Programming みたいな別途タグがあればそれはそれでプログラミング界全体に対する発行として良いのではとは思う。
お気持ちネットワークそのものの専用タグ(Okimochi)を用意して、特定タグに対する寄贈の場合でも、お気持ちネットワークに対して一定量流し込まれるようにする。
お気持ちネットワークの開発やインフラ維持、正しいモデレーションをした人に対して、お気持ちネットワークのスコアが上昇する。
暗号通貨を流し込むウォレットは誰が管理するのか?そのウォレットからはお気持ちネットワーク的に正しい送信しかできないようにしたい。Ethereumのスマートコントラクトなどがこの目的には使いやすいと思うが、一からネットワークを設計してみたい感じが強いので、ちょっと合わない。
DEXのブリッジノードのようなことをする必要がありそうだ。外から暗号通貨側のブロックチェーンとお気持ちのブロックチェーンを検証することで、そのノードが不正を働いてないことの証明はできるので、それを持って不正を防ぐって考え方でいいかもしれない
送信手数料が問題にならないthresholdを決める。mining poolとかと同じような感じにする。一定期間分配されないヤツは再分配にする?
たとえば、ある対象にお気持ちをグループで送る。(あるいは機械的に送る)。
あるいは相互でお気持ちを送り合う
IDの自動生成で大量にアカウントを作ってお気持ち送信しまくる
異なるお気持ちトークンの交換所を用意する。DEX(分散型交換所)か、既存のと同じような交換所を設置するかはさておき。
この場合、合意形成をちゃんとしなければいけないので、お気持ちブロックチェーンと少し分ける (Bitcoinでいうサイドチェーン) とかはありかなーと思う。
インフラとしてのストレージが実現できれば、分散型ストレージサービスになるな?
ってなるとやっぱり、コンテンツ発表のプラットフォームとして普通にいけるよね……
メールシステム実現できるのでは……
SNSはやるつもりない気持ちだったけど…
相手の公開鍵で暗号化をほどこせば相手の秘密鍵でのみ開くことができるメッセージを作成できる。まぁブロックチェーンに載せるのが妥当かはさておいて
spamの場合は、モデレーションで対処する (メタモデレーションができない問題はある…)