SlideShare a Scribd company logo
1 of 48
Download to read offline
Tezos: 008 Edo protocol
DaiLambda, Inc.
Jun FURUSE/古瀬 淳
Tezos Tokyo Meetup, 2021-02-26
⾃⼰紹介
⾃⼰紹介
古瀬 淳 @camlspotter / @camloeba
ダイラムダ株式会社CEO
25年くらい OCaml を書いている
会社紹介: ダイラムダ株式会社
会社紹介: ダイラムダ株式会社
Tezosブロックチェーン研究開発
コア開発: ノードやプロトコルの実装
アプリケーションへのコンサル業務
相場はやりません。
東⼭三条に新オフィスオープン予定!
Agenda
Agenda
Tezosとは
Tezosの歴史
Edoプロトコル技術紹介
Ticket
BLS12-381
Sapling
匿名送⾦
Tezosとは
Tezosとは
https://tezos.com/
Tezos
Tezos
第三世代パブリックブロックチェーン
Proof of Stake
オンチェーンガバナンス
形式検証を重視
関数型⾔語 OCaml による実装
スマートコントラクト
Proof of Stake
Proof of Stake
トークン保有量に⽐例したブロック⽣成権
Proof of Work のようなマイニング資源を必要としない
Tezos の LPoS: 「ベーキング」
Rasberry Pi 4 でさえ可能
⽣成権を委託し報酬を得ることもできる
⼿数料が⾼騰しない
オンチェーンガバナンス
オンチェーンガバナンス
オンチェーン投票により信任を得たハードフォーク
新技術をスムーズに投⼊する
プロトコル変更をコードとして提案
⾃動的にP2P配布
プロトコル上で採択するか投票
採択されれば⾃動的に移⾏
形式検証
形式検証
ソフトウェアテストは重要だが完璧ではない
形式検証を使って数理的に安全性を証明していく
最新のソフトウェア検証技術
型システム、モデル検査、定理証明
多⽅⾯に検証を適⽤
プロトコル、ノード、、コンパイラ、
スマートコントラクト…
関数型プログラミング⾔語
形式検証と相性が良い
静的型システム、 ,
⾦融での使⽤例
⾼頻度取引、デリバティブモデリングでの使⽤実績
Tezosの実装に使⽤
75万⾏
OCaml
OCaml
Coq F*
スマートコントラクト
スマートコントラクト
ブロックチェーン上でのプログラムの⾃動実⾏
: TezosのスマートコントラクトVM
「⾼レベル」スタックマシン
可変⻑整数
No overflow
静的型
“Never goes wrong” ™
データ型
pair, sum, option, list, map
Michelson
Tezos スマートコントラクト
Tezos スマートコントラクト
マルチシグコントラクト in Michelson
型があるので⼿書きできる
parameter (or (unit %default)
(pair %main
(pair :payload
(nat %counter) # counter, used to prevent replay attacks
(or :action # payload to sign, represents the requested
action
(lambda %operation unit (list operation))
(pair %change_keys # change the keys
controlling the multisig
(nat %threshold) # new threshold
(list %keys key)))) # new list of keys
(list %sigs (option signature)))); # signatures
storage (pair (nat %stored_counter) (pair (nat %threshold) (list %keys key))) ;
code
{
UNPAIR ;
IF_LEFT
{ # D f lt t i t d thi
from better-call.dev
コントラクト記述⾼級⾔語
コントラクト記述⾼級⾔語
Michelsonへとコンパイルする⾼級⾔語(たち)
:
Python eDSL
Haskell eDSL
Multi syntax
(OCamlish/Reasonish/Pascalish)
…
SmartPy
Lorentz
LIGO
SCaml
SCaml
弊社が開発したコンパイラ
OCaml 完全下位互換
OCaml がわかる⼈なら書ける
dune, Merlin, ocaml-lsp が使える
Tezosの新機能をすぐ⾜せる
SCaml. Not Scam.
https://scamlang.dev/
SCaml
SCaml
マルチシグコントラクト in SCaml
普通に副作⽤のないOCamlのコード。
open SCaml
type storage =
{ stored_counter : nat
; threshold : nat
; keys : key list
}
type parameter =
{ payload : payload
; sigs : signature option list
}
and payload =
{ counter : nat
; action : action
}
and action =
| T f f t f
Tezosの歴史
Tezosの歴史
Tezosの歴史
Tezosの歴史
2014-08
ホワイトペーパー発表
2017-03
Tezos財団創設
2017-07
ICOで250億円調達
2018-09
Mainnet開始
Tezos プロトコルの歴史
Tezos プロトコルの歴史
2018-09: 003: 開始バージョン
2019-05: 004 Athens: PoS参加条件引下げ、ガスリミット引上げ
2019-10: 005 Babylon: 合意アルゴリズム Emmy+、投票⽅式の改良
2020-03: 006 Carthge: スマコンVM強化
2020-11: 007 Delphi: ガスコスト⼤幅削減
2021-02: 008 Edo: Ticket, BLS12_381, Sapling, 匿名送⾦
2021-0?: 009 F???: ???
Tezos 008 Edo
Tezos 008 Edo
2021-02-13 (⽇本時間14⽇早朝)に移⾏
Ticket
BLS12-381 (ゼロ知識証明)
Sapling と匿名送⾦
Ticket
Ticket
Ticket
Ticket
偽造できない「保存量」の発⾏が可能
スマートコントラクトが⾃由に発⾏できる
Ticket には発⾏者情報が付属、他⼈は偽造できない
量を保存する分割(split)、統合(join)しかできない
通貨や認証システムを簡単に間違いなく作れる
よくある Fungible Token 実装
よくある Fungible Token 実装
各ユーザーの所持量を管理テーブル
発⾏総量を変更する特殊操作: Mint/Burn
所有者移転操作: 発⾏総量の保存チェック
Ticket による Fungible Token
Ticket による Fungible Token
所持量管理テーブルは不要
Mint: ticket 値を⽣成するだけ
Burn: もらった ticket を破棄するだけ
発⾏総量を保存しない移転操作は⾃動的に失敗する
Ticket による Fungible Token
Ticket による Fungible Token
Mint: ticket を発⾏しユーザーコントラクトに送付
ユーザーコントラクトはもらった ticket を保存
ユーザーコントラクトは使⽤したい分をSPLITし発⾏者に送る
  ⼿元には残⾼のticketが残る。偽造できない
Burn: 発⾏者は受け取った ticket を破棄して
  額⾯分のサービスをユーザーに対して⾏う
ユーザーコントラクトは ticket の⼀部を他⼈に譲渡できる
Ticket 応⽤
Ticket 応⽤
量保存性が必要な数値ならいろんなものに使える
FT
UTXO 的なものを実装できる
NFT
NFT の ID を乗せることができる。別ID の ticket は join できない。
投票
投票⽤紙の ticket を有権者に配って、返事付きで返してもらう
Ticket型と関連命令の追加
Ticket型と関連命令の追加
線形性がある型: α ticket
TICKET : α -> nat -> α ticket
(** Ticket の複製は不可能 (型エラーになる) *)
READ_TICKET : α ticket -> (address * α * nat) * α ticket
(** 発⾏者のアドレスを返す *)
SPLIT_TICKET : α ticket -> (nat * nat)
-> (α ticket * α ticket) option
(** 分割が正しくない場合は失敗する (None) *)
JOIN_TICKET : α ticket -> α ticket -> α ticket option
(** 発⾏者が異なると失敗する (None) *)
Ticket型の線型性
Ticket型の線型性
線形型: ⼀度しか使⽤できない値を表す型
Michelsonはスタック⾔語なので線形型そのものでは無い
スタック上で DUP できない
TICKET 命令でしか⽣成できない
定数は無い (定数をPUSHできると偽造可能)
ブロックチェーン外にやり取りできない
⾼級⾔語では線形型が現れてくる:
type linear α ticket
val READ_TICKET : α ticket -> (address * α * nat) * α ticket
(** 発⾏者のアドレスを返す
線型性のため、同じticketを返す *)
BLS12-381 とゼロ知識証明
BLS12-381 とゼロ知識証明
楕円曲線
楕円曲線
楕円曲線上の格⼦点を「数」(素体 )として使
う
整数 と の⽣成元 から点 は簡単に計
算できるが、 から を計算するのは困難。
双線形写像
⼆つの楕円曲線上の点を取る「都合のいい」関数
係数を左右に振り替えることができる。ペアリング検査
G
a G P aP
aP a
e(aP , bQ)
e(aP , bQ) = e(P , Q)
ab
ペアリング検査による公開鍵署名
ペアリング検査による公開鍵署名
 秘密鍵:
 公開鍵:
 メッセージ:
 署名:    ← を知っていないと作れない
と を⽐較して同じなら:
を知っている⼈の署名だとわかる
s
p = sP
m
σ = smQ s
e(P , σ) e(p, mQ)
e(P , σ) = e(P , smQ) = e(sP , mQ) = e(p, mQ)
s
BLS12-381
BLS12-381
匿名コイン Zcash の に使われている楕円曲線と
双線形写像の実装
⼆つの素体 と を使う ( )
009 Edo から Tezos/Michelson で使⽤可能に
Sapling
G1 G2 #G1 ≪ #G2
BLS12-381 in Tezos
BLS12-381 in Tezos
型
bls12_381_g1: の型
bls12_381_g2: の型
bls12_381_fr: 係数の型
計算
INT : bls12_381_fr から int への型変換
ADD MUL NEG : と係数の計算に対応
ペアリング検査命令
PAIRING_CHECK
 : (bls12_381_g1 * bls_12_381_g2) list -> bool
G1
G2
G1, G2
e(p1, q1) ∗ e(p2, q2)∗. . ∗e(pn, qn)
?
= 1
e(p1, q1) = e(p2, q2)   ⇔   e(p1, qq ) ∗ e(−p2, q2) = 1
BLS12-381 による署名検査
BLS12-381 による署名検査
チェーンは検査に特化している。データ作成の便利な命令はない。
本来はオフチェーンでやるべきこと。
open SCaml
open BLS12_381
let [@entry] main _param _storage =
let g1_one (* G1 の⽣成元 P *) = G1Bytes
"0x17f1d3a73197d7942695638c4fa9ac0fc3688c4f9774b905a14e3a3f171bac586c55e8
in
let g2_one (* G2 の⽣成元 Q *) = G2Bytes
"0x13e02b6052719f607dacd3a088274f65596bd0d09920b61ab5da61bbdc7f5049334cf1
in
let s (* 秘密鍵 *) = FrBytes "0x012345" in
let p (* 公開鍵 = sP *) = let open G1 in g1_one * s in
let m (* メッセージ *) = FrBytes "0x789012" in
let mQ = let open G2 in g2_one * m in
let sg (* 署名 = smQ *) = let open G2 in mQ * s in
let a1 (* (P, sg) *) = (g1_one, sg) in
let a2 (* (-p, mQ) *) = (G1.(~-) p, mQ) in
(* ペアリング検査 (P ) ( Q) 1 *)
BLS12-381 とゼロ知識証明
BLS12-381 とゼロ知識証明
ゼロ知識証明
ある知識を知っていることを、
その知識そのものを公開せずに証明する。
例: 公開鍵署名
「⾃分はメッセージ に対してこの署名 を
 作成できる秘密鍵 を知っている」
例: 匿名通貨
「⾃分は残⾼が 以上あるUTXOの秘密鍵 を持っている」
のでその⼀部 を送⾦してほしい
m σ
s
n s
n
BLS12-381 とゼロ知識証明
BLS12-381 とゼロ知識証明
Tezos/Michelsonは証明の検証のみ提供
検証器とそのパラメータ、そこに提供する証明データの
作成は提供されていない
を利⽤可能
ゼロ知識証明ツールキット
証明したい性質を Python ⾵プログラムとして
⼊⼒、
検証器コード(Solidity)とパラメータを得る
性質を満たすデータを⼊⼒、証明データを得る
簡単な変更で Tezos/Michelson に使⽤
可能
ZoKrates
ZoKrates for Tezos
ZoKrates for Tezos
「ある数の平⽅根を知っている」
ZoKrates -c bls12_381 -s g16 使ってコンパイル
の証明を作る
出⼒データを Tezos/Michelson 向けに変換
# ZoKrates での仕様
def main(private field a, field b) -> bool:
return a * a == b
$ zokrates compile -c bls12_381 -i root.zok
$ zokrates setup -s g16
$ zokrates export-verifier -s g16
337
2
= 113569
$ zokrates compute-witness -a 337 113569
$ zokrates generate-proof -s g16
ZoKrates for Tezos
ZoKrates for Tezos
「ある数の平⽅根を知っている」証明検証器
詳しくは を。
(* Tezos/Michelson *)
open SCaml
let [@entry] main
( ( ( input_x : bls12_381_fr), ( input_y : bls12_381_fr) ),
( ( proof_a : bls12_381_g1 ), ( proof_b : bls12_381_g2 ), ( proof_c :
bls12_381_g1 ) ) )
()
=
let vk_a = G1Point (
"0x169d7633e3da4d413bf1918c412fc54c548ddf641a423f47b61ca883c0ba1b85f5ee13
"0x065dbcfb2123f8258ae2b3cf92035485f621e55d433b1f251ad37c02ae2b3ec6a1658a
) in
let vk_b = G2Point ((
"0x1116f52efd0f128a0bd6be9042bec761332408e765609caae2b6f7805ab3287143a9ba
"0x16c58ffdfec9c8b7a4d3826e32a40f99e97bd237067971e474438078e8bca6ccbbee08
) (
記事
Sapling
Sapling
Sapling
Sapling
Zcash の を導⼊
スマートコントラクトでゼロ知識証明を使った
匿名トランザクションが可能に。
Tezos本体が匿名コインになるわけでは無い!!
Sapling protocol
Shielded tez
Shielded tez
: 1 shielded tez = 1 tez の匿名コイン
コントラクト内のトランザクションは匿名化
このコントラクトをデプロイすればオレオレ匿名 tez を作れる
sapling_contract.tz
tezos-client sapling
tezos-client sapling コマンド
コマンド
Sapling トランザクションを作成してコントラクトに適⽤
GUIウォレットへの対応が待たれる
# 匿名アカウント作成
$ tezos-client sapling gen key <zname>
# 使⽤するスマートコントラクトを指定
$ tezos-client sapling use key <zname> for contract <contract>
# 匿名アドレスを作成
$ tezos-client sapling gen address <zname>
# 通常アカウントから匿名アドレスへの送⾦ 1 tez = 1 shielded tez
$ tezos-client sapling shield <amount> from <name> to <zaddress>
# 匿名アドレスの残⾼照会
$ tezos-client sapling get balance for <zname> in contract <contract>
# 匿名送⾦の作成
$ tezos-client sapling forge transaction <amount> from <zname> to <zaddress> 
using <contract>
# 送⾦命令の送信
Sapling in Michelson
Sapling in Michelson
Michelson レベルでは Sapling 関連データは抽象化され、
検証命令しか存在しない。
Transaction のためのゼロ知識証明はオフチェーンで作成。
ex. tezos-client sapling コマンド
type n sapling_state (* 状態。 n は整数定数 *)
type n sapling_transaction (* 状態変更 *)
val SAPLING_EMPTY_STATE n : n sapling_state
(** 空の状態 *)
val SAPLING_VERIFY_UPDATE n :
n sapling_transaction -> n sapling_state -> (int * n sapling_state) option
(** State の元で transaction が valid であれば、
transaction を適⽤して新しい state を返す *)
Sapling の応⽤
Sapling の応⽤
Sapling 命令は Shielded tez のためだけではなく、
匿名トランザクションを使った FT dApps の実現に利⽤できる
Sapling in SCaml
Sapling in SCaml
Michelson の型では 'sz には整数が来る。
でも、定数だし、依存型というわけでもない。
多層バリアントを使って数値から型への変換を⾏う。
サイズ 8 の空 state を作るには:
Saplint.empty_state `n8 : [> `n8] state
module Sapling : sig
type 'sz state = 'sz sapling_state
type 'sz transaction = 'sz sapling_transaction
val empty_state : 'sz -> 'sz state
val verify_update : 'sz transaction -> 'sz state -> (int * 'sz state) option
end
Tezos 008 Edo
Tezos 008 Edo
主な新機能:
Ticket
BLS12-381
Sapling
他にも Keccak, SHA3 命令の追加、 PVSS などある
Tezos 009 F???
Tezos 009 F???
ベーキングアカウント
コントラクト呼び出し規約変更
ガス量最適化
などなど。現在プロトコル改定提案に向けてテスト中。
求⼈情報(予定)
求⼈情報(予定)
プロジェクトマネージメントできる⽅
PM経験 + 英語 + OCaml + 関⻄圏
詳細は近⽇中に で
https://dailambda.jp
Tezos: 008 Edo protocol
DaiLambda, Inc.
Jun FURUSE/古瀬 淳
Tezos Tokyo Meetup, 2021-02-26

More Related Content

Similar to Tezos 008 Edo protocol

katagaitaictf7_hw_ysk
katagaitaictf7_hw_yskkatagaitaictf7_hw_ysk
katagaitaictf7_hw_yskysk256
 
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...blockchainexe
 
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみたM5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみたMinoruInoue2
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSFFRI, Inc.
 
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングHaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングKiwamu Okabe
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
組み込みシステムのセキュリティ
組み込みシステムのセキュリティ組み込みシステムのセキュリティ
組み込みシステムのセキュリティFFRI, Inc.
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesTakeshi Komiya
 
Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Tomoaki Shimizu
 
#RouterBOARD 勉強会 OSPF検証班 appendix1.1
#RouterBOARD 勉強会 OSPF検証班 appendix1.1#RouterBOARD 勉強会 OSPF検証班 appendix1.1
#RouterBOARD 勉強会 OSPF検証班 appendix1.1de foggge
 
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介Yuto Takei
 
2019 jetson azure_hands-on
2019 jetson azure_hands-on2019 jetson azure_hands-on
2019 jetson azure_hands-onAya Owosekun
 
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティスSORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティスSORACOM,INC
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
Bluetooth通信の 仕組みと活用法紹介
Bluetooth通信の仕組みと活用法紹介Bluetooth通信の仕組みと活用法紹介
Bluetooth通信の 仕組みと活用法紹介Takehiko YOSHIDA
 
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyTakeshi Komiya
 
(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話Masanori Masui
 
Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Tomoaki Shimizu
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係SORACOM,INC
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528Atomu Hidaka
 

Similar to Tezos 008 Edo protocol (20)

katagaitaictf7_hw_ysk
katagaitaictf7_hw_yskkatagaitaictf7_hw_ysk
katagaitaictf7_hw_ysk
 
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
 
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみたM5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
M5ATOM S3とShiftr.ioで 非接触温度センサの値をネットに流してみた
 
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPSハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
ハードウェアによる仮想化支援機能を利用したハイパバイザーIPS
 
HaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミングHaskellではじめるCortex-M3組込みプログラミング
HaskellではじめるCortex-M3組込みプログラミング
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
組み込みシステムのセキュリティ
組み込みシステムのセキュリティ組み込みシステムのセキュリティ
組み込みシステムのセキュリティ
 
Inside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfesInside of excel 方眼紙撲滅委員会 #pyfes
Inside of excel 方眼紙撲滅委員会 #pyfes
 
Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島Cocos2d-x実践講座 in 鹿児島
Cocos2d-x実践講座 in 鹿児島
 
#RouterBOARD 勉強会 OSPF検証班 appendix1.1
#RouterBOARD 勉強会 OSPF検証班 appendix1.1#RouterBOARD 勉強会 OSPF検証班 appendix1.1
#RouterBOARD 勉強会 OSPF検証班 appendix1.1
 
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
[Basic 15] ソフトウェアと知的財産権 / ブロックチェーンと計算機科学 / MinChain の紹介
 
2019 jetson azure_hands-on
2019 jetson azure_hands-on2019 jetson azure_hands-on
2019 jetson azure_hands-on
 
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティスSORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
Bluetooth通信の 仕組みと活用法紹介
Bluetooth通信の仕組みと活用法紹介Bluetooth通信の仕組みと活用法紹介
Bluetooth通信の 仕組みと活用法紹介
 
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudyExcel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
Excel 方眼紙撲滅委員会 活動報告 2012.11 #odstudy
 
(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話(ゲームじゃない方の)switchで遊びたい話
(ゲームじゃない方の)switchで遊びたい話
 
Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!Cocos2d xで簡単なゲームを作ってみよう!
Cocos2d xで簡単なゲームを作ってみよう!
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
 
OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528OSC Nagoya NETMF 160528
OSC Nagoya NETMF 160528
 

More from Jun Furuse

Plebeia, a new storage for Tezos blockchain state
Plebeia, a new storage for Tezos blockchain statePlebeia, a new storage for Tezos blockchain state
Plebeia, a new storage for Tezos blockchain stateJun Furuse
 
SCaml update 2020-06
SCaml update 2020-06SCaml update 2020-06
SCaml update 2020-06Jun Furuse
 
Tezso and on-chain governanace: towards "Kyoto amendment"
Tezso  and on-chain governanace: towards "Kyoto amendment"Tezso  and on-chain governanace: towards "Kyoto amendment"
Tezso and on-chain governanace: towards "Kyoto amendment"Jun Furuse
 
Comparison of Proof of Stakes
Comparison of Proof of StakesComparison of Proof of Stakes
Comparison of Proof of StakesJun Furuse
 
SCaml compiler
SCaml compilerSCaml compiler
SCaml compilerJun Furuse
 
SCaml compiler
SCaml compilerSCaml compiler
SCaml compilerJun Furuse
 
Blockchain and Smart Contract Simulation
Blockchain and Smart Contract SimulationBlockchain and Smart Contract Simulation
Blockchain and Smart Contract SimulationJun Furuse
 
Blockchain and formal verification (Japanese)
Blockchain and formal verification (Japanese)Blockchain and formal verification (Japanese)
Blockchain and formal verification (Japanese)Jun Furuse
 
Blockchain and Formal verification (English)
Blockchain and Formal verification (English)Blockchain and Formal verification (English)
Blockchain and Formal verification (English)Jun Furuse
 
Tezos Hands on 2019-06-15 Exercise (Japanese)
Tezos Hands on 2019-06-15 Exercise (Japanese)Tezos Hands on 2019-06-15 Exercise (Japanese)
Tezos Hands on 2019-06-15 Exercise (Japanese)Jun Furuse
 
Tezos Hands on 2019-06-15 (Japanese)
Tezos Hands on 2019-06-15 (Japanese)Tezos Hands on 2019-06-15 (Japanese)
Tezos Hands on 2019-06-15 (Japanese)Jun Furuse
 
Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)Jun Furuse
 
Tezos hands-on : Tezos exercise
Tezos hands-on : Tezos exerciseTezos hands-on : Tezos exercise
Tezos hands-on : Tezos exerciseJun Furuse
 
Tezos hands-on : Tezos overview
Tezos hands-on : Tezos overviewTezos hands-on : Tezos overview
Tezos hands-on : Tezos overviewJun Furuse
 
Tezos: Self-amending crypt ledger (Japanese)
Tezos: Self-amending crypt ledger (Japanese)Tezos: Self-amending crypt ledger (Japanese)
Tezos: Self-amending crypt ledger (Japanese)Jun Furuse
 
ブロックチェーンと形式検証
ブロックチェーンと形式検証ブロックチェーンと形式検証
ブロックチェーンと形式検証Jun Furuse
 
Recent tezos core developments
Recent tezos core developmentsRecent tezos core developments
Recent tezos core developmentsJun Furuse
 
Challenges in blockchain certification (Nov 19, 2018 for TPP2018)
Challenges in blockchain certification (Nov 19, 2018 for TPP2018)Challenges in blockchain certification (Nov 19, 2018 for TPP2018)
Challenges in blockchain certification (Nov 19, 2018 for TPP2018)Jun Furuse
 
OCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API SearchOCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API SearchJun Furuse
 

More from Jun Furuse (20)

Plebeia, a new storage for Tezos blockchain state
Plebeia, a new storage for Tezos blockchain statePlebeia, a new storage for Tezos blockchain state
Plebeia, a new storage for Tezos blockchain state
 
SCaml update 2020-06
SCaml update 2020-06SCaml update 2020-06
SCaml update 2020-06
 
Tezso and on-chain governanace: towards "Kyoto amendment"
Tezso  and on-chain governanace: towards "Kyoto amendment"Tezso  and on-chain governanace: towards "Kyoto amendment"
Tezso and on-chain governanace: towards "Kyoto amendment"
 
Comparison of Proof of Stakes
Comparison of Proof of StakesComparison of Proof of Stakes
Comparison of Proof of Stakes
 
SCaml compiler
SCaml compilerSCaml compiler
SCaml compiler
 
SCaml compiler
SCaml compilerSCaml compiler
SCaml compiler
 
Blockchain and Smart Contract Simulation
Blockchain and Smart Contract SimulationBlockchain and Smart Contract Simulation
Blockchain and Smart Contract Simulation
 
Blockchain and formal verification (Japanese)
Blockchain and formal verification (Japanese)Blockchain and formal verification (Japanese)
Blockchain and formal verification (Japanese)
 
Blockchain and Formal verification (English)
Blockchain and Formal verification (English)Blockchain and Formal verification (English)
Blockchain and Formal verification (English)
 
Tezos Hands on 2019-06-15 Exercise (Japanese)
Tezos Hands on 2019-06-15 Exercise (Japanese)Tezos Hands on 2019-06-15 Exercise (Japanese)
Tezos Hands on 2019-06-15 Exercise (Japanese)
 
Tezos Hands on 2019-06-15 (Japanese)
Tezos Hands on 2019-06-15 (Japanese)Tezos Hands on 2019-06-15 (Japanese)
Tezos Hands on 2019-06-15 (Japanese)
 
Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)Tezos and its formal verification (Japanese)
Tezos and its formal verification (Japanese)
 
Tezos hands-on : Tezos exercise
Tezos hands-on : Tezos exerciseTezos hands-on : Tezos exercise
Tezos hands-on : Tezos exercise
 
Tezos hands-on : Tezos overview
Tezos hands-on : Tezos overviewTezos hands-on : Tezos overview
Tezos hands-on : Tezos overview
 
Tezos: Self-amending crypt ledger (Japanese)
Tezos: Self-amending crypt ledger (Japanese)Tezos: Self-amending crypt ledger (Japanese)
Tezos: Self-amending crypt ledger (Japanese)
 
ブロックチェーンと形式検証
ブロックチェーンと形式検証ブロックチェーンと形式検証
ブロックチェーンと形式検証
 
Recent tezos core developments
Recent tezos core developmentsRecent tezos core developments
Recent tezos core developments
 
Challenges in blockchain certification (Nov 19, 2018 for TPP2018)
Challenges in blockchain certification (Nov 19, 2018 for TPP2018)Challenges in blockchain certification (Nov 19, 2018 for TPP2018)
Challenges in blockchain certification (Nov 19, 2018 for TPP2018)
 
OCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API SearchOCamlOScope: a New OCaml API Search
OCamlOScope: a New OCaml API Search
 
Um2010
Um2010Um2010
Um2010
 

Tezos 008 Edo protocol