Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
shigeyuki azuchi
1,290 views
福岡ブロックチェーンエコノミー勉強会In東京「カラードコインの作り方」
カラードコインを作るにはどういう機能が必要で、どういう実装方法が考えられるのかOpen Assets Protocolとネイティブ実装パターンで比較します。
Technology
◦
Read more
2
Save
Share
Embed
Embed presentation
Download
Download to read offline
1
/ 20
2
/ 20
3
/ 20
4
/ 20
5
/ 20
6
/ 20
7
/ 20
8
/ 20
9
/ 20
10
/ 20
11
/ 20
12
/ 20
13
/ 20
14
/ 20
15
/ 20
16
/ 20
17
/ 20
18
/ 20
19
/ 20
20
/ 20
More Related Content
PDF
【暗号通貨輪読会#14】confidential transaction
by
shigeyuki azuchi
PDF
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
by
shigeyuki azuchi
PDF
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
by
shigeyuki azuchi
PDF
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
by
shigeyuki azuchi
PDF
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
by
shigeyuki azuchi
PDF
Openassets ruby
by
shigeyuki azuchi
PDF
neo4jを使ったブロックチェーンデータの解析
by
shigeyuki azuchi
PDF
Open Assetsを利用したP2P型の投票システムとエクスプローラ
by
shigeyuki azuchi
【暗号通貨輪読会#14】confidential transaction
by
shigeyuki azuchi
福岡ブロックチェーンエコノミー「ブロックチェーンのコンセンサス形成」
by
shigeyuki azuchi
福岡ブロックチェーンエコノミー勉強会Vol.3「Segregated Witness」
by
shigeyuki azuchi
e-ZUKA Tech Night in 博多! -fin tech特集- Bitcoinのブロックチェーンでできるコントラクト
by
shigeyuki azuchi
JAWS FESTA 東海道 2016 ブロックチェーンとは何なのか?
by
shigeyuki azuchi
Openassets ruby
by
shigeyuki azuchi
neo4jを使ったブロックチェーンデータの解析
by
shigeyuki azuchi
Open Assetsを利用したP2P型の投票システムとエクスプローラ
by
shigeyuki azuchi
What's hot
PDF
Bitcoinを技術的に理解する
by
Kenji Urushima
PDF
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
by
Kaito Minatoya
PDF
データベース屋がHyperledger Fabricを検証してみた
by
LFDT Tokyo Meetup
PDF
JNSA Bitcoin 勉強会 佐藤 20140602
by
Masashi Sato
PPTX
ビットコイン~原理からソースまで~
by
bitbank, Inc. Tokyo, Japan
PDF
5分でわかるブロックチェーンの基本的な仕組み
by
Ryo Shimamura
PDF
ブロックチェインとOpen asset protocol
by
Kindai University
PPTX
ブロックチェーンの仕組みと動向(入門編)
by
NTT DATA OSS Professional Services
PDF
Bitcoin x javascript
by
Yuki Akiyama
PPTX
分散型台帳技術Orb DLTの紹介
by
Orb, Inc.
PDF
ブロックチェーン技術の基本と応用の可能性
by
Kenji Saito
PDF
電子情報通信学会グローバル社会とビットコイン(山崎)
by
Kindai University
PDF
Congre chain説明資料
by
Kindai University
PDF
Deconstruction of Serverless and blockchain
by
Takahiro Hayashida
PDF
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
by
Kenji Urushima
PDF
Orb 仮想通貨・地域通貨ソリューション
by
Wataru Fukatsu
PDF
ビットコインで使われている暗号の基礎を学ぶ
by
Yuto Takei
PPT
Secrets of Izna
by
nyaxt
PDF
ブロックチェーンの解説 In.live ppt
by
Asteria Corporation
PDF
徹底サーベイ : デジタル通貨の15年
by
Kenji Saito
Bitcoinを技術的に理解する
by
Kenji Urushima
[2020.08.28 銀座Rails #24]Rails で Distributed Tracing をやる
by
Kaito Minatoya
データベース屋がHyperledger Fabricを検証してみた
by
LFDT Tokyo Meetup
JNSA Bitcoin 勉強会 佐藤 20140602
by
Masashi Sato
ビットコイン~原理からソースまで~
by
bitbank, Inc. Tokyo, Japan
5分でわかるブロックチェーンの基本的な仕組み
by
Ryo Shimamura
ブロックチェインとOpen asset protocol
by
Kindai University
ブロックチェーンの仕組みと動向(入門編)
by
NTT DATA OSS Professional Services
Bitcoin x javascript
by
Yuki Akiyama
分散型台帳技術Orb DLTの紹介
by
Orb, Inc.
ブロックチェーン技術の基本と応用の可能性
by
Kenji Saito
電子情報通信学会グローバル社会とビットコイン(山崎)
by
Kindai University
Congre chain説明資料
by
Kindai University
Deconstruction of Serverless and blockchain
by
Takahiro Hayashida
Certificate TransparencyによるSSLサーバー証明書公開監査情報とその課題の議論
by
Kenji Urushima
Orb 仮想通貨・地域通貨ソリューション
by
Wataru Fukatsu
ビットコインで使われている暗号の基礎を学ぶ
by
Yuto Takei
Secrets of Izna
by
nyaxt
ブロックチェーンの解説 In.live ppt
by
Asteria Corporation
徹底サーベイ : デジタル通貨の15年
by
Kenji Saito
Similar to 福岡ブロックチェーンエコノミー勉強会In東京「カラードコインの作り方」
PDF
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法
by
Shigeichiro Yamasaki
PPTX
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
by
blockchainexe
PDF
Ethereum whitepaper
by
Kenichi Kurimoto
PPTX
チュートリアル: ブロックチェーンの計算モデル
by
Shin Saito
PPTX
OSS開発支援Stakes.Socialの使い方
by
taake crypto
PDF
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
by
オラクルエンジニア通信
PDF
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
by
blockchainexe
PPTX
Blockchainベーシック
by
Kondo Hitoshi
PDF
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
by
Yuto Takei
PDF
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
by
Kenji Saito
PDF
新しいオフチェーンコントラクトeltooとSIGHASH_NOINPUT
by
shigeyuki azuchi
PDF
ブロックチェーン連続講義 第3回 ビットコインの技術
by
Kenji Saito
PDF
Blockchain innovation
by
Yuto Takei
PDF
Ethereum walletの調査
by
ssuser399651
PDF
仮想通貨とBlockchainの課題と展望
by
Masanori Kusunoki
PDF
エンタープライズブロックチェーン構築の基礎
by
LFDT Tokyo Meetup
PDF
アプリケーション概観 29 feb2016 のコピー
by
Yoshimitsu Homma
PDF
ビットコイン福岡勉強会法的課題
by
Kindai University
PDF
Hyperledger Fabric 1.0 概要
by
LFDT Tokyo Meetup
PDF
[Intermediate 04] ブロックチェーンの動作原理
by
Yuto Takei
セカンドレイヤでスケールさせているステーブルコインをGENIUS法対応にする方法
by
Shigeichiro Yamasaki
Blockchain EXE Legal #1:リーガル x エンジニア:ブロックチェーンの技術特性を踏まえた法的論点整理(西村 祥一:コンプス情報技術研...
by
blockchainexe
Ethereum whitepaper
by
Kenichi Kurimoto
チュートリアル: ブロックチェーンの計算モデル
by
Shin Saito
OSS開発支援Stakes.Socialの使い方
by
taake crypto
OCHaCafe #4 Hyperledger Fabric アプリケーション設計入門ガイドでしゃべった内容+おまけ資料
by
オラクルエンジニア通信
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
by
blockchainexe
Blockchainベーシック
by
Kondo Hitoshi
MinChain – Bitcoin ライクな最小限のブロックチェーン実装
by
Yuto Takei
ブロックチェーン連続講義 第6回 ブロックチェーン 2.0
by
Kenji Saito
新しいオフチェーンコントラクトeltooとSIGHASH_NOINPUT
by
shigeyuki azuchi
ブロックチェーン連続講義 第3回 ビットコインの技術
by
Kenji Saito
Blockchain innovation
by
Yuto Takei
Ethereum walletの調査
by
ssuser399651
仮想通貨とBlockchainの課題と展望
by
Masanori Kusunoki
エンタープライズブロックチェーン構築の基礎
by
LFDT Tokyo Meetup
アプリケーション概観 29 feb2016 のコピー
by
Yoshimitsu Homma
ビットコイン福岡勉強会法的課題
by
Kindai University
Hyperledger Fabric 1.0 概要
by
LFDT Tokyo Meetup
[Intermediate 04] ブロックチェーンの動作原理
by
Yuto Takei
福岡ブロックチェーンエコノミー勉強会In東京「カラードコインの作り方」
1.
Copyright ©2017 HAW
International Inc. all rights reserved. 福岡ブロックチェーンエコノミー勉強会 in 東京 カラードコインの作り方 2017 / 09 / 27 株式会社ハウインターナショナル 安土 茂亨
2.
Copyright ©2017 HAW
International Inc. all rights reserved. ハウインターナショナル •Blockchainに関する取り組み ‣2nd Layer技術を中心に研究開発 ‣Open Assets Protocolの実装の一つである openassets-rubyを実装 https://github.com/haw-itn/openassets-ruby ‣BitcoinプロトコルのRuby実装(WIP) https://github.com/haw-itn/bitcoinrb •製品・サービス開発 ‣Congrechain ‣ブロックチェーンPoC ‣Open Assets Explorer
3.
Copyright ©2017 HAW
International Inc. all rights reserved. カラードコインとは? ブロックチェーン上で任意のアセットを発行し、信頼できる 第三者機関を必要とせず、アセットを転々流通させることが できる仕組み。Bitcoinとは異なり、発行主体が存在する。 Open Assets Protocol Elements Confidential Assets
4.
Copyright ©2017 HAW
International Inc. all rights reserved. カラードコインの設計に必要な技術要素 ● アセットの識別子 発行された任意のアセットを識別するためのユニークな 識別子の管理とアセットへのリンク ● アセットの量 トランザクションで任意のアセットの取引を行うことができ、 その総量が保証される ● アセットの発行パターン(追加発行の有無) ● アセットに関するメタデータとのリンク(オプション)
5.
Copyright ©2017 HAW
International Inc. all rights reserved. カラードコインの実装方法 ● オーバーレイ型 既存のトランザクションにOP_RETURNでメタデータを埋め込むことでBitcoin 以外のアセットを表現する実装方法。 通常のBitconのノードから見ると、メタデータが付いているだけのBitcoinの 送金に見え、コンセンサスルールではアセットについて関与しないため、仕様上 無効なトランザクションをブロードキャストできてしまう。 ● ネイティブ型 Bitcoinと同様、ネイティブにアセットを取り扱い、コンセンサスルールにも組み 込まれる。コンセンサスルールに組み込まれているため、無効なトランザクショ ンを作ってもトランザクションの検証に失敗し、ブロードキャストはできない。
6.
Copyright ©2017 HAW
International Inc. all rights reserved. Open Assets Protocolの実装パターン
7.
Copyright ©2017 HAW
International Inc. all rights reserved. Asset Asset トランザクションをオーバーレイ Transaction Version Inputs ... Outputs Output 1 Marker Output Output 2 Output 3 Locktime オーバーレイ型の実装では、トランザクションを カラーリングされたトランザクションとして識別できる ような仕組みを導入するが、Bitcoinのノードからみる と、その実体はあくまで普通のBitcoinのトランザクショ ンになる。 アセットの送付先はBitcoinと同様、トランザクションのア ウトプット単位で制御する。Bitcoinのアウトプットには必 ず少額のBitcoinもセットされており、そのBitcoinの量と は別にアセットの量をオーバーレイする。 ※ Bitcoinの量が0だとUTXOとして認識されないため カラーリングされたトランザクションがカラーリングされていることは、 そのプロトコルに対応したノード/ウォレットでしか認識できない。
8.
Copyright ©2017 HAW
International Inc. all rights reserved. オーバーレイに必要なOP_RETURN BitcoinのトランザクションのアウトプットにはscriptPubkeyと呼ばれる、 コインのロック条件を記述したスクリプトがセットされている。 一般的なBitcoinを送金するP2PKHのスクリプト OP_RETURNはスクリプトのOPCODEの1つで、この後ろに任意のデータ (最大80バイト)をプッシュできる。 ※基本的にはトランザクションに付き1つまでで、複数あると非標準トランザクションとみなされ大半 のノードはリレーしない。 scriptPubkeyにOP_RETURNを使うとそのアウトプットは無効なアウトプット (コインを含まない)として解釈され、ブロックチェーンには記録されるが、 UTXOとしては使用できない。 任意のデータを記録できるOP_RETURNを使って拡張レイヤーを構築する OP_DUP OP_HASH160 公開鍵ハッシュ OP_EQUALVERIFY OP_CHECKSIG scriptPubKey OP_RETURN <任意のデータ>
9.
Copyright ©2017 HAW
International Inc. all rights reserved. Open Assets Protocolのトランザクションには必ず Marker Outputと呼ばれる特殊な出力が1つ含まれ、 Open Assets Payloadが格納されている。 アセットの量の管理 Transaction Version Inputs ... Outputs Output 1 Marker Output Output 2 Locktime OP_RETURN <Open Assets Payload> フィールド サイズ 内容 OAP Marker 2バイト Open Assets Protocolの出力であることを示すマーカーで、0x4f41を指定 Version 2バイト Open Assets Protocolのバージョン番号(0x0100) Asset Quantityの数 1-9バイト Asset Quantityリスト内のアイテム数 Asset Quantityリスト 可変 トランザクションで送付されるアセットの量(LEB128でエンコード) メタデータの長さ 1-9バイト メタデータの長さ メタデータ 可変 任意のメタデータ(Asset Definition Pointer等を指定) ※OP_RETURNは任意の80バイトのデータを記録できるスクリプト Open Assets Payloadで、このトランザクションの各アウトプットに割り当てるアセットの数が決まる。 OP_RETURN 4f41010001e80700 このトランザクションで取引されるアセットの数は1000個で 最初のアウトプットにその量が割当られる (例) ※ 定義されているのは量のみで、そのAsset IDについてはここでは明示的に定義されていない。
10.
Copyright ©2017 HAW
International Inc. all rights reserved. アセットの発行と送付の識別 Transaction Version Inputs ... Outputs Marker Output Output 1 Output 2 Locktime Marker Outputの位置でアセットの発行と送付のアウトプットを制御 Transaction Version Inputs ... Outputs Output 1 Marker Output Output 2 Locktime アセット発行Tx アセット送付Tx アセット発行用のアウトプット アセット送付用のアウトプット あるアセットの新規発行と別のアセットの送付を1トランザクションで行うことも可能
11.
Copyright ©2017 HAW
International Inc. all rights reserved. Asset IDの算出方法 Transaction Version Inputs Input 1 Outputs Marker Output Output 1 Output 2 Locktime Transaction Version Inputs Input 1 Input 2 Outputs Marker Output Output 1 Output 2 Output 3 Locktime Transaction Version Inputs Input 1 Input 2 Outputs Output 1 Marker Output Output 2 Locktime Transaction Version Inputs Input 1 ... Outputs Output 1 Output 2 Locktime アセット送付Tx アセット送付Tx アセット発行Tx アセットの識別子となるAsset IDは発行Txまで遡り その入力が参照するアウトプットのscriptPubkeyから計算される scriptPubkey scriptPubkeyをHASH160し、エンコードしたものが Asset ID
12.
Copyright ©2017 HAW
International Inc. all rights reserved. order based coloring トランザクションの各インプットが保持しているアセットを、Marker Outputに定義 されている数だけ、順番に各アウトプットに割り当てる方法。 Inputs Input 0 Asset Quantity : 3 Asset ID : A1 Input 1 Asset Quantity : 2 Asset ID : A1 Input 2 Asset Quantity : N/A Asset ID : N/A Input 3 Asset Quantity : 3 Asset ID : A1 Input 4 Asset Quantity : 3 Asset ID : A2 Marker Outputに定義されているAsset Quantity:[10, 4, 4, 1, 2] Outputs Output 0 Asset Quantity : 10 Asset ID : A3 Output 1 ( Marker ) Asset Quantity : N/A Asset ID : N/A Output 2 Asset Quantity : 4 Asset ID : A1 Output 3 Asset Quantity : 4 Asset ID : A1 Output 4 Asset Quantity : 1 Asset ID : A2 Output 4 Asset Quantity : 2 Asset ID : A2 新規発行アセット
13.
Copyright ©2017 HAW
International Inc. all rights reserved. Asset Definition Pointer OP_RETURN <Open Assets Payload> トランザクションにはアセットに関するメタデータ(名称、アセットの定義、アイコ ン、約款など)を十分に定義できるスペースは無いため、アセットのメタデータを 定義したファイルのポインターを、アセットを新規発行するトランザクションの Open Assets Payloadのメタデータフィールドにセットする。 OP_RETURN 4f410100016417753d68747470733a2f2f676f6f2e676c2f75617043734a u=https://goo.gl/uapCsJ 各ウォレットやノードは、アセット発行トランザクションの メタデータをパースして、アセットの情報を表示する。
14.
Copyright ©2017 HAW
International Inc. all rights reserved. Open Assets Protocolの実装方法 Open Assets Protocolでは、取引するアセットの量と各アウトプットへ の割当をMarker Outputで行い、アセットの識別子は発行Txまで遡って 計算することで、アセットの量と識別子を管理している。 【メリット】 ● トランザクションに最大80バイトのMarker Outputを挿入するだけなのでとて もデータ効率が良い。(OP_RETURNなのでUTXOとしても管理されない) ● シンプルなプロトコルで各アウトプットには任意のBitcoin Scriptを使用でき るため、BitcoinのScriptで実装できるコントラクトは、そのままセットにも適用 できる(Atomic SwapやPayment Channelなど)。 【デメリット】 ● 各アウトプットの割り当てられているAsset IDを知るためには、アセットの発 行トランザクションまで辿る必要があるため、SPVでは実装できない。 ● Bitcoinのコンセンサスルールとは関係ないため、アセットにとって無効なトラ ンザクションもブロードキャストでき、その保護は各ノード/ウォレットが負う。
15.
Copyright ©2017 HAW
International Inc. all rights reserved. ソフトフォークによるネイティブ実装
16.
Copyright ©2017 HAW
International Inc. all rights reserved. ソフトフォークでカラードコインを実装 Johnson Lau氏によるBitcoinをソフトフォークしてカラードコインに対応する提案 https://github.com/jl2012/bips/blob/color/bip-color.mediawiki 【参照実装】 https://github.com/jl2012/bitcoin/commits/color ※ Tweetにあるように、おそらく導入されることはないと思われる。 これからのスライドはその前提でソフトフォークで実装するとした場合の話。
17.
Copyright ©2017 HAW
International Inc. all rights reserved. Color Commitmentとアウトプットの拡張 Transaction Version = 3 Inputs ... Outputs Color commitment ... Locktime <header> <color tag> <bit field> フィールド サイズ 内容 header 4バイト OP_RETURN OP_PUSHDATA2 0x85 0xad color tag 32バイト このコミットメントの対象となるcolorの識別子 bit field 可変 トランザクション内のどのアウトプットが カラーリングされたアウトプットか示すビット列 アセットを送付するトランザクションには、必ずcolor識別子 ごとのColor Commitmentアウトプットが含まれる。 Output value scriptPubkey Output value scriptPubkey color トランザクションのアウトプットの 構造に color 識別子を表す 256 bit のcolorフィールドを追加 既存のアウトプット構造 各アウトプットにアセットの識別子がセットされるため、出力のアセットが何なのかアウトプットのみで判断できる。 結果SPVノードでもアセットを識別できるようになる。
18.
Copyright ©2017 HAW
International Inc. all rights reserved. アセットの発行と識別子 Input scriptSig sequence OutPoint(txid, index) sequenceフィールドをビット列として扱い、23番目と24番目 のビットでアセットの発行/送付、発行タイプを識別する。 ● 23 番目のみビットがセットされている場合 追加発行が可能なアセットの新規発行を意味する。アセットの識別子は ダブルSHA256(0x00008000 + 入力が参照するUTXOのscriptPubkey) 識別子がscriptPubkeyで構成されるため、同じscriptPubkeyを使えば、 同じ識別子のアセットが発行できる。 ● 24 番目のみビットがセットされている場合 追加発行が不可能な不可能なアセットの新規発行を意味する。アセットの識別子 は、 ダブルSHA256(0x00000001 + 入力が参照するUTXOのOutPoint) 識別子がOutPointで構成されるため、一度発行したら、二度と同じ識別子の アセットは発行できないことが保証される。 ● 23番目と24番目両方のビットがセットされている場合 アセットの送付を意味し、この入力のアセットの識別子は、入力が参照する アウトプットが持つ識別子になる。 "00000001000000000000000000000000" 0x80000000 "00000000100000000000000000000000" 0x00010000 "00000001100000000000000000000000" 0x80010000
19.
Copyright ©2017 HAW
International Inc. all rights reserved. コンセンサスルールの追加 トランザクションのversionが3以上の場合、以下のチェックに引っかかるトランザク ションは無効なトランザクションとしてブロックチェーンに組み入れられることはない。 ● インプットのアセット数よりアウトプットのアセット数多くないか ● color commitmentにアセットが割り当てられていないか ● color commitmentのデータ長やcolor tag、bit fieldの範囲が不正でないか ● 1アウトプットに複数のアセットが割り当てられていないか ● インプットにアセットがないのに、アセットを送付するbitがセットされていないか ● インプットにアセットがあるのに、新規発行のbitがセットされていないか ● コインベースのアセット手数料が、ブロック内のアセット手数料を超えていない か ( アセットも手数料としてマイナーが収集することも可能)
20.
Copyright ©2017 HAW
International Inc. all rights reserved. ネイティブの実装方法 ネイティブの実装では、トランザクションの各アウトプットのvalueでアセッ トの量を、アセットの識別子はアウトプットにcolorフィールドを追加して、 それぞれ管理する。 【メリット】 ● 各アウトプットにアセットの識別子がセットされるため、SPVノードでもアセッ トを扱うことができる。 ● コンセンサスルールでアセットの検証も行われるため、無効なトランザクショ ンがブロックチェーンに格納されることなく、ノードレベルで事前にチェックが できる。 【デメリット】 ● 各アウトプットにcolorフィールド(32バイト)が設けられ、データスペースを消 費する。 ● アセットのメタデータを定義する仕様は無い。
Download