---
# System prepended metadata

title: データ分析 雑書
tags: [Research]

---

# データ分析 雑書
###### tags: `Research`


# 箇条書き
- `(X / node数) / ブロック` は全てthroughが0 -> 3 にむけて割合が減っていく
- gene: node数に応じて単位ブロックに対する割合が減る。およそ `(1 / node数) + α` くらい。
    - node: 3 のとき、およそ`0.35`
    - node: 5 のとき、およそ`0.23`
- diff=3から５になると、`+α`がかなり小さくなっている
    - node: 3 のとき、およそ`0.33`
    - node: 5 のとき、およそ`0.20`
- long: node数が増えると、longの割合も若干増えているように思う
    - diff では殆ど変わらない
    - ただ、node: 5, diff: 6 の場合、だいぶばらつきがある（0.74 ~ 1.08）
    - throughの増加に応じた変化はみられない。ただバラつきはある
- majo: nodeの増加で割合が増え、diffの増加で割合が減る
    - txは全nodeが同じものを持つ機会があるため、node数が増えるほど割合が増えているのだと思われる
        - txを必ずしも全nodeに共有しない。とすると、かなり変わると思われる
    - diffが増えると複数nodeにおける生成時間のブレ幅が大きくなるので、それが影響しているかと考えられる
- 多数派に焦点を当てた時、throughが 0 -> 3 にむけて、１ブロックに含まれるtx数は減少した
    - 一つの候補として、攻撃txがthroughによりほぼ常時で残り続ける。すると、`多数派２：攻撃１` というパターンでの多数派txの取り込みが発生しなくなり、結果としてtx数が減っているのではないか
- gene, long, majo などで、throughが大きくなるほど割合が減るのは、そもそもこのtxが減っていることに起因しているのではないか？
    - ただ、geneはtxの存在に関係なく発生する事象である
    - majorityはtxの量などに発生が起因している。
    - 高throughではtxが実質的に減る -> majorityの発生率が下がる -> ブロック生成が行われる回数が減る -> geneが減る
    - 高throughではtxが実質的に増える -> majorityの発生率が上がる -> ブロック生成が行われる回数が増える -> geneが増える
    - こんな流れか？
- diff:6（ワークステーション）の方が、majorityの発動が極端に少ない。
    - macと違ってスペックの関係上、通信が早くtxの差異が出にくい？
        - txの共有が早く、みんな同じtxでPoWしているの意
    - ブロック生成時間などは関係ないと思われる（自動調整版でも同様なので）

# 自動調整実装
- 自動調整後は攻撃txが0になった
- こちらも、majorityの発動は非常に少ない
    - diff: 6と大差が無いことから、WSという同さ環境上、WS内でのtxの共有が非常に早く、それによってnode毎のtxに際が出にくい。が濃厚か？
    - 別グローバルIP同士や、別端末での動作であれば、また異なった結果になりそう
        - 主に、majorityの発動が多くなると推測
- 上記から、majo無効と有効の比較では、殆ど差異の無い結果になったのではないか
- (ローカル環境かつ、自動調整はOFFだが)PoW時の過半数制限、majorityの両者を無効にすると、多数派tx、攻撃txの両者を含めた、全nodeがほぼ等しい比率となった
    - これに関しては、ただ送られてきた全txをそのままブロックに取り込んでいるだけなので、どのclitntから送られてきたかなどの差が出ないのは至極当たり前
- **んんんん**　majorityの発生する頻度の小さい可能性として、ブロック生成にかかる時間のバラツキ度が関係するのじゃないか？と思った
    - 難易度が上がったり、POW_TIMEが大きくなればなるほど、同一ブロックを異なるnodeが生成する時の、生成時間の差は大きくなる
        - 例：平均10分のブロック生成時間とすると、9分・8分・11分・12分などのバラツキが予想できる
    - majorityが比較的多く発生したローカル環境は負荷などの観点からブロック生成時間が10~20sの間に設定していた
        - つまり、ばらつきの値が小さくなる
    - これらの影響がある？
- ↑への反論： しかし、ブロック生成時間に差があろうが、POW中に他nodeがPOWに成功し新規ブロックを生成し共有してきたとき、自身のaddress数のが多ければ続行、そうでなければ中断し受け入れるという処理にしているはず
- やっぱりTSを共有する通信速度の差なのか？？？？？
    - ここをどうにか検証したいところろろ
- WSで動かしてるnode10のやつらは、比べると比較的発生数が多い（ローカルほどじゃない？）
    - WSの方も、node数はどれも１０と同じだが、majorityの発生数には違いがあった
        - POW_TIMEかSAVE_BORDERのどちらか、あるいは両方が影響している？
        - まだブロック数が少なく、ブロック数自体もバラバラなのでまだ様子見しないと比較が難しいか
