Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Blockchain Kyoto #12
Search
newsnow
February 20, 2019
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Blockchain Kyoto #12
newsnow
February 20, 2019
More Decks by newsnow
See All by newsnow
独自ブロックチェーンで作る請求書システム
newsnow
0
250
ブロックチェーン をやる前に知っておくべきこと
newsnow
0
200
トラストレスを考える
newsnow
0
200
IOST マルチシグを理解する
newsnow
0
540
Blockchain Kyoto #09
newsnow
0
65
Other Decks in Technology
See All in Technology
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
260
あけおめLINE 傾向とその対策
nasa9084
0
280
AIに任せた品質は、誰が見立てるのか - AI時代のテストマネジメント
nakanao
3
2.8k
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
540
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
2
270
30座EKS, 180次升級淬煉的EKS Upgrade Skill 的歷程
eric8230
0
210
俺の仕事は AIに奪われないし、たぶんその BIも要らない
hikaruri
0
540
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
3.2k
事業課題から技術的負債に向き合う
sansantech
PRO
2
2.3k
EventBridge に「合流」はない ― サーバーレスのワークフローを育てるということ / No Join in EventBridge
yusukeshimizu
2
480
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.6k
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.7k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Code Review Best Practice
trishagee
74
20k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Ten Tips & Tricks for a 🌱 transition
stuffmc
1
240
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Color Theory Basics | Prateek | Gurzu
gurzu
1
470
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
480
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
280
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
460
Designing for humans not robots
tammielis
254
26k
Facilitating Awesome Meetings
lara
57
7.1k
Music & Morning Musume
bryan
48
7.4k
Transcript
2019/02/20 Blockchain Kyoto #12 「Javascriptで簡単スマートコントラクト」
自己紹介 ARATA(@newsnow) もとはビジネスコンサルタント 超上流から川下り中 現在の本業は「父親」
ブロックチェーンは価値移転だけでなく、価値の再定義 や新しい価値観の創造を可能にしてくれる… 背景にあるイデオロギーや時流を含めて捉えないと、既 存技術との比較になってしまいがち。 より多くの人に関心を持ってもらうためには、まずはとっ つきやすいことが大切!
ということで、応援したいプロジェクト Lisk(Sidechain Development Kit) Cosmos(Interoperability) IOST(Better Blockchain)
本日のテーマは、 IOST 2月25日 メインネットリリース!
あらかじめ… 通貨の価格については関知しない 仕様変更は大いにありえる
IOST(Internet Of Services Token)とは 高セキュリティ 高い分散性(...10,000node) 超高TPS(8000TPS→...100,000TPS) =>「トリレンマ問題」の一つの解を目指すプロジェクト
トリレンマ問題 ETHはスケーラビリティを犠牲 EOSは分散性を犠牲 IOSTはETHよりも400倍以上速く、EOSの10倍の分散化
IOSTは少し特殊なパブリックブロックチェーンプロジェク トです。IOSTの最も大きな特徴は、EOSよりもさらに「非 中央集権化」を実現し、イーサリアムよりさらにスケーラブ ルだという点です。 - Terrence Wang(CTO)
概要・特徴 Javascriptでスマートコントラクトが書ける コントラクトは後からアップデート・削除可能(※) コンセンサスは「Proof of Believability」 貢献方法(ノード運営・パートナー・開発・バウンティ) 投票制度があり、投票者にも報酬あり アドレスではなくアカウントで管理 送金手数料は無料(IOSTではなくiGASを消費)
シャーディングによるスケール(予定) (※)コントラクト自体を削除することはできない
+α ICOせずに資金確保 PBFTを限りなくパブリックに 発行枚数は多い EthreumよりもEOSに対抗心(検閲耐性重視) 本部開発者との連絡はスムーズ CTOのテリーはすげーイイ奴
とりあえずデモ (※開発環境は、go getから自分でbuildする方法とDockerを利用する方法があります が、特に理由がない場合は、Docker利用が推奨されています。)
開発手順 1. コントラクトコードを作成(jsファイル) 2. コントラクトのコンパイル(abiファイル生成) 3. abiファイルの修正(paramsチェック) 4. コントラクトをブロードキャスト 5.
コントラクト実行 6. レシート確認 [参考]IOST スマートコントラクトの基本的な書き方
javascript class HelloWorld { init() { storage.put("user", "bckyoto") } sayHello()
{ let user = storage.get("user") return "hello, "+ user } change(newone) { storage.put("user", newone) } } module.exports = HelloWorld;
abi { "lang": "javascript", "version": "1.0.0", "abi": [ { "name":
"sayHello", "args": [], "amountLimit": [] }, { "name": "change", "args": [ "string" ], "amountLimit": [] } ] }
command // abiファイル作成 iwallet compile helloworld.js // コントラクト発行 iwallet publish
helloworld.js helloworld.js.abi --account admin // コントラクト実行 iwallet call <contractID> "sayHello" '[]' --account admin // コントラクト実行 iwallet call <contractID> "change" '["newname"]' --account admin // レシート確認 iwallet receipt <transactionID> // アップデート iwallet publish -u helloworld.js helloworld.js.abi <ContractID> --account admin
スマートコントラクトの操作方法 RPC gRPC iwallet API json curl SDK
iwallet
デモ (SDK / Token20 / Token721 / 画像バイナリ)
Token20 create(tokenSymbol, issuer, totalSupply, configJson); issue(tokenSymbol, to, amountStr); transfer(tokenSymbol, from,
to, amountStr, memo); transferFreeze(tokenSymbol, from, to, amountStr, unfreezeTime, memo); destroy(tokenSymbol, from, amountStr); balanceOf(tokenSymbol, from); supply(tokenSymbol); totalSupply(tokenSymbol);
Token721 create(tokenSymbol, issuer, totalSupply); issue(tokenSymbol, to, metaData); transfer(tokenSymbol, from, to,
tokenID); balanceOf(tokenSymbol, from); ownerOf (tokenSymbol, tokenID); tokenOfOwnerByIndex(tokenSymbol, owner, index); tokenMetadata(tokenSymbol, tokenID);
transfer CLICK ME アプリからSDKを介して送金することもできます
ユースケース [参考]Flagship DApp パートナープログラム
◆慈善事業(チャリティー) オペレーションと資金使途、寄付、クラウドファンディング、エンド・トゥー・エンド・トラッキングの透明 性 ◆アート 偽造と真正性、来歴と所有権、記録保持、入札プロセスとアーティストへの支払い ◆ソフトウェア開発 オープンソース開発、クラウドファンディング、レベニューシェアと著作権(IP) ◆教育 学歴と証明書、アプリケーション手続き、リモート学習、費用と決済 ◆フィンテック&インシュアテック(保険)
国際送金、ファイナンシング&ローン、信用格付けと記録保持
◆ゲーム コレクション、ゲーム内アセット、ゲーム内決済、クラウド・ファンディングと開発の透明性 ◆サプライチェーン 認証と偽造、来歴と調達、記録保持、企業間契約、エンド・トゥー・エンドの可視性と追跡 ◆メディア&エンタメ マイクロペイメント、アーティストへのロイヤルティー、P2P販売、デジタル所有権と公平な決済メカ ニズム ◆マーケットプレイス&イーコマース 決済処理とセキュリティ、注文の履行と追跡、決済の清算と確定、信憑性と所有権
難易度↑
アーキテクチャとモデル 1. IOST Economic Model 2. PoB Consensus 3. Smart
Contract System 4. IOST Virtual Machine (IVM) 5. High Performance Storage Layer 6. Decentralized Network layer
1. IOST Economic Model Contribution Economic Model IOST / iGAS
/ iRAM HFFS(Highest-Fee-First-Serve) No Transaction Fee [参考]iGAS/iRAM
SystemModel Advantages ETH 所有権 1. アカウントを無料で作成 2. ネットワーク使用と負担に対する不公平感は少ない 3. ガス料金は明確
EOS レンタル 1. ネットワーク全体のトークン数・利用可能リソース数? 2. システム利用時はトークンをデポジット(消費しない)。大規模アプリケーショ ンもサポート可。 3. ユーザはRAMを解放する動機があるので、データの拡張問題を低減 IOST 貢献 1. アカウントの作成は低コストで簡単 2. 貢献すればするほとシステムリソースを多く利用可能 3. トークンをデポジットしてGASを取得(トークンは消費しない) 4. ガス価格設定により大規模デポジットによるトークン希薄化を回避 5. システムリソースをCPUとストレージに分けてリソース低利用率を回避
Resources abstraction
Transaction Scheduling Model
2. PoB Consensus Servi Committee Frequent Rotation [参考]Introducing PoB
Servi
3. Smart Contract System Plug-and-play Multi-language Support Domain Name System
Account Permission System(Flexible Access Control) Result of Consensus Receipt Event Topics Subscription [参考]Smart Contract Quick Start
4. IOST Virtual Machine (IVM) Chrome V8VM Ensuring Security [参考]VM
Virtual Machine
Sandbox
5. High Performance Storage Layer LevelDB Multiversion Concurrency Control WAL
[参考]Database
StateDB
6. Decentralized Network layer Protocol Buffers Snappy Kademlia Bloom Filter
UPnP [参考]Network layer
まとめ 我々には他のブロックチェーンプラッ トフォームと違うことをしているという 自負があります - Terrence Wang(CTO)
参考URL WHITE PAPER Document BUILDING A BETTER BLOCKCHAIN TACKLING THE
SCALABILITY TRILEMMA Everest v2.0 極度妄想さんのレビュー Meet IOST