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
記録の真正性を保つ : ブロックチェーンやその他の証明技術 / Maintain authen...
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Kenji Saito
PRO
December 17, 2021
Technology
300
0
Share
記録の真正性を保つ : ブロックチェーンやその他の証明技術 / Maintain authenticity of records: blockchain and other proof technologies
2021年12月19日(日)、日本統合医療学会学術大会での講演で用いたスライドです。
Kenji Saito
PRO
December 17, 2021
More Decks by Kenji Saito
See All by Kenji Saito
ウェブとイノベーション / The Web and Innovation
ks91
PRO
0
64
試作とデモンストレーション / Prototyping and Demonstrations
ks91
PRO
0
170
アカデミーキャンプ2026GW「前倒し!ウチらとヤツらの自由研究」DAY 4 / Academy Camp 2026 GW "Bringing It Forward! Our and Their Free Research Projects" DAY 4
ks91
PRO
0
32
アカデミーキャンプ2026GW「前倒し!ウチらとヤツらの自由研究」DAY 3 / Academy Camp 2026 GW "Bringing It Forward! Our and Their Free Research Projects" DAY 3
ks91
PRO
0
51
アカデミーキャンプ2026GW「前倒し!ウチらとヤツらの自由研究」DAY 2 / Academy Camp 2026 GW "Bringing It Forward! Our and Their Free Research Projects" DAY 2
ks91
PRO
0
59
アカデミーキャンプ2026GW「前倒し!ウチらとヤツらの自由研究」DAY 1 / Academy Camp 2026 GW "Bringing It Forward! Our and Their Free Research Projects" DAY 1
ks91
PRO
0
90
コードや知識を組み込む / Incorporate Code and Knowledge
ks91
PRO
0
210
2026年度 生成AI を活用した論文執筆ガイド/ワークショップ / 2026 Academic Year Guide to Writing Papers Using Generative AI - Workshop
ks91
PRO
0
110
インターネットのガバナンスと応用 / Internet Governance and Applications
ks91
PRO
0
88
Other Decks in Technology
See All in Technology
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
240
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
220
AI活用時代の事業判断高度化を導くエンジニアリング基盤 / 20260424 Atsushi Funahashi
shift_evolve
PRO
2
120
MySQL 9.7がやってきた ~これまでのあらすじと基本情報~ @ 日本MySQLユーザ会会2026年04月 / mysql97-yattekita
sakaik
0
170
音声言語モデル手法に関する発表の紹介
kzinmr
0
160
AI バイブコーティングでキーボード不要?!
samakada
0
680
Shipping AI Agents — Lessons from Production
vvatanabe
0
310
エージェントスキルを作って自分のインプットに役立てよう
tsubakimoto_s
0
520
バイブコーディングで3倍早く⚪⚪を作ってみた
samakada
0
210
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
300
小説執筆のハーネスエンジニアリング
yoshitetsu
0
910
エージェント時代の UIとAPI、CLI戦略
coincheck_recruit
0
120
Featured
See All Featured
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
10k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Bash Introduction
62gerente
615
210k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.7k
Design in an AI World
tapps
1
210
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
110
How to Talk to Developers About Accessibility
jct
2
190
Transcript
( ) : — 2020-12-19 – p.1/17
(一社)日本統合医療学会 CO I (利益相反)開示 発表者名:斉藤 賢爾 演題発表内容に関連し、発表者らに開示すべき CO I 関係にある団体等はありません。
様式1-A (過去3年間に、申告すべきCOI状態がない時)
( ) SFC ( ) CSO (Chief Science Officer) 1993
( ) 2006 ( ) SFC 21 P2P (Peer-to-Peer) 2011 2018 2019 VR 2021.7 VR 2021.8 “ALL THESE WORLDS ARE YOURS” VR 2021.9 & VR 2021.12 ( (VR) ) ( ) → ( ) : — 2020-12-19 – p.2/17
: — 2020-12-19 – p.3/17
(1) ( ) 3 : — 2020-12-19 – p.4/17
(2) ↓ (1) ( ) (2) ( ) (3) (
) bitcoin : — 2020-12-19 – p.5/17
Bitcoin YouTuber ( ) ( ) ( ) ( )
Bitcoin ( ) YouTube, Zoom, etc. ??? YouTube Zoom ( ) : — 2020-12-19 – p.6/17
( ) : — 2020-12-19 – p.7/17
( ) ( ) ( ) ( 16 ) SHA
(Secure Hash Algorithm) ( ) 1bit : — 2020-12-19 – p.8/17
( ) < , > ( ) ← : <
, > : : < , , > : OK NG : — 2020-12-19 – p.9/17
( ) . . . : — 2020-12-19 – p.10/17
ID BBc-1/Ethereum API/ https://github.com/beyond-blockchain/examples/tree/master/certify-web 1. ID ( ) 2. ID
ID . . . ID ( ) : — 2020-12-19 – p.11/17
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 : — 2020-12-19 – p.12/17
*%Χʔυจॻ JEJE OBNF8FEOFTEBZ"EEBNTOBNF 8FEOFTEBZ"EEBNT ͷͷ ࣏ࣗମͷͷ CPSOCPSO BEESFTT$FNFUFSZ-BOFBEESFTT QVCMJDLFZEFDFECQVCMJDLFZ *%
Χʔυจॻ ͷμΠδΣετ ॺ໊͖ *% Χʔυจॻ ͷμΠδΣετ ࿈͔݁ͯ͠Β ܭࢉ͢Δ ॺ໊Λݕূ͠ɺ ޭͨ͠Β ࿈͔݁ͯ͠Β ܭࢉ͢Δ EJHFTU EJHFTU EJHFTU BMHPSJUIN TJHOBUVSF QVCMJDLFZ EJHFTU EJHFTU EJHFTU EJHFTU +40/ σʔλߏɺ෦ॲཧͰ 9.- ʹม͞Ε·͢ ͱͱ 9.- ༻ʹ࡞ͬͯ͋ΔϥΠϒϥϦΛ༻͍ͯ͠·͢ ɻ ෦తʹӅ͞Ε͍ͯͯূ໌Ͱ͖ΔΑ͏ʹɺηΫγϣϯ͝ͱʹμΠδΣετΛܭࢉ͍ͯ͠·͢ɻ ྫ͑ɺ*% ΧʔυͰྸॅॴɺ͋Δ͍ެ։伴Λ֬ೝ͢Δ͚ͩͰ͋Εɺ*% ൪߸ΛݟΔ͜ͱ͕๏Ͱېࢭ͞Ε͍ͯΔͷ߹ɺ *% ൪߸ΛӅͯ͠ ͦͷ෦ΛରԠ͢ΔμΠδΣετͰஔ͖͑ͯ ఏࣔͯ͠࠷ऴతʹॺ໊͖ *% Χʔυจॻͷಉ͡μΠδΣετΛܭࢉͰ͖ΔͷͰɺଘࡏূ໌͕Ͱ͖·͢ɻ ʮμΠδΣετʯͱɺ҉߸ֶతϋογϡؔʢࠓճ 4)"ʣʹΑͬͯܭࢉ͞Εͨͷ͜ͱͰ͢ɻ Θ͔ͣ ϏοτͰݩͷσʔλ͕ҟͳΔͱɺฦͬͯ͘Δ͕શ͘ҟͳΓɺμΠδΣετ͔ΒݩͷσʔλΛ ਪଌ͢Δ͜ͱͰ͖·ͤΜɻ : — 2020-12-19 – p.13/17
API/ Merkle Proof จ ॻ จ ॻ จ
ॻ จ ॻ จ ॻ O μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ حͷ߹ ෳ͢Δ ɾจॻ Λಘͨ" ࢯɺಉ࣌ʹূ໌ཁૉͱͯ͠ɺϒϧʔͰࣔ͞ΕΔμΠδΣετͱ֤ʑ͕ࠨӈͷͲͪΒʹҐஔ͢Δ͔Λड͚औΔɻ ɾ" ࢯจॻ ͷμΠδΣετ͔Β࢝Ίͯɺ࿈͖݁͢Ұ࿈ͷμΠδΣετΛΔ͜ͱʹͳΔͷͰɺϚʔΫϧϧʔτʹࢸΔ·Ͱͷ ɹܭࢉΛ࠶ݱͰ͖ɺಘΒΕͨϚʔΫϧϧʔτ͕ &UIFSFVN εϚʔτίϯτϥΫτʹه͞Ε͍ͯΔͱҰக͢Δ͜ͱΛ֬ೝͰ͖Δɻ ɾͦͷܭࢉΛߦ͢Δͷ͕DFSUJGZXFCͷαʔϏε ݪཧͷཧղͱඞཁͳใ͕͋Ε୭Ͱ࠶ݱͰ͖Δ ূ໌͞ΕΔ ɻ ه͢Δ ಡΈग़ͤΔ ূ໌Λ ඞཁͱ͢Δऀʹ ։ࣔ͞ΕΔใ ˞##Dɺ͜ͷߏΛอଘ ɹ͍ͯ͠Δ͕ɺαϒπϦʔΛ ɹূ໌ཁૉԽͯͨ͠͠ޙɺ ɹূ໌͢Δ্Ͱ##D ෆཁ ެ։͞ΕΔใ ϚʔΫϧϧʔτ Ϛ ồ Ϋ ϧ γ ε ς Ϝ ͕ อ ͠ ֤ Ϣ ồ β ʹ ෦ త ʹ ͑ Δ ʜʜ ʜʜ ʜʜ ʜʜ ʜʜ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ μΠδΣετ &UIFSFVNϒϩοΫνΣʔϯ ʜ ʜ ##DϥΠϒϥϦ ূ໌ॻΞϓϦͰ࣮ݱ : — 2020-12-19 – p.14/17
Merkle Proof ( ) { "proof": { "spec": { "subsystem":
"ethereum", "network": "ropsten", "contract": "BBcAnchor", "contract_address": "0x609CD0aF4663bbA6c7105fd34BbCBCDd5e75067C", "block": 9186681 }, "subtree": [ { "position": "right", "digest": "bd7d8c62a483e23b8e4713699bec9ff036ead7f3a72a8ff70684cdec1e8b6aeb" }, : # ] } } : — 2020-12-19 – p.15/17
BBcAnchor.sol ( ) contract BBcAnchor { mapping (uint256 => uint)
public _digests; constructor () public { } function getStored(uint256 digest) public view returns (uint block_no) { return (_digests[digest]); } function isStored(uint256 digest) public view returns (bool isStored) { return (_digests[digest] > 0); } function store(uint256 digest) public returns (bool isAlreadyStored) { bool isRes = _digests[digest] > 0; if (!isRes) { _digests[digest] = block.number; } return (isRes); } } / : — 2020-12-19 – p.16/17
: — 2020-12-19 – p.17/17