2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

ヒッキーのプログラミングするスレ13

1 :(-_-)さん :2018/11/29(木) 12:08:02.93 ID:KPeo6lr/0NIKU.net
初心者も実力者もプログラミングしてるヒッキーが雑談しあうスレ

前スレ
ヒッキーのプログラミングするスレ12
http://matsuri.5ch.net/test/read.cgi/hikky/1516290908/

避難所(2ch鯖落ちや規制などの時)
ヒッキープログラミングスレ 2
http://jbbs.shitaraba.net/bbs/read.cgi/internet/17286/1371668281/

ヒッキーのプログラミングする掲示板
http://jbbs.shitaraba.net/computer/44607/

2ちゃんねるヒッキー板プログラミングスレwiki
http://www54.atwiki.jp/projecthikky/

ヒッキーのプログラミングするスレのごみ箱(アップローダー)
http://ux.GetUploader.com/hikkyp/

関連スレ
ヒッキーのプログラミングするスレ (共同作業)
http://matsuri.2ch.net/test/read.cgi/hikky/1491250289/

ヒッキーの競技プログラミングするスレ 2完
https://matsuri.5ch.net/test/read.cgi/hikky/1520463497/

ヒッキーのまったりプログラミングするスレ
https://matsuri.2ch.net/test/read.cgi/hikky/1505021721/

このスレッドはワッチョイとなってます。
次スレを立てる方は本文一行目に
「!extend:on:vvvvv:1000:512」の記入をお願いします。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

429 :lifeinwild :2019/09/22(日) 09:18:34.58 ID:/LUAZgAJ0.net
Tenyuの演算量証明はハードウェアアクセラレーションできないように工夫されています。
とはいえ圧倒的なコンピュータパワーによって攻撃されるリスクはあります。
しかしネットワークの規模の増大に応じて堅牢になっていきます。

あと、相互評価フローネットワークとP2Pネットワークは基本的に無関係なので、
混同しないよう注意してください。
どちらもネットワークでありノードやエッジという語が使われます。

それで、相互評価フローネットワーク上でエッジを身内で作り合って報酬をもらおうとする行為は、
「公開された成果にのみエッジを作成する」というルールで解決されます。
他の人達がどんな成果にエッジが作られたのか検証できます。

あと、不正行為をする人達はBANされますが、繰り返しユーザー登録するのは困難です。
Tenyuのユーザー登録は紹介制で、誰か既存のユーザーから紹介してもらう必要があります。
不正者ばかり紹介する人もBANされます。

もう1つの要点として、このシステムは特定のサイトに限定されずあらゆるサイトに横断的に適応できる事です。
Tenyuはあらゆるサイトに跨って創作活動全般の収益化を達成しうる構想です。

430 :(-_-)さん :2019/09/22(日) 09:25:28.85 ID:y5KaGp9K0.net
検証ってどうやるの?
アタッカー軍団が大人数で検証して、善良な人を不正行為者と認定して回ったら
善良な人はみんなBANされちゃうんじゃないの?
不正行為かどうかを演算量で民主的に決めるのは不可能だぞ

431 :lifeinwild :2019/09/22(日) 09:44:48.77 ID:/LUAZgAJ0.net
まず過半数の人が悪質であるという前提を持つなら何も成立しません。
攻撃者は常に少数派という前提です。
そして、ハードウェアアクセラレーションできない事によって、
実際の多数派が演算量においても多数派になります。
ハードウェアアクセラレーションできないとはつまりASICやGPUによって
演算量を強化できないということで、CPUによってのみ演算量を強化できます。

432 :lifeinwild :2019/09/22(日) 09:51:33.81 ID:/LUAZgAJ0.net
最終的にBANの権限を持つのは全体運営者または全体運営者によって任命された人ですが、
全体運営者は選挙的プロセスによって選出されるので安全だと考えます。
もし演算量の過半数が攻撃者によって占められるとその選挙的プロセスが攻撃に晒され、
全体運営者が攻撃者に乗っ取られます。
こうなると確かに問題ですが、Tenyuの演算量証明はCPUによってしか演算量を強化できないので、
参加者数に比例して乗っ取りに必要なCPUの数は増えます。
従来の演算量証明システムが攻撃に脆かったのはハードウェアアクセラレーションされてしまうことが一因だったと考えています。

もう1つの防護策として、Tenyuの演算量証明は「継続的」であるという特徴があります。
他のノードが過去示した演算量が現在の信用度に影響する、ということです。
そのようなネットワークを攻撃するには、攻撃者は膨大なCPUを「長期間」攻撃に用いる必要があります。

もう1つ防護策があります。
Tenyuでは、作者や自分の紹介者となったユーザーや
友人について演算量に関係なく強く信用するという仕様になっています。
演算量は「他人を信用する」時の1手段であり、他の方法でも信用値を強化する方法があります。

433 :(-_-)さん :2019/09/22(日) 09:58:34.69 ID:6mDT46cq0.net
WSLでrawモードのターミナル使ってたらブルスク連発した怖い

434 :(-_-)さん :2019/09/22(日) 10:01:58.57 ID:y5KaGp9K0.net
資金を持つアタッカーほど大量のCPUを稼働させられるんじゃないの?
他の二つの防護策も結局CPUの数に依存することになるから
資金を持つアタッカーほど過去の演算を示せるし、
手を組んだアタッカー同士で相互に強く信用しちゃうよね

435 :(-_-)さん :2019/09/22(日) 10:03:48.23 ID:y5KaGp9K0.net
51%攻撃はまだ誰も解決してないよな
あれと鍵管理の難しさが仮想通貨のネックになってる

436 :lifeinwild :2019/09/22(日) 10:05:26.22 ID:/LUAZgAJ0.net
Tenyuは基礎技術においても重大な発明があります。
目次から基礎技術の項目を参照してください。
一度読んでみて分からないところがあったら聞いてください。

Tenyuのノードが正しいDBを保つ方法はプロセッサ証明と分散合意に基づく同調処理です。
選挙もプロセッサ証明と分散合意に基づくシステムですが、同調処理とは異なります。
Tenyuにおいて演算量証明はいくつかの近傍ノードのプロセッサ性能を測っているだけです。
演算量証明というアイデア自体は同じであるものの、ビットコイン系とは全く違う技術です。
演算量が直接信用値になるのではなく様々な状態値を参照して信用値が算出される、
というアイデアはTenyuにもあります。
しかしTenyuが参照する状態値は「ノードAはノードBと友人である」
「ノードAにとってノードCは紹介者である」というような自分のノードとかかわりの深い他のノードを信用するようにしています。
このような事が可能なのは分散合意という全く新しい技術に基づいているからです。

437 :lifeinwild :2019/09/22(日) 10:12:31.31 ID:/LUAZgAJ0.net
>>434
ASICは少ない投資で大量の演算量を獲得できます。
一般ユーザーがASICを持たずCPUだけで参加するから出し抜けます。
CPUのみで演算量が得られる場合、一般ユーザーの演算量を全く出し抜くような効率が得られません。

恐らく1点誤解があります。Tenyuの分散合意という技術においては、
自分の紹介者となった人の一覧や友人の一覧はただ自分の手元でのみ管理する情報として扱えます。
P2Pネットワークで共有される必要が無いということです。
恐らくあなたは攻撃者が演算量を通じて改竄できてしまうと思っているのは
それら情報がP2Pネットワークで共有されるものだと誤解しているからです。
Tenyuでは全体で共有されるDBを客観、手元でのみ保持する情報を主観と呼んでいますが、
自分の友人や紹介者は、客観でも記録されている可能性がありますが、主観でも管理できて、
より基礎的なDB同調の段階では主観の情報を参照する事ができます。
それは誰にも改竄できません。
これは演算量以外の信用ソースがあるということです。

438 :(-_-)さん :2019/09/22(日) 10:19:47.19 ID:y5KaGp9K0.net
うーん、分散合意って語義矛盾に聞こえるけどな
合意って「意志が一致すること」なわけで、それが分散しちゃったらまずいんじゃないの?
それはもはや合意じゃなくて各々が信じているだけでしょ
分配は「A君はB君を評価してる、C君はD君を評価してる、じゃあB君とD君に公平に10ポイントずつね」とかなるわけ?

439 :(-_-)さん :2019/09/22(日) 10:24:54.02 ID:y5KaGp9K0.net
>>437
いやいやASICじゃなくただのCPUでも大量に動かせるじゃん

改ざんというか不正に評価を高められるんじゃないかと思ってる

440 :lifeinwild :2019/09/22(日) 10:27:26.82 ID:/LUAZgAJ0.net
分散合意は局所的多数決を繰り返すだけで各ノードの元で
全体で多数決をした場合と同じ情報が得られる、というものです。
ですから分散的でありながら合意が可能です。
一般に合意なるものに集計や中央機関的なものが必要であるという考えを持っているのは
鋭い見解ですが、それを覆す技術です。

441 :lifeinwild :2019/09/22(日) 10:28:16.84 ID:/LUAZgAJ0.net
上でも書きましたが、相互評価フローネットワークとP2P技術は関係ありません。
そこを混同しないでください。

442 :lifeinwild :2019/09/22(日) 10:29:19.25 ID:/LUAZgAJ0.net
私が今説明しているのはP2P技術です。
相互評価フローネットワークは客観(全ノードで共有されるDB)の1データに過ぎません。
相互評価フローネットワーク上のエッジがP2Pネットワーク上で再現されているとかは全くありません。

443 :lifeinwild :2019/09/22(日) 10:34:47.06 ID:/LUAZgAJ0.net
>>438
補足します。分散合意の結果は主観ではありません。
どのノードも分散合意の結果を客観として扱います。
全ノードの元で同じ情報がある事を信頼できるからです。
それは分散合意というP2Pアルゴリズムが持つ性質から信頼できます。
Tenyuの基礎技術は改ざん困難な共有されたDBを作れて、しかも高速に更新できます。
相互評価フローネットワークや仮想通貨残高等の重要な承認情報は当然客観で扱われていて、
当然客観の更新や同調は堅牢なシステムがあります。
主観のみによるシステムではありません。

444 :(-_-)さん :2019/09/22(日) 10:36:31.37 ID:y5KaGp9K0.net
ビットコインは分散システムだけど「改ざん不可能なブロックチェーンの高さ」
という共通の情報をもとに合意してるわけじゃん
合意なんだから、信頼できるなんらかの共通の情報が必要だよ
局所的多数決ってのはそういう情報にならないでしょ
それじゃ分配に合意できないんじゃないの?
A君はB君に20ポイント全部をあげたいし、C君はD君に20ポイント全部をあげたいのに
公平に10ポイントずつじゃ納得できないぜ

445 :(-_-)さん :2019/09/22(日) 10:54:46.79 ID:y5KaGp9K0.net
>>443
アタッカーが狙うのはその重要な承認情報だな
アタッカーはその情報を更新するノードになろうとするだろうね

446 :lifeinwild :2019/09/22(日) 11:04:04.46 ID:/LUAZgAJ0.net
>>444
私も昔はそういう見解でしたが、分散合意はその常識を覆します。
局所的多数決(自分の近傍との間で多数決をする)という事を
全ノードが一斉にやるだけで全体で同じ情報が各ノードの手元に現れます。
だから各ノードはそれを客観(全ノードで共有された情報)とみなします。
昔、2015年、分散合意を思いついて、
このような現象がある事をサンプルコードを書いて確認して初めて確信しました。
これがサンプルコードです。
https://github.com/lifeinwild/tenyu/blob/master/DistributedVoteSample/src/main/java/DistributedVote/P2PApprovalInformationPlatformSample/DistributedVoteTest.java
あなたがどのような常識を持って喋っているか分かりますが、それが覆されます。

局所的多数決しかしないから近傍に対して主観として信用値を持つだけで済みます。
その信用値を他のノードに伝播する必要が無いという事です。
だから誰をどの程度信用するかはノード毎に異なります。
このP2P技術の文脈における信用値とは主観です。
プロジェクトページの目次から「ストーリー」を参照してください。
局所的多数決を繰り返しているだけなのに全ノードで共通の情報が現れるから
(これは因果関係として確認したのではなくそういう現象がある)分散合意の結果を客観として扱えます。

>>445
特定の1ノードが更新するのではなく、分散合意を通じて分散的処理のみで
現在の全体運営者が誰か、現在の客観DB全体のハッシュ値は何かを知ることができます。
だからアタッカーはP2Pネットワークの過半数の信用値を得るような事をする必要がありますが、
それはP2Pネットワークの様々なところに入り込んだうえでプロセッサ性能を証明する必要があります。

447 :(-_-)さん :2019/09/22(日) 11:05:02.64 ID:y5KaGp9K0.net
nakamoto論文もそうだけど「選挙」とか「民主的」っていうワードがミスリードなんだよな
演算によるネットワーク上の合意形成はCPUなどのリソースの多寡で決まる程度のものでしかない
みんながみんな同じ量のリソースしか所有してない場合に民主的になるだけだ

448 :lifeinwild :2019/09/22(日) 11:11:58.16 ID:/LUAZgAJ0.net
分散合意のサンプルコードは、おおよそこんな感じです。

たくさんノードがあります。例えば1000くらい。
それぞれのノードが1つランダムな数値と、いくつかのノードへの近傍関係を持ちます。
それで局所的多数決をします。近傍から現在の近傍の値(各ノードは1つ自分の値を持つ)を取得します。
そうして集めた値と自分の値で平均値を算出します。
それを次のターンの自分の値とします。
それを各ノードがそれぞれ行います。
そうして20ターン(実際5ターンくらいで)も繰り返せば全ノードが同じ値を持ちます。
サンプルコードはそれを確認するものです。

しかもその時現れる値は全体で多数決した場合とほぼ同じ値になります。

これで、局所的多数決を繰り返すだけで各ノードの元で全体で多数決をした場合と同じ結果が現れる、という事が分かると思います。
客観DBのハッシュ値の同調処理なら、平均とか中央値じゃなく一致しているかどうかという処理になるので、
より確実に各ノードの元で全体で多数決をした場合と同じ値が現れます。

449 :lifeinwild :2019/09/22(日) 11:18:30.71 ID:/LUAZgAJ0.net
この分散合意の発見によって、
Tenyuのシステムは一切中央機関が無い状況から
全体運営者を選出したり客観DBを構築したりできるような設計になっています。

Tenyuの「P2P技術部分における各ノードの信用値」は主観であり、
AがBを100信用していて、CがBを20信用している、というような
どのノードから見ているかによってBの信用値が違うという事がありえます。
局所的多数決を行うだけだからそれで問題ありません。
信用が低いノードの言う事は単に破棄されたり票数が低くみられたりします。
これによってダミーノードの主張は分散合意の中で排除されます。
信用は演算量や友人関係等から各ノードの元で主観値として算出されます。
ダミーノードは信用が得られません。

450 :lifeinwild :2019/09/22(日) 11:47:28.68 ID:/LUAZgAJ0.net
整理します。

客観
重要な承認情報(仮想通貨残高、相互評価フローネットワークのエッジ)を扱う。
ネットワークの過半数の集団以外に改竄されない。

主観
自分の手元だけで管理する情報。
ある人をどの程度信用するかという見る人によって変わる情報等を扱う。
自分以外に改ざんされない。そもそも他の人はアクセスできない。

プログラム
プログラムやその中に定義された定数が全ノードで共通のものとしてあります。
Tenyu基盤ソフトウェアはソースコードが公開され誰もが検証できます。
全体運営者選出をいつ行うか等予め設定されている情報があります。

451 :(-_-)さん :2019/09/22(日) 11:58:45.55 ID:y5KaGp9K0.net
DistributedVoteTest.javaを読んだけど、主張が変わるっていうのがよくわからない
A君はB君の絵が最高だと思ってるとして、知人のC君、D君にB君の絵は最低だと言われただけで主張を変えるのか?

452 :(-_-)さん :2019/09/22(日) 12:04:12.55 ID:ZS15//Fv0.net
ひろしはいるの?ひろしはブロックチェーン技術とかはやってないのかな
りんごちゃんは興味持ちそうだけど

453 :lifeinwild :2019/09/22(日) 12:25:48.56 ID:/LUAZgAJ0.net
>>451
絵が好きというような創作物の評価に対する話は相互評価フローネットワークの文脈だと思います。
しかし相互評価フローネットワークとP2P技術は無関係です。
分散合意はP2P技術の一種です。
分散合意のサンプルコードが示しているネットワーク上の現象は相互評価フローネットワークと無関係です。

分散合意の中で局所的多数決をして自分の主張値をターン毎に変化させていくことは、
自分の意見が周囲の意見で影響を受けて変化していっているという事です。
自分の意見=主張値は、サンプルコードでは無意味なランダムな値ですが、
例えば客観DB全体のハッシュ値を扱う事もできるし、
「Aさんが全体運営者になるべきだ」とか全体運営者投票も扱えます。

454 :lifeinwild :2019/09/22(日) 12:36:59.87 ID:/LUAZgAJ0.net
どこで躓いているか多分わかりました。
私はP2P技術の話で客観DBのハッシュ値を一致させれるといっていますが、
それが達成されるとP2Pネットワークの全ノードで同値な客観DBを持てます。

そのDBの中にユーザーDBや相互評価フローネットワークのデータがあります。
このObjectivityObjectStoreを継承したストアは客観DBに記録されます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/db/store/ObjectivityObjectStore.java
UserStoreはNaturalityStoreを継承していて、NaturalityStoreはObjectivityStoreを継承しています。
つまりユーザーDBは客観DBの中で扱われます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/db/store/UserStore.java
Sociality=相互評価フローネットワークのノードです。
これも客観DBの中で扱われます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/db/store/sociality/SocialityStore.java

Socialityは管理者ユーザーIDを持ちます。ObjectivityObjectが管理者を持つからそれを継承した全クラスが管理者を持ちます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/global/objectivity/ObjectivityObject.java
SocialityはObjectivityObjectを継承しています。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/global/objectivity/sociality/Sociality.java

そしてSocialityの一部にエッジがあります。これが相互評価フローネットワークのエッジです。
「管理者ユーザーの署名つきでエッジ作成メッセージがネットワークに流れたら各ノードはそれを受け入れる」
という事です。そのような多彩な機能は「客観DBの同調」さえ達成できれば可能になります。
つまり私が説明しているP2P技術は客観DBの同調や選挙的プロセスについてであり、
それさえ実現されればその後の多彩な機能の実現性はクリアされるということです。

455 :lifeinwild :2019/09/22(日) 12:47:06.40 ID:/LUAZgAJ0.net
なおTenyuのP2Pネットワークでは随時近傍と客観DBを同調させているので、
一部のノードがDBを更新しても近傍の古い値の方が多数派であるせいでかき消されてしまいます。
アタッカーどころか正規のノードも自分だけが値を更新してもかき消されてしまうのです。

その問題を解決するために全ノードがタイミングを合わせて一斉更新するようなことをしています。
その更新タイミングでは同調処理が短時間停止します。

実は一斉更新の方法について2通りの方法を思いつきましたが、片方は現在のネットがブロードキャストの方法を提供していないので
実現できません。そこでもう片方の方法を採用しています。

456 :lifeinwild :2019/09/22(日) 12:50:19.85 ID:/LUAZgAJ0.net
A「現在の客観DBのハッシュ値はXだ」
B「現在の客観DBのハッシュ値はYだ」
C「現在の客観DBのハッシュ値はXだ」
この局所的多数決の結果はXになります。AやCがダミーノードでなければ。

このような事がP2Pネットワーク全体で起こります。
20ターンほどこのような近傍との局所的多数決を繰り返すと、
一部のノード群が集中的に間違った値を持っていた場合、そこだけ一時的に間違ったハッシュ値を正しいと思い込む可能性があるものの、
最終的には正しい値に到達します。近傍関係が十分に複雑であれば、
その間違った値を信じ込んでるクラスタに正しい値が徐々に入り込むからです。

457 :(-_-)さん :2019/09/22(日) 12:59:12.43 ID:y5KaGp9K0.net
>>453
なるほどね

しかし、自分で「近傍関係が十分に複雑であれば」と言ってるように
実際にはそれほどちゃんとしたネットワークトポロジーにならないんじゃないの?
友人・知人を近傍ノードにするって方法だと、友人・知人が多い人の影響力がすごいことになる
それはその人が信用されてるんだからそれでいいという見方もできるけど
人々の騙されやすさがそのままネットワークの脆弱性になるね

458 :lifeinwild :2019/09/22(日) 13:02:19.59 ID:/LUAZgAJ0.net
相互評価フローネットワークの文脈で共同主体を実現するのにP2Pが必要と言いましたが、
それは共同主体の管理者が分散合意によって選出される全体運営者だからです。
ここで共同主体の管理者と言っているのは共同主体からのエッジ(相互評価フローネットワークの根本なので重要)
を作成する権限を持つ人です。
共同主体という中央集権的存在の管理者を選出するためにP2P技術が必要になります。
もし無条件に信頼できる誰かが居てその人に共同主体の管理者を任せれるなら、
相互評価フローネットワークをP2Pソフトウェアで実現する必要性は全くありません。

相互評価フローネットワークは本来的にC/Sでも実現可能なものだと思っておいてください。

459 :lifeinwild :2019/09/22(日) 13:07:01.63 ID:/LUAZgAJ0.net
>>457
近傍数は2000以下に制限されます。
近傍一覧は友人など直接指定したノードを入れる事もできますが、
基本的にはソフトウェアが自動的にネットワークを探索して勝手に近傍関係を作ります。
そしてレイテンシが悪いとか同時間帯にオンラインにならないノードを徐々に削除する、
あるいは不正な値を送信してきたノードを削除するなど、近傍一覧を洗練していきます。

TenyuのP2P技術はプロセッサ証明+分散合意です。
分散合意だけだとダミーノードに弱かったり大量の近傍を作る事でネットワークに強い影響力を持てます。
それを防ぐ仕組みがプロセッサ証明にあります。
プロジェクトページを検索:Cの重要性について。回答に含められたランダム値の長さによって、近傍の近傍数を知る事ができて、その近傍数は過少報告が防止されています。

プロセッサ証明で信用値を獲得しなければダミーノード扱いとなり分散合意において影響力を持てないので、
プロセッサ証明が実現している「近傍の近傍数の制限」という性質は、あなたの仰られる大量の近傍を持つ事による攻撃を阻止します。

460 :(-_-)さん :2019/09/22(日) 13:10:37.59 ID:y5KaGp9K0.net
でもなんでlifeinwildさんはいきなり造語を使いまくるの?
仕様書とかならまだわかるけどさ(それでも用語集は必須だと思う)
その様子だと協力者が集まりにくいと思うよ

461 :(-_-)さん :2019/09/22(日) 13:18:04.35 ID:y5KaGp9K0.net
>>459
えっ、自動で近傍関係を作るのか。
それはどういうアルゴリズムで?
相手を信頼できるかどうかをどうやって判断するの?

462 :lifeinwild :2019/09/22(日) 13:23:26.85 ID:/LUAZgAJ0.net
>>460
独自の言葉を作るのは私が知る限りその意味を指定する言葉が無いからです。

>>461
近傍関係を作る≠信用する
プロジェクトページの「ストーリー」にあるように、
アドレス交換(近傍関係を作る)は信用を必要とする行為ではありません。
分散合意のサンプルコードはプロセッサ証明等の考えを省いて
できるだけ単純に分散合意の性質を示すためにあるのでこの考えを入れてありませんが、
実際の分散合意ではプロセッサ証明の結果から得た信用に依存します。
信用されていないノードは分散合意において影響力を持ちません。
即ち局所的多数決において主張値が無視される、または票数が低くみられる。

463 :lifeinwild :2019/09/22(日) 13:25:56.72 ID:/LUAZgAJ0.net
しかし、確かに演算量証明という言葉があるのでプロセッサ証明という言葉は要らなかったかもしれません。
とはいえ私がプロセッサ証明と呼んでいるものは近傍の近傍数の制限まで行います。
もともとCPU証明と呼んでいましたが、その方が妥当だったかもしれません。

近傍の近傍数の制限で実際に制限されているのは、
近傍が一度にまとめて多数の近傍において信用を獲得できる(演算量証明できる)んですが、
いくつのノードにまとめて演算量証明していいかが制限されます。

464 :lifeinwild :2019/09/22(日) 13:33:40.50 ID:/LUAZgAJ0.net
プロセッサ証明では1つの問題を解くだけで多数の近傍の元で信用を獲得できるという面があります。
ここにはかなり巧妙なロジックがあるのでプロジェクトページの解説を注意深く読んでください。

ここのrankingAndRemoveで定期的に近傍一覧は不要な近傍関係を削除します。
長期間近傍から信用を得なかった場合、削除されます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/global/subjectivity/UpdatableNeighborList.java

つまり大量のノードの近傍になるならそれぞれのノードにおいてある程度の演算量証明をする必要があります。
そうしなければ近傍関係を削除されてしまうからです。
それだけでなく、信用が得られないなら近傍関係を持っていても意味がありません。
分散合意において信用が無ければ自分の主張値は無視されるからです。

465 :(-_-)さん :2019/09/22(日) 13:33:43.56 ID:y5KaGp9K0.net
>>462
あのプロジェクトページをいきなり全部読んでくれる人だけを相手にするならいいんだけどね

ああ、なるほどね
まず信用できないノードでも近傍にして、演算能力が確認できたら自分の多数決に参加させるってことか
なかなか面白い仕組みだな

466 :lifeinwild :2019/09/22(日) 13:54:05.43 ID:/LUAZgAJ0.net
>>465
>まず信用できないノードでも近傍にして、演算能力が確認できたら自分の多数決に参加させる
その通りです。理解してくれてありがとう。
私にとってこのようなものを理解できる人間が居るのか前々から不安だったので、本当に助かります。

分散合意によって「局所的多数決で良いから主観的な信用値でいい」という性質がもたらされ、
主観的な信用値は決して自分以外に改竄されないという特徴があります。
だからブロックチェーンという偉大なるただ1つの莫大な演算量の元に作られるデータは不要で、
ただ局所的に近傍から信用を得るために演算量証明が行われます。
ここまで理解してもらえれば、>>432>>436が伝わると思います。
だからTenyuの演算量証明はビットコイン系と全く異なります。

そして分散合意のサンプルコードが示すように局所的多数決のみでネットワーク全体で共有された値を持つ事ができるから、
それで客観DBの正しいハッシュ値を全ノードの元で知る事が出来るので、
今自分が正しいDBを持っているのか分かります。
もし間違ったDBだったら近傍からデータを取得してDBを更新して、
再度ハッシュ値をチェックするという事を繰り返します。
もしここで不正な値を教えられても客観DBの正しいハッシュ値が分かっているので、
正しいハッシュ値になるまで何度も客観DBの同調が行われます。

その同調処理において、DB全体のどの部分が不整合を起こしているのかを特定するために、
HashStoreというクラスがあります。これはいわゆるハッシュツリーです。
DBの各ストアは連番のIDを持ちますが、
ID1-20のハッシュ値、21-40のハッシュ値、41-60のハッシュ値というように
一定の単位毎にハッシュ値が予め計算&記録されていて、それらハッシュ値についてもまた
20件毎にハッシュ値が計算され、その二次的ハッシュ値も20件毎にハッシュ値が計算され、
最終的に最上位にただ1つのハッシュ値を持ちます。客観DBのハッシュ値とはこの最上位のハッシュ値です。
そしてこのハッシュツリーがあるとどの部分が不整合を起こしているのか効率良く特定できます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/db/store/HashStore.java

467 :lifeinwild :2019/09/22(日) 14:12:24.98 ID:/LUAZgAJ0.net
厳密にいうと客観DBの中にはUserStore, SocialityStoreなどいくつかのストアがあり、
HashStoreは1つのストアに1つ付属しています。
そして同調処理でノード間でやり取りされるのは整合性情報Integrityクラスです。
Integrityは客観DBの整合性検証のための情報で、各ストアの最上位ハッシュ値を含みます。
https://github.com/lifeinwild/tenyu/blob/master/src/main/java/bei7473p5254d69jcuat/tenyu/release1/global/middle/catchup/Integrity.java

468 :lifeinwild :2019/09/22(日) 14:58:13.14 ID:/LUAZgAJ0.net
興味ある人ツイッターフォローお願いします。
初期の関係者として把握しておきたいので。
https://twitter.com/lifeinwild
(deleted an unsolicited ad)

469 :lifeinwild :2019/09/22(日) 17:29:38.03 ID:/LUAZgAJ0.net
独自用語の一覧を作成し一通り説明しました。
参照:プロジェクトページの目次 独自用語

470 :lifeinwild :2019/09/23(月) 06:24:39.11 ID:hdj69mxQ0.net
>>451
別の説明を思いつきました。

分散合意はP2Pネットワーク全体での”合意”技術ですが、
一般論として合意対象となる情報は少数派の意見を潰してでも統一しなければならない情報です。
例えば「現在の客観DBのハッシュ値」とか「次の全体運営者」といった情報です。
ある絵をどれくらい好きか、というような情報は合意対象になりえないということです。

そして、客観DBのハッシュ値について合意すれば、どのノードも現在の正しいDBが分かり、
DBを同調させていけるので、その時点でDBに色々な情報を入れれるので、
そこにおいて多彩な機能が実現可能になり、
誰がどの絵をどれくらい好きかというような情報はその多彩な機能の一種である
相互評価フローネットワークで扱います。

471 :lifeinwild :2019/09/23(月) 14:09:36.58 ID:hdj69mxQ0.net
多分一番分かり易いサンプルコード。
私が当初分散合意を思いついた時書いたもので、最も素朴なサンプルです。
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/DistributedVoteSample2015.java

これは後に書いたサンプルコードで、>>446を移動させただけです。
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/DistributedVoteSample2018.java

なお>>448の説明はこの2015年のサンプルコードをイメージして喋ってました。
混乱させてすみません。2018年のサンプルコードの方は同値型で、平均を求める類のものではなく、
客観DBのハッシュ値を全ノードで一致させる場合の処理に近いものです。
2015年のサンプルコードは同値型と平均型の両方があります。
平均型は全体運営者の選出など選挙的な仕組みを実現するのに使えます。
例えば全体運営者の候補者一覧がありXとYが立候補したとします。
ノードA「Xが0.7、Yが0.3」
ノードB「Xが0.2、Yが0.8」
というように各ノード毎に主張値を持ち、平均型の分散合意の結果としてネットワーク全体が共通の値に到達します。
ちなみにTenyuの全体運営者は複数存在し、それぞれ影響力割合が違います。
これがTenyuの選挙機能です。

サンプルコードはいずれも1ファイルで、僅かな標準クラスにしか依存してません。
コピペしてすぐ動かせます。

472 :lifeinwild :2019/09/24(火) 12:26:43.13 ID:Yq+61Jhq0.net
プロセッサ証明について色々説明を加えました。
・目次の独自用語→プロセッサ証明
・ページ内検索:全体的な流れ

プロセッサ証明についてサンプルコードを書けないか検討しましたが、
分散合意なら「1つの値に収束する」というような分かり易い結果があったものの、
プロセッサ証明は何らかの分かり易い結果が現れるというよりも
「それでセキュリティが成立している」というものなので、難しい。
セキュリティが成立している事を示すサンプルコードというものが不可能な気がします。

たぶん疑問に答えていくのが効率がいいと思うので、気軽に聞いてください。

473 :(-_-)さん :2019/09/24(火) 22:39:13.91 ID:ektrm0J70.net
こういう発明みたいなのは無名なら結果を示さないと関心持ってもらえないと思うよ
東大卒とかGoogle研究員とかじゃないわけだからね

474 :lifeinwild :2019/09/25(水) 09:38:52.16 ID:oZkTE/oT0.net
「これでセキュリティが成立している」という事を単純に示すのは
一般論として不可能じゃないかと。

今後ソフトウェアを作り込んでいったとして、そのP2P技術が成立しているんだと
分かってもらえなければ関心を集めれないだろうし。

実力のある人に読んでもらう以外ないはずです。

475 :(-_-)さん :2019/09/25(水) 12:07:19.78 ID:p8x7PKt70.net
結果を示すには技術を理解してもらうことが必要で、技術を理解してもらうためには結果を示す必要があると。
これは詰んでますね

476 :(-_-)さん :2019/09/25(水) 13:50:32.36 ID:bZBaRM0E0.net
数学的に証明すりゃいいんだよ

477 :lifeinwild :2019/09/25(水) 14:45:41.22 ID:oZkTE/oT0.net
仮にこれでP2Pネットワークを作って長年無事に運営できたとしても、
たまたま攻撃されてないのか堅牢だから攻撃方法が無いのか証明されない。
だから誰かに理解してもらう必要がある。

ところで同値型といっていたのを異常排除型と言い換えました。
その方が本質を言い表していると思ったので。
説明文を随時分かり易いように修正していってるので、読み直してみてください。
これはP2P領域の本質的な発明であり、P2Pに興味がある人達は読むべきです。

478 :lifeinwild :2019/09/25(水) 15:06:36.99 ID:oZkTE/oT0.net
ネットワークの規模がでかくなるにはこの技術が成立していると
信頼してもらう必要があり、規模がでかくならなければ堅牢にならない。

ブロックチェーン 数学的証明
Mathematical proof blockchain
p2p mathematics
などで検索してみましたが特に出てこないので
恐らくP2Pシステムのセキュリティを数学的に証明するという事は行われていないのでは。
一般論として脆弱性がある事を指摘するのはできそうですが、脆弱性が無い事の証明はどうやるのか。

479 :lifeinwild :2019/09/25(水) 15:10:52.77 ID:oZkTE/oT0.net
証明ではなくてもプロセッサ証明まわりの動作概要を示す事はできそうなので書いてみます。

480 :(-_-)さん :2019/09/25(水) 15:34:38.74 ID:6iwuJ3TI0.net
何かやるにしても環境作るのが面倒でやる気にならない

481 :(-_-)さん :2019/09/25(水) 16:46:19.07 ID:p8x7PKt70.net
ビットコインは仕組みを理解しなくてもマイニングしたら儲かるからどんどん参加者が増えていったよね
で、儲かった人たちが出てきたから仕組みに注目が集まっていった
いきなり仕組みを理解してくれというのはなかなか厳しいだろうな

482 :lifeinwild :2019/09/27(金) 00:22:55.20 ID:9oL0AD5b0.net
プロセッサ証明のサンプルコードを加えました。
ぜひ読んでみてください。

Tenyu独自P2P技術教程

分散合意模擬動作。異常排除型と選挙型
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/DistributedVoteSample2015.java

分散合意によって不正値を信じ込んだノードが正常値へと回復する動作を示す。異常排除型
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/DistributedVoteSample2018.java

演算量証明コア部分。いかにしてCPU以外での演算を防止するか。
このような動的な問題生成が可能なのは分散合意がもたらす主観信用で良いという性質がノード毎の問題を可能にする事による。
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/CPUProvementTestSample2018.java
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/CPUProvementSample2018.java

プロセッサ証明と分散合意の相補性のサンプルコード。異常排除型だが信用によるダミーノードの排除は選挙型にも応用可能
https://github.com/lifeinwild/tenyu/blob/master/src/sample/java/bei7473p5254d69jcuat/tenyu/sample/ProcessorProvementSample2019.java

483 :lifeinwild :2019/09/27(金) 00:38:46.58 ID:9oL0AD5b0.net
こういった事に理解を試みてくれそうな人を探してる。
特にレビュー記事を書いてくれる人を。
何人かネット上で見つけた人に連絡をしているものの反応が無い。
大抵の人はツイッターがあってもDM拒否してるし連絡とれない。

484 :(-_-)さん :2019/09/27(金) 04:21:24.44 ID:W8cgtGSS0.net
ム板とかで探せば?

485 :lifeinwild :2019/09/27(金) 08:50:36.94 ID:9oL0AD5b0.net
スレッドを立てても削除されそう

486 :(-_-)さん :2019/09/27(金) 09:22:18.50 ID:swBJHiva0.net
企業に金出して探せよ

487 :(-_-)さん :2019/09/27(金) 16:16:00.93 ID:qKqMPG810.net
noteは?

488 :lifeinwild :2019/09/27(金) 23:03:16.47 ID:9oL0AD5b0.net
独自用語にリンクを貼りまくりました。読みやすくなったかも。
https://github.com/lifeinwild/tenyu

489 :(-_-)さん :2019/09/28(土) 07:37:15.08 ID:3KRvc3nC0.net
>>488
もし、プログラミングのコンテストで 何か受賞してましたら、プロフィールに追加してください。
競技プログラミングの経験はありますか?

> 私は個人のプログラマーで、長年オンラインゲームのプレイヤーで ・・・

490 :(-_-)さん :2019/09/28(土) 07:53:46.14 ID:h8vV4z5H0.net
そんなのいらねえよ

491 :(-_-)さん :2019/09/28(土) 16:38:50.36 ID:gNuBxUAz0.net
この人にはいるよ
特殊な文章を読んでほしいわけだからなあ
すごい経歴とかかわいい女の子とかじゃないし、儲かったり、楽しんだりもできないし

492 :(-_-)さん :2019/09/28(土) 16:39:55.31 ID:3d2T9EZN0.net
ディープラーニングに興味があって図書館で本を読んだり動画をみたりしてる
コーディングにはPythonが必要なのだが面倒で何もしてない

493 :lifeinwild :2019/09/28(土) 17:54:34.89 ID:zIZSSejP0.net
https://github.com/lifeinwild/tenyu#%E3%83%8E%E3%83%BC%E3%83%89%E3%81%A8%E3%82%A8%E3%83%83%E3%82%B8%E3%81%AE%E7%A8%AE%E9%A1%9E
>立ち上げ協力者
>本構想の立ち上げに協力した人にここからエッジが作成されます。

一応こういう構想があります。ネット上でのあらゆる活躍を収益化できる構想として
考えているので。当然このプロジェクトへの貢献も対象になります。
しかし報酬目当てで協力する前に、このプロジェクトがまだ成功を収めていない事を知っておいてください。

サンプルコードを読むのにさほど時間は要らないと思います。

私は一応社会的に真っ当なところから情報分野で日本でトップクラスの評価を
受けた事がありますが証明する方法はありません。

494 :(-_-)さん :2019/09/28(土) 18:01:26.94 ID:OhAbM8JH0.net
プレゼンが致命的に下手くそ
3行で説明しろ

495 :lifeinwild :2019/09/28(土) 18:18:05.19 ID:zIZSSejP0.net
Javaやってるとこうなっちゃうんです

496 :(-_-)さん :2019/09/28(土) 22:23:04.30 ID:gNuBxUAz0.net
仕様書ならああやって用語を定義しないと簡潔に書けないし、曖昧になるからしょうがないけどな
でもプレゼンとか紹介にはならんわ

497 :(-_-)さん :2019/09/29(日) 23:44:20.07 ID:Y8rDJVib0NIKU.net
自分は元プログラマで今はニートみたいな感じだけど、もう二度とIT系には関わらないと思う
趣味でプログラムするには良いけど職業でやるのは体がおかしくなる

498 :(-_-)さん :2019/09/30(月) 01:15:38.63 ID:p7x5sY8u0.net
>>493
Tenyuに関心を寄せてきた人、今までに 何人 居るの?
その中に、有名IT企業や有名プログラマーが居ましたか?

「ネット上でのあらゆる活躍を収益化できる構想として考えている」というけど、、、

あなた自身の活躍を収益化出来てない時点で おしまいだわ。

499 :(-_-)さん :2019/09/30(月) 01:18:55.79 ID:grVHSTSt0.net
仕事の場合はプログラミングスキルよりコミュ力のほうが重要だからな
プログラミングに向いてないやつのほうが職業プログラマに向いてることも多い

500 :lifeinwild :2019/09/30(月) 09:54:21.11 ID:luXieppZ0.net
>>498
「構想として」という部分はまだそれが実現していないことを意味しています。
現時点で収益化に成功していない事は構想として問題がある事を意味しません。

概要を整備してだいぶ分かり易くなったと思います。
https://github.com/lifeinwild/tenyu

501 :lifeinwild :2019/09/30(月) 10:11:23.42 ID:luXieppZ0.net
ソフトウェアをとりあえず完成させて仮想通貨を売ってみようかと思う。
プロジェクトを継続していくのに自分が収益化される必要性があるので
あと分配システムを作動させて初期参加者に与えてみる
このシステムは新規通貨発行が可能なので、
とりあえず後々に影響を及ぼさないような少額で。

502 :lifeinwild :2019/09/30(月) 11:03:28.88 ID:luXieppZ0.net
ICO規制が気になるけど、小規模かつ単発的な個人間取引は仮想通貨交換業に該当しないはず・・・
https://topcourt-law.com/virtual_currency/virtualcurrency_exchange_registration
>あくまでも個人が単発で、身内や知り合いのために仮想通貨の売り買いをするのであれば、
「事業として行うこと」という要件をみたさないため、仮想通貨交換業の登録は必要ありません。

503 :lifeinwild :2019/09/30(月) 11:34:45.29 ID:luXieppZ0.net
この書き方だと個人間の小規模取引でも仮想通貨交換業に該当しそう。
https://ja.wikipedia.org/wiki/%E8%B3%87%E9%87%91%E6%B1%BA%E6%B8%88%E3%81%AB%E9%96%A2%E3%81%99%E3%82%8B%E6%B3%95%E5%BE%8B#%E4%BB%AE%E6%83%B3%E9%80%9A%E8%B2%A8%E3%81%AB%E5%AF%BE%E3%81%99%E3%82%8B%E8%A6%8F%E5%88%B6
>仮想通貨の売買又は他の仮想通貨との交換(第1号)

購入希望者を不特定多数から探して、それを何度か繰り返したらアウトかもしれない。
だから個人間もほぼアウトと読める。無理か。
https://www.fsa.go.jp/common/law/guide/kaisya/16.pdf
>「業として行うこと」とは、「対公衆性」のある行為で「反復継続性」をもって行うことをいうものと解されるが、

>「対公衆性」や「反復継続性」が想定されている場合等も含まれる点に留意する。

504 :lifeinwild :2019/09/30(月) 11:54:37.71 ID:luXieppZ0.net
クラウドファンディングも、出資者へのメリットとしてエッジ作りますと言ったら、
なんかの規制に引っかかりそう。
ある程度広まって認可済みの仮想通貨交換業者が扱ってくれる、というのが唯一の道か。

昔考察してて思ったのは、銀行が直接仮想通貨交換業をやるのが一番良い。
個人情報を銀行以外に教える必要が無いし、
多くの仮想通貨交換業はP2Pのメリットを破壊するようなシステムを採用している。

505 :(-_-)さん :2019/09/30(月) 12:15:57.72 ID:grVHSTSt0.net
換金できないうちは大丈夫じゃないの?

506 :lifeinwild :2019/09/30(月) 12:38:17.49 ID:luXieppZ0.net
クラウドファンディングで出資者へのメリットとしてエッジを作成すると、
恐らくICOにおけるトークンとみなされる。

エッジではなくゲームで特別なアイテムを与える、とかは問題無さそうか。

507 :(-_-)さん :2019/10/02(水) 13:16:58.30 ID:dg+FcY/Rd.net
>>7
分かったから働け

508 :(-_-)さん :2019/10/04(金) 14:15:04.15 ID:0MjmpFsr0.net
きみらホントにヒッキーなの

509 :(-_-)さん :2019/10/04(金) 18:54:58.12 ID:Mt/zy8WE0.net
勤労経験のあるヒッキーはたくさんいると思う

510 :(-_-)さん :2019/10/04(金) 22:24:57.71 ID:SDohNS4M0.net
元プログラマ
病気になって、ひきこもり状態

511 :(-_-)さん :2019/10/05(土) 16:51:46.00 ID:XthncqPd0.net
>>510
生活費どうしてる?
ニートか、障害年金かな?
一旦、仕事辞めたら もうIT職には戻れないから つらいね。

512 :(-_-)さん :2019/10/05(土) 16:57:43.52 ID:RGeyyTUW0.net
テスト

513 :(-_-)さん :2019/10/10(木) 04:21:38.77 ID:6G63maMm0.net
なんでmallocした領域をfreeしないやつがサーバーなんて書くんだろうな
馬鹿を開発に入れるせいでサーバーが1日ともたなくなる

514 :(-_-)さん :2019/10/10(木) 04:47:26.67 ID:7HdbcBhu0.net
そういうバグはOSSとかで結構ありそう?

515 :(-_-)さん :2019/10/10(木) 09:50:04.53 ID:oN9J27uw0.net
>>513
なんで、テストしないの?
れびゅーしないの?
こういう馬鹿が対策を起こさないのが一番の問題点なんだろうな
要は自分が馬鹿だと気づかない

516 :(-_-)さん :2019/10/10(木) 10:11:43.83 ID:6G63maMm01010.net
>>515
禿同
俺は開発に関わってないけど、馬鹿を入れるなら対策するべきだわ

517 ::2019/10/10(木) 22:05:22 ID:wiKpUXAi0.net
会社によってはレビューやテストをしないところもあるし、しっかりやるところもある
自分の経験から言えることはレビューやテストをおろそかにする会社では働かないほうがいい
そういうところって責任範囲を曖昧で誰かが尻拭いすることが多かったりする
精神的にも追い詰められるので、こういう会社では働かない方がいい

518 ::2019/10/13(Sun) 18:02:54 ID:j22cFsL+0.net
20年引きこもってるけどプログラミングのおかげでそれなりの収入を得られた
ただぼーっとした日々を過ごさなくてよかった

519 ::2019/10/14(Mon) 00:08:00 ID:AcWK/Rwm0.net
へーひきこもりながらも収入得られるんだ
ネットで〇〇案件〇〇万円とか見るけど、ああゆうやつで収入えてたのかな
自分は組み込みでしか実務経験ないので受けられる案件が少なかった

520 ::2019/10/14(Mon) 01:49:29 ID:7VXgTDjs0.net
いやphpとかでサイト作ってアフィです
あとは自分用のツール作って間接的に楽できた

521 ::2019/10/14(Mon) 13:22:45 ID:O08f5OVr0.net
>>520
アフィの年収はいくらですか?

522 ::2019/10/15(Tue) 02:16:26 ID:jwuJo7uw0.net
>>521
しょぼいけど300万ぐらい

523 :(-_-)さん :2019/10/20(日) 02:30:31.67 ID:w1JfC3ZB0.net
300十分すごい

524 :(-_-)さん (ワッチョイ ff66-Xga+):2019/10/24(木) 22:45:41 ID:6GKVucZD0.net
Rustでターミナル上で動く専用ブラウザ作り始めた
https://i.imgur.com/MYSUu8F.gif
https://github.com/morinaga-de-la-mancha/goch

525 :(-_-)さん (ワッチョイ ff66-Xga+):2019/10/24(木) 22:45:57 ID:6GKVucZD0.net
Rustはいい言語だな
使ってて楽しい

526 :(-_-)さん (ワッチョイWW f3cb-Kx4u):2019/10/24(木) 23:55:35 ID:GWSbczNH0.net
>>524
こういうの作れる人うらやましい

527 :(-_-)さん (ワッチョイW cf25-9r9C):2019/10/25(金) 00:11:47 ID:9CBLnD950.net
>>524
カッコいい

528 :(-_-)さん (ワッチョイ ca9e-qV4/):2019/11/03(日) 17:50:23 ID:tAayhAeH0.net
ざっと読んだけど、ここも昔とだいぶ変わったな
今年は、オライリーのPython本買って勉強して、LineBOTを作ったぐらいで、
昔ほどのモチベーションはない

脱ヒキして、IT系の会社でスマホアプリとか作ってたけど、オーバーワークで辞めて引きこもりに逆戻り

529 :(-_-)さん :2019/11/03(日) 22:23:05.49 ID:8LUYmLcD0.net
プログラマーの魅力は手段を目的化する倒錯っぷりにある
金を稼いだり、自分に箔をつけるためにプログラミングしてる奴は見ててもつまらんよ
ここはそういう意味でもう終わった

総レス数 814
211 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200