Day 3: Consensus 2017ハッカソン
2017/05/26
前の週末はConsensus hackathonで、私たちがブロックチェーン技術に関する実践的な経験を得て、同じくブロックチェーン開発者に出会い、インスピレーションを得る素晴らしい機会でした。
始めに
私たちのフライトは、ハッカソンが発表される前に数週間前に予約されていたため、土曜日をまるまる逃してしまいました。日曜日にはアイデアから実装までのわずか数時間しかありませんでした。ウィリアムがある程度の知識を持っているアイデアを選びました:ウェアハウスマネジメントシステム(WMS)。私たちは、デロイトのオフィスがある30ロックフェラー・プラザの食堂でベーグルとコーヒーを取っている間に出会ったナターシャと力を合わせてチームを強化しました。
WMSは、より大きなサプライチェーンシステムの一部であり、倉庫内のアイテムの追跡に焦点を当てています。別のシステムは、アイテムが工場で生産される時や小売店の棚に並べられる時のアイテムを追跡します。WMSは、どのアイテムが倉庫に到着し、どこにあるか、どこに行くべきか、どのスタッフが何をいつ行うべきかなどを知っています。理論的にはうまく機能しますが、実際には様々な楽しい方法で壊れます:人々は在庫をスキャンし忘れたり、二重スキャンをしたり、間違ったアイテムを拾ったり、正しいアイテムを間違った場所に置いたり、アイテムが単に失われたり(もしくは盗まれたり)します。
考慮すべき他の構造的な複雑さもあります。小売店で売れ残った商品は倉庫に戻され、二次市場の小売業者に送られることがあります。小売店は複数の上流の流通業者から複数のWMSを通じて商品を調達できるかもしれません。アイテムは分解され、再構成されることもあります。例えば、商品が異なる店舗に送られるために分けられるパレットなどです。
すべてのアイデアには名前が必要で、私たちはDewmast、すなわちDEcentralized Warehouse MAnagement SysTemと名付けました。
ビジョン:各アイテムをスマートコントラクトとして、スマートコントラクトはビジネスロジックです
さまざまな当事者間でのアイテム所有権の移転に関する概念があります。私たちのアイデアは、各アイテムをスマートコントラクトで表現し、アイテムの所有権を追跡し、アイテムに関するメタデータを含むことでした。ビジネスロジックはスマートコントラクトに埋め込まれます。例えば、Palette.Decompose()メソッドを呼び出すことで、追加のアイテムスマートコントラクトを生成することができます。

すべての良いハッカソンはホワイトボードセッションから始まります。
私たちはハッカソンで以下を希望しました:
3つのクライアントノード、ブートノード、いくつかの外部所有アカウント(EOA)および契約アカウントを持つローカルEthereumテストネットワークを構築します。シンプルさのために、私たちはこれらすべてをノートパソコンの1台で実行することにしました。
アイテム、所有者、ロケーションを表すための簡単なスマートコントラクトを作成し、アイテムの所有権を一つの所有者から別の所有者に移転する操作やアイテムのロケーションを変更する操作を処理するビジネスロジックを組み込みます。
アイテムを作成、更新、表示するためのシンプルなBootstrapのウェブUIを構築します。このようなレスポンシブなウェブUIは、デスクトップ/ノートパソコンやモバイルの両方で同じように機能する必要があり、後者は倉庫や小売店でのバーコードスキャンを模倣します。
ウェブUIとブロックチェーンをweb3.jsで接続します。これには、Ethereumテストネットワークのクライアントノードの1つにローカルにアクセスを与えるために、web3.jsをノートパソコンの1台で実行する必要があります。
実装:BootstrapとローカルEthereumテストネット
結局、私たちはフロントエンドのモックアップとEthereumテストネットのセットアップしかできませんでした。飛行機の中でEthereumテストネットで遊び回っており、go-ethereum wikiの指示に従って手動でセットアップしていました。それはかなり手間がかかることが判明し、gethclusterスクリプトが私たちのプロセスを効率化してくれると思っていましたが、時間切れになる前にテストネットが稼働し始めたところでした。振り返ってみると、私たちは飛行機の中で手動でEthereumテストネットのセットアップを続けるべきだったと思います。

Dewmastのフロントエンド作業中のモックアップ

Ethereumテストネットを立ち上げる
プレゼンテーションとサプライズ
私たちは満員の部屋と、さまざまなハッカソンスポンサー組織からの約10人の審査員のパネルにプレゼンテーションを行いました。ハッカソンのホストであるDeloitte、ConsenSys、およびその他を含む多くの素晴らしいアイデアが発表されました。私たちは自分たちのビジョンと、構築したものを発表し、私たち3人のうちの誰もが2週間以上ブロックチェーンで作業していないことに触れました。
分散型倉庫管理'Dewmast'が450億ドルの商品の損失に対処するために#consensus2017 pic.twitter.com/Tm6cHZZW4e
— ピーター・ミュンツェンマイヤー (@Thebhid) 2017年5月21日
私たちはしたがって、ConsenSys Academyの賞を受賞できて驚き、謙虚でした!
分散型倉庫管理システム#decentralized #DewMastが#ConseSysAcademyの賞を受賞したことを祝います#Consensus2017ハッカソンで!
— ConsenSys (@ConsenSysLLC) 2017年5月21日
審査員ジェレミー・ミラーは、私たちのチームがConsensys Academyが提供できる集中型で開発者向けのブロックチェーントレーニングから恩恵を受けることができると考えていました。私たちは参加できることに興奮し、Ethereumの知識を次のレベルに引き上げるつもりです。
将来的な作業
WMSの更新は通常、ハンドヘルドスキャナーでアイテムのバーコードをスキャンすることによって行われます。速度のために、更新は通常ローカルにキャッシュされ、バッチでWMSに同期されます。コンフリクトはスキャンポイントで捕まらず、後で解決されることがよくあります。将来のアイデアとして、私たちはブロックチェーンのコピーでローカルにスマートコントラクトを実行し、特定のトランザクションが成功する可能性が高いかどうかを合理的な確信を持って確認できるハンドヘルドスキャナー上で動作するアプリを想定しました。
しかし、実際にはブロックチェーンの台帳はハンドヘルドデバイスに収まりきらないと思われるため(ビットコインの台帳は現在110GBです)、私たちは即時確認のためにデバイスにブロックチェーンの関連部分だけをシャーディングする方法を考えました。何かのサイドチェーンのように。
私たちは希望した程度までプロトタイプを完成させることができませんでしたが、その過程でたくさんのことを学び、新しい友達ができ、参加するのがとても楽しかったです。ハッカソンで始めた作業を終わらせる予定ですので、さらなるアップデートにご注目ください。
