Solidityでオークションを実装しました

Ethereumネットワークでのコントラクト開発に使われるSolidityでオークションを実装してみました。まあSolidityのページにあるexampleをほぼそのまま写経してコンパイルして確認してみただけなのですが、実際に動かすことで理解が深まるかと思います。 solidity-jp.readthedocs.io

実装したものは以下になります。 github.com

続きを読む

Chainlinkについて調べてみた

  • ブロックチェーンのオラクル問題とは何か?
    • ラクル問題とは
    • ラクルの要件
    • ラクルの問題点
    • Chainlink での安全で信頼性の高いオラクルのスタンダード
  • Chainlink で実現するスマートコントラクトの 77 のユースケース
    • 分散型金融
      • ステーブルコイン
      • 先物
      • 自動化された資産管理
    • 外部への支払い
      • 銀行支払い
      • 暗号通貨決済
    • ゲームとランダム性
      • 宝くじ
    • 保険
      • 作物保険
      • 航空保険
      • 住宅保険
      • 生命保険
      • 健康保険

Chainlinkを調べるにあたりChainlink Japanがmediumにあげている公式の和訳記事を読んでみました。

chainlink-japan.medium.com

ブロックチェーンのオラクル問題とは何か?

読んだ記事は以下で
ブロックチェーンのオラクル問題とは何か? - Chainlink Community - Medium
公式の記事は以下になります。
What Is the Blockchain Oracle Problem?

続きを読む

圏論学習中メモ

米田の補題まで理解できるように圏論の学習を進めていまして、メモを残すことで大分整理できてきた気がします。

圏論学習中メモ

    • 対象 a,b があったとき f: a -> b のように対象間の矢印を射といい、このとき a を始対象、b を終対象という。また f: a -> b のとき cod(f)=b で dom(f)=a で射に対する始対象、終対象を表す。
    • 対象 a があったとき Id_a: a -> a のように自分自身に向かう射を恒等射という
    • 対象 a,b があり f: a-> b の射と g: b -> a の射があるとき、g を f の逆射といい、逆射をもつ射のことを同型射と呼び、その時の対象は同型と呼ぶので a と b は同型となる
続きを読む

Hyperledger Tutorial のコマーシャルペーパー をやってみた

前回やった Hyperledger のチェインコードデプロイのチュートリアルに引き続ぎコマーシャルペーパーチュートリアルもやってみました。 以下のfabric-samplesリポジトリcommercial-paper 配下を動かしていきます。

github.com

ネットワーク起動

まずは docker コンテナを立ち上げます。

[root@localhost fabric-samples]# cd commercial-paper/
[root@localhost commercial-paper]# ./network-starter.sh
set -o pipefail

# Where am I?
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"

export FABRIC_CFG_PATH="${DIR}/../config"
続きを読む

Hyperledgerのチュートリアルでチェインコードをデプロイしてみた

Hyperledger Tutorial をやってみた

Hyperledger のチュートリアルをやってみたので、その時の内容をまとめてみたいと思います。

環境構築

まずは環境構築ですが、以下に手順がまとめられています。

hyperledger-fabric.readthedocs.io

手順の中である以下のコマンドで Hyperledger Fabric のプラットフォーム固有のバイナリと設定ファイルおよび、チュートリアルで動かすコードのダウンロードができます。自分は Windows の環境だったので Hyper-V に CentOS7 の仮想マシンを立ち上げてそこにインストールしました。

curl -sSL https://bit.ly/2ysbOFE | bash -s

実行後、コマンド実行時のディレクトリの bin 直下にバイナリがダウンロードされるのでパスを通しておきます。

[root@localhost hyperledger]# ls bin/
configtxgen  configtxlator  cryptogen  discover  fabric-ca-client  fabric-ca-server  idemixgen  orderer  osnadmin  peer
続きを読む

Hyperledger fabric のユースケースを調べてみた

エンタープライズでのブロックチェーン

公式サイトの方に説明があります。

hyperledger-fabric.readthedocs.io

ブロックチェーンを使った技術として Bitcoin や Etherenum などの暗号資産が有名ですが、エンタープライズ向けのユースケースで活用する動きが出てきていまして Hyperledger Fabric は最初からエンタープライズ向けとして設計されています。

エンタープライズ向けということで以下を念頭に設計されているようです。

続きを読む

Blockchain 学習メモ

Blockchain および、代表的な実装である Bitcoin について学習したのでメモをまとめてみます。

Bitcoin 論文

まず Bitcoin の論文を読んでみます。

・原文
https://bitcoin.org/bitcoin.pdf

・日本語訳
https://coincheck.blog/292

概要を読んだところ信頼のおける第三者を通さないでも暗号化された証明に基づく電子システムのため直接取引ができるようです。 それからトランザクション(取引)について、コインの所有者は送金をする際にトランザクションに送信者のデジタル署名を追加することで受取人しかそのコインを使えないようにするようです。 次に Proof-Of-Work について、ブロック内には直前のブロックのハッシュが含まれているため、前のブロックを変更する場合は後続のブロックのハッシュの再計算が必要になるがこれは計算量が大きく現実的でないため改ざんに強いようです。

元の論文だけだと具体的なイメージが掴みづらいので次に Mastering Bitcoin を読んでみました。

Mastering Bitcoin

www.amazon.co.jp

続きを読む