【イベントレポ】Web3財団と学ぶ、次世代のWebとそれを支えるブロックチェーンインフラストラクチャー 公開講座 Day1

ブロックチェーンイントロダクション

TCP/IPプロトコルでインターネットがつながる
LAN=Private chain WAN=Public chain

Web1 Readable web
Web2 Readable and Writable web
 ・大統領選挙(一人当たり5000件の個人データを所有→Nationalismを煽る)
 ・リクナビの内定辞退率
 ・insceam 監視カメラの画像が垂れ流しにされてる
 ・panopticlickで検索
Web2 HTTPプロトコル
Web3 IPFSプロトコル/Lib p2p (パブリックなデータなので不正利用される可能性はある)
【いくつかの質問】
Q. Decentralizedとは?
 非中央集権、分権化、
 分散って?中央集権って悪いことだっけ?
 ・Centralized
 ・Decentralized (分権化) = de = 離れる
  大きなnodeができてもいいが、潰れてもつながる仕組み
 ・Distributed (分散化)
  1つ1つが繋がる

Q. Decentralizedが大事な理由は?
 いろんな人からいろんな意見を取れる
 自分で意思決定ができる
 ネットワークのFlexibility(ネットワークのハブを作る)
 単一障害点の解消
 データの価値を分散 → このデータがベーシックインカムになる
 Censorship residentゼロサムゲームからポジティブゲームへの移行
 (why decentralization matter)
  初期ユーザーが金銭的メリットを受益できる
 
Q. トラスト、トラストレスとは?
 Ben Horowitz “ブロックチェーンは欠けてるが今までになかったものがある”
 トラストする対象が変わった
 金融機関 → スマートコントラクト
【ブロックチェーンの根本思想】
Bitcoinの論文にBlockchainは出てこない
Honest / trust の単語は頻出する → This paper is about trust and transaction.
【ブロックチェーンの基本的な仕組み】
特徴
 ・改ざんが極めて困難である(分散的、データがチェーン状に繋がってる)
 ・実質0ダウンタイム
 ・2重支払い防止

ブロックチェーンの分類
 マイニングノード / データの閲覧 / ブロック生成 / マイニング報酬 
【基本的な仕組み】
・P2Pネットワーク(クライアント・サーバ型 P2P)
・ハッシュ関数 / 電子署名
 ブロックヘッダーは80byte(Version, previous block hash, )
 暗号化
  1. 入力値が違っても出力するまでの時間が同じ
  2. 不可逆性
  3. 似た入力値でも出力値が全く違うことが大事
・マイニング
 nonceを探す仕組み
  二進法の256桁を十六進法の64桁に変換
   その際の0の数をDifficulty、10分間に1つ
【ブロックチェーンの課題】
スケーラビリティー
実時間性
秘匿性
ガバナンス

IPFS

Internet:ハイパーリンク
Web 1.0 static
Web 2.0 interactive
Web 3.0 read-write-trust verifiable (プロトコル)
Web 3.0 summit
 エンジニアは大変なものを作ってしまったと感じでる
 自分のデータなのに消せない、使われてるのかわからない
Web 3の要素
 Decentralized web (IPFS)
 Blockchain (Ether)
 Linked Data (現状のデータはinteroparableではないよね)
Why the net giant worried about the web3
Why IPFS matter
Web3 is a broad movement and a group of associated technologies and people aiming to make the web and the internet more decentralized, verifiable and secure
★インターネットはインターギャラクシーなものを作りたかったけど設けなかったのでGAFAみたいな広告モデルができた
IPFS:Distrubuted web protocol
IPLD : authenticated data model & formats
libp2p : modular p2p network
Multiformats : future-proofing & upgratebility (暗号の企画をメタデータに預ける)
Inspired bitpoint データの動き方
Content addressing by hash
IPFSの参加モチベーション
 ファイルを保存した際にトークンがもらえる
Gatewayは色々なサービスがある
 berty Bluetoothを使って通信できる
 ピニャータ
 IPFS Desktopアプリ

ipfs.io/ipfs
gateway.ipfs.io/
cloudfrea/
ENS
 Ethereum name service ハッシュ値と名前をつなぐ
 IPFS ethereum storage demo

Rust

https://drive.google.com/file/d/1pHRUfY8MOU3f-8Xo3Gdlwe2txUQAlRCj/view

早くて堅牢な言語
低レベルなシステム言語に向いてる
C++の扱いにくい部分をコンパイラが矯正してくれる
Rustlintがありコードが綺麗になる
let varで定義した変数varは変更することができない。let mut var
とすると変数になる

型推論をしてくれる
fn add1(x:i32, y:i32) -> i32{
let ans = x + y;
return ans;
}

範囲リテラル(1..4みたいなもの)

スタックとヒープメモリ

所有権でメモリを管理する
 あるデータを所有できるのは1つの関数だけ

参照と借用 = Move と Copyのようなもの

スライス
let s = String::from(“hello world”)
let hello = &s[0..5];

Vec
String
HashMap (key-value)

Trait

Enum
 Nullを許さないのでoptionを使う

回復不可能なエラー panic!
エラー処理 
ライフタイム

:: モジュールの中身をみる
 use super::*;


この記事が気に入ったらサポートをしてみませんか?