Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BBc-1 ハンズオン : さまざまな証明書の登録とその検証(ウェブ版) / BBc-1 Hands on: Registry for Certificates and Verification (on Web)
Search
beyond-blockchain.org
December 02, 2020
Technology
0
150
BBc-1 ハンズオン : さまざまな証明書の登録とその検証(ウェブ版) / BBc-1 Hands on: Registry for Certificates and Verification (on Web)
BBc-1 の開発中の共通ライブラリと汎用レジストリライブラリ、レッジャーサブシステム、および certify-web サンプルアプリケーションを用いたチュートリアルのスライドです。
beyond-blockchain.org
December 02, 2020
Tweet
Share
More Decks by beyond-blockchain.org
See All by beyond-blockchain.org
BBc-2 ハンズオン さまざまな証明書の登録とその検証 / BBc-2 Hands-on Registration and Verification of Certificates
beyondblockchain
0
71
BBc-2 ハンズオン 基本インストール / BBc-2 hands-on Basic Installation
beyondblockchain
0
41
BBc-1 ハンズオン : RFID タグによる物流追跡 / BBc-1 Hands-on : Using RFID Tags for Logistics Tracking
beyondblockchain
0
60
BBc-1 ハンズオン : さまざまな証明書の登録とその検証 / BBc-1 Hands on: Registry for Certificates and Verification
beyondblockchain
1
220
BBc-1 ハンズオン : デジタル通貨の送金とスワップを通して学ぶBBc-1 トランザクション / BBc-1 Hands on: Digital Currency Transfer and Swap
beyondblockchain
2
380
BBc-1 ハンズオン : インストールとファイル内容証明 / BBc-1 Hands-on : Installation and File-content Proof
beyondblockchain
2
1.3k
BBc-1 ハンズオン : Ethereum によるレッジャーサブシステム / BBc-1 Hands-on : Ledger Subsystem with Ethereum
beyondblockchain
1
650
BBc トラスト / BBc Trust
beyondblockchain
1
140
BBc-1 設計文書 / BBc-1 (Beyond Blockchain One) Design Paper
beyondblockchain
0
120
Other Decks in Technology
See All in Technology
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
2k
MapLibreとAmazon Location Service
dayjournal
1
140
エンジニアのキャリアをちょっと楽しくする3本の軸/Three Pillars to Make an Engineer's Career More Enjoyable
kwappa
0
2.6k
自己改善からチームを動かす! 「セルフエンジニアリングマネージャー」のすゝめ
shoota
4
140
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
870
NgRx Signal Store
rainerhahnekamp
0
140
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
2
200
Tableau事例紹介 / Tableau Case Study of Eureka
kazuya_araki_tokyo
1
180
SIEMを用いて、セキュリティログ分析の可視化と分析を実現し、PDCAサイクルを回してみた
coconala_engineer
0
270
生産性向上チームの紹介
cybozuinsideout
PRO
1
850
Postman v10リリース後を振り返る / Looking back at Postman v10 after release
yokawasa
1
150
Reducing Cross-Zone Egress at Spotify with Custom gRPC Load Balancing Recap
koh_naga
0
190
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
28
6.3k
The Pragmatic Product Professional
lauravandoore
25
5.8k
Done Done
chrislema
178
15k
A Philosophy of Restraint
colly
197
16k
A better future with KSS
kneath
231
16k
10 Git Anti Patterns You Should be Aware of
lemiorhan
648
58k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Facilitating Awesome Meetings
lara
42
5.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
What the flash - Photography Introduction
edds
64
11k
Transcript
BBc-1 ( )
[email protected]
https://speakerdeck.com/beyondblockchain BBc-1 — ( ) —
2021-11-20 – p.1/30
BBc-1 ( ) BBc-1 BBc-1 — ( ) — 2021-11-20
– p.2/30
BBc-1 BBc-1 ( ) / (1) (2) (3) BBc-1 —
( ) — 2021-11-20 – p.3/30
#JUDPJO ##D$PSF ϨοδϟʔαϒγεςϜ ΞϓϦέʔγϣϯ ͦ ͷ ଞ ͞ · ͟
· ͳ Ξ ϓ Ϧ ͷ Մ ೳ ੑ ڞ௨ϥΠϒϥϦ ##D ։ൃ߲ Ҭ ௨ ՟ Ξ ϓ Ϧ ϙ Π ϯ τ Ξ ϓ Ϧ དྷ ྺ ূ ໌ Ξ ϓ Ϧ ʜ ॳظʹ͓͍ͯଘࡏূ໌Λґଘ ΞϯΧϦϯά ֤ϊʔυʹ͓͚Δهʹ ֤छσʔλϕʔεΛར༻Մೳ TRMJUF.Z42-ͦͷଞ%# BBc-1 σδλϧ௨՟ϥΠϒϥϦ ͦͷଞͷϥΠϒϥϦ CCDMJC 1ZUIPO (P +4 FUD Bitcoin Ethereum ( ) (Proof of Context) ( ) ( ) BBc-1 — ( ) — 2021-11-20 – p.4/30
Python3 bbc1 : https://speakerdeck.com/beyondblockchain/bbc-1-hands-on-installation-and-file-content-proof : https://speakerdeck.com/beyondblockchain/bbc-1-hands-on-ledger-subsystem-with-ethereum bbc1-lib-std ( ) bbc1-lib-registry
( ) BBc-1 — ( ) — 2021-11-20 – p.5/30
GitHub git clone $ git clone -b develop https://github.com/beyond-blockchain/bbc1-lib-std.git $
cd bbc1-lib-std tar pip (Python ) $ python setup.py sdist $ pip install dist/bbc1-lib-std-0.19.tar.gz dist tar pip install BBc-1 — ( ) — 2021-11-20 – p.6/30
( SQLite3 ) ( ) ( ) ( ) (
) BBc-1 — ( ) — 2021-11-20 – p.7/30
GitHub git clone ( ) $ git clone -b develop
https://github.com/beyond-blockchain/bbc1-lib-registry.git $ cd bbc1-lib-registry tar pip (Python ) $ python setup.py sdist $ pip install dist/bbc1-lib-registry-0.8.tar.gz dist tar pip install bbc_core.py BBc-1 — ( ) — 2021-11-20 – p.8/30
(registry) XML XML , etc. BBc-1 — ( ) —
2021-11-20 – p.9/30
Certify Web API & Certify Web BBc-1 — ( )
— 2021-11-20 – p.10/30
Certify Web Certify Web bbc1-lib-registry API & bbc-lib-std API JSON
( ) XML ( ) (= ) Certify Web API (API ) BBc-1 — ( ) — 2021-11-20 – p.11/30
Certify Web GitHub git clone $ git clone https://github.com/beyond-blockchain/examples.git $
cd examples/certify-web GitHub API & index.py BBc-1 $ python index.py (API ) http://localhost:5000 BBc-1 — ( ) — 2021-11-20 – p.12/30
Certify Web / (1) Certify Web JSON { "id": "AR-1838B",
"title": "I Am the Walrus", "artist": "The Beatles", "writer": "Lennon-McCartney", "year": "1967" } “proof” Merkle Proof ( ) BBc-1 — ( ) — 2021-11-20 – p.13/30
( ) จ ॻ จ ॻ จ ॻ
จ ॻ จ ॻ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ حͷ߹ ෳ͢Δ ɾจॻ Λಘͨ" ࢯɺಉ࣌ʹূ໌ཁૉͱͯ͠ɺϒϧʔͰࣔ͞ΕΔμΠδΣετͱ֤ʑ͕ࠨӈͷͲͪΒʹҐஔ͢Δ͔Λड͚औΔɻ ɾ" ࢯจॻ ͷμΠδΣετ͔Β࢝Ίͯɺ࿈͖݁͢Ұ࿈ͷμΠδΣετΛΔ͜ͱʹͳΔͷͰɺϚʔΫϧϧʔτʹࢸΔ·Ͱͷ ɹܭࢉΛ࠶ݱͰ͖ɺಘΒΕͨϚʔΫϧϧʔτ͕ &UIFSFVN εϚʔτίϯτϥΫτʹه͞Ε͍ͯΔͱҰக͢Δ͜ͱΛ֬ೝͰ͖Δɻ ɾͦͷܭࢉΛߦ͢Δͷ͕DFSUJGZXFCͷαʔϏε ݪཧͷཧղͱඞཁͳใ͕͋Ε୭Ͱ࠶ݱͰ͖Δ ূ໌͞ΕΔ ɻ ه͢Δ ಡΈग़ͤΔ ূ໌Λ ඞཁͱ͢Δऀʹ ։ࣔ͞ΕΔใ ˞##Dɺ͜ͷߏΛอଘ ɹ͍ͯ͠Δ͕ɺαϒπϦʔΛ ɹূ໌ཁૉԽͯͨ͠͠ޙɺ ɹূ໌͢Δ্Ͱ##D ෆཁ ެ։͞ΕΔใ ϚʔΫϧϧʔτ Ϛ ồ Ϋ ϧ γ ε ς Ϝ ͕ อ ͠ ֤ Ϣ ồ β ʹ ෦ త ʹ ͑ Δ ʜʜ ʜʜ ʜʜ ʜʜ ʜʜ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ &UIFSFVNϒϩοΫνΣʔϯ ʜ ʜ ##DϥΠϒϥϦ ূ໌ॻΞϓϦͰ࣮ݱ BBc-1 — ( ) — 2021-11-20 – p.14/30
Certify Web / (2) JSON “id”: (bbc1-lib-registry ) “digest”: SHA-256
SHA-256 /api/digest API “_docs”: ( ; ) “proof”: ( ) Merkle Proof “privkey”: ( ) ( ) - /api/keypair API ( ) “pubkey”: ( ) “sig”: (pubkey ) “algo”: algo, sig, pubkey /api/sign API ( ) BBc-1 — ( ) — 2021-11-20 – p.15/30
Certify Web / (3) “proof” "proof": { "spec": { "subsystem":
"ethereum", "network": "goerli", "contract": "BBcAnchor", "contract_address": "0x8c6DB26Ab0eAaDcB46438DDEEE7baD2271e2df71", "block": 9098749 }, "subtree": [ { "position": "left", "digest": "6578c8c585be7aa25e5619cedfbc02820c223d667a2561b92c9de9656fded793" }, : # ] } BBc-1 — ( ) — 2021-11-20 – p.16/30
(1) ( ) (bbc_core.py ) $ curl -X POST http://localhost:5000/api/setup
domain id (“certify_web_domain” ) 7bc5dc8c1f3c4dc16e165beac165d73e4cb60530ac0b11bc433f6fba517d67b7 “./.bbc1_app_support” index.py bbc1-lib-registry BBc-1 — ( ) — 2021-11-20 – p.17/30
(2) bbc_core.py $ eth_subsystem_tool.py -w ~/.bbc1 -d config_tree 100 30
100 30 API/ bbc_core.py $ eth_subsystem_tool.py -w ~/.bbc1 -d enable bbc_core.py index.py BBc-1 — ( ) — 2021-11-20 – p.18/30
URL http://localhost:5000/cert/ (API : /api/register [POST]) (API : /api/proof [GET])
(API : /api/verify [GET]) (API : /api/verify [GET]) “i-am-the-walrus-cert.json” “ishindenshin-cert.json” ( ) “i-am-the-walrus-cert.json” → Verify Certificate API Ethereum 1 ( ) BBc-1 — ( ) — 2021-11-20 – p.19/30
API JSON BBc-1 — ( ) — 2021-11-20 – p.20/30
(1) “beatles-singles-doc.json” → Register Document 30 Ethereum ( ) 1
→ Get Certificate “Download Certificate” proof JSON → Verify Certificate BBc-1 — ( ) — 2021-11-20 – p.21/30
(2) JSON { "id": "5099920311971", "title": "Penny Lane", "artist": "The
Beatles", "writer": "Lennon-McCartney", "year": "1967" } ( ) Generate Key Pair API Return Values “privkey” ( “pubkey” ) JSON “year” ( ) “privkey” Sign Document API Return Values “algo” “sig” “pubkey” 3 “privkey” 3 (“privkey” ) BBc-1 — ( ) — 2021-11-20 – p.22/30
(1) ( ) “ishindenshin-cert.json” { "id": "YLR-709A", "title": " ",
"artist": "YMO", "writer": [ {"name": " "}, {"name": " "}, {"name": " "}, {"name": " "} ], "year": "1983", : } BBc-1 — ( ) — 2021-11-20 – p.23/30
(2) ( ) Get Digest { "writer": [ {"name": "
"}, {"name": " "}, {"name": " "}, {"name": " "} ] } { "name": " " } “digest” “writer” “name” BBc-1 — ( ) — 2021-11-20 – p.24/30
(3) ( ) { "id": "YLR-709A", "title": " ", "artist":
"YMO", "digest": "bca7d161ae5fce25a55e888e4704f506282b402846132fa9b38d2fb6b72dc405", "year": "1983", : } “writer” BBc-1 — ( ) — 2021-11-20 – p.25/30
(4) ( ) { "id": "YLR-709A", "title": " ", "artist":
"YMO", "writer": [ {"digest": "5413e837a58878d2b077d14358f7769c8ae791f9deb0475d58d53ff8de1b8973"}, {"name": " "}, : } . . . ( ) ( ) ( ) BBc-1 — ( ) — 2021-11-20 – p.26/30
ID { "id": "4445 4558 1689", "name": "Wednesday Addams", "born":
"1980-02-12", "address": "0001 Cemetery Lane", "public-key": "04d49e0786a37efce8552d6fd1566d7cfd86f110d4d95f1...4edb", "algo": "ecdsa-p256v1", "sig": "609b390f9486110d1ba39fc59cc46f1c2aa31ae8e40d3454c05a42...48e2", "pubkey": "0479c6676de61b41b7d0291b338f3279671d649f0a71bbb495...4bd1", } (Merkle) Ethereum ID BBc-1 — ( ) — 2021-11-20 – p.27/30
*%Χʔυจॻ JEJE OBNF8FEOFTEBZ"EEBNTOBNF 8FEOFTEBZ"EEBNT ͷͷ ࣏ࣗମͷͷ CPSOCPSO BEESFTT$FNFUFSZ-BOFBEESFTT QVCMJDLFZEFDFECQVCMJDLFZ *%
Χʔυจॻ ͷμΠδΣετ ॺ໊͖ *% Χʔυจॻ ͷμΠδΣετ ࿈͔݁ͯ͠Β ܭࢉ͢Δ ॺ໊Λݕূ͠ɺ ޭͨ͠Β ࿈͔݁ͯ͠Β ܭࢉ͢Δ EJHFTU EJHFTU EJHFTU BMHPSJUIN TJHOBUVSF QVCMJDLFZ EJHFTU EJHFTU EJHFTU EJHFTU +40/ σʔλߏɺ෦ॲཧͰ 9.- ʹม͞Ε·͢ ͱͱ 9.- ༻ʹ࡞ͬͯ͋ΔϥΠϒϥϦΛ༻͍ͯ͠·͢ ɻ ෦తʹӅ͞Ε͍ͯͯূ໌Ͱ͖ΔΑ͏ʹɺηΫγϣϯ͝ͱʹμΠδΣετΛܭࢉ͍ͯ͠·͢ɻ ྫ͑ɺ*% ΧʔυͰྸॅॴɺ͋Δ͍ެ։伴Λ֬ೝ͢Δ͚ͩͰ͋Εɺ*% ൪߸ΛݟΔ͜ͱ͕๏Ͱېࢭ͞Ε͍ͯΔͷ߹ɺ *% ൪߸ΛӅͯ͠ ͦͷ෦ΛରԠ͢ΔμΠδΣετͰஔ͖͑ͯ ఏࣔͯ͠࠷ऴతʹॺ໊͖ *% Χʔυจॻͷಉ͡μΠδΣετΛܭࢉͰ͖ΔͷͰɺଘࡏূ໌͕Ͱ͖·͢ɻ ʮμΠδΣετʯͱɺ҉߸ֶతϋογϡؔʢࠓճ 4)"ʣʹΑͬͯܭࢉ͞Εͨͷ͜ͱͰ͢ɻ Θ͔ͣ ϏοτͰݩͷσʔλ͕ҟͳΔͱɺฦͬͯ͘Δ͕શ͘ҟͳΓɺμΠδΣετ͔ΒݩͷσʔλΛ ਪଌ͢Δ͜ͱͰ͖·ͤΜɻ BBc-1 — ( ) — 2021-11-20 – p.28/30
JSON ( ) https://doi.org/10.1016/j.icte.2021.08.012 BBc-1 — ( ) — 2021-11-20
– p.29/30
( ) ID BBc-1 certify-web bbc1-lib-registry bbc1-lib-std BBc-1 — (
) — 2021-11-20 – p.30/30