初心者向けにsolidityのコードやブロックチェーン技術、Ethereumを解説します。プログラミングができない方へもブロックチェーンやFintechの魅力を伝えられればと思います。現在作成中dappなどのアプリ開発も綴っていきます。
前回ご説明した通りブロックチェーンはトランザクションが書き込まれる事で接続されます。(当然ですが) このとき重要なのはどのようなメカニズムによって次のブロックが作成されるかということです。今回はこのシステムについて解説していきます。 前回までの解説はこちらからご覧ください。 soliditystg.hateblo.jp soliditystg.hateblo.jp soliditystg.hateblo.jp soliditystg.hateblo.jp Proof of Work PoWのメカニズム PoWへの批判点 1.電力消費 2.非中央集権性の崩壊 3.合理性への依存 Proof of…
前回はブロックチェーンがどのような発想のもとで作られたか、 その暗号学的なコンセプトをビザンティン将軍問題を通して考えました。 このビザンティン将軍問題の解決方法こそが今日における暗号学、 ブロックチェーン技術の応用へとつながっているわけです。soliditystg.hateblo.jp 今回は実際にブロックチェーンが書き込まれるトランザクション、 そのチェーンがどのようにして動いているかを解説していきたいと思います。ここまでのブロックチェーン技術解説については次の記事を参照してください。soliditystg.hateblo.jp soliditystg.hateblo.jp ひとえにブロッ…
今回は前々回同様に暗号資産管理分散型アプリであるMakerを基にしてsolidityコード解説を行っていこうと思います。前回の記事はこちらから。 soliditystg.hateblo.jp 個人的な話ですが作成中のDappが極めて難航しています。やはりJavaScriptの学習を先にした方がよいのかもしれませんね。個人レベルならともかくフロントエンドとの接続や大がかりな呼び出しをするアプリケーションとなると必然的にERCトークンを発行しなければならずデータベースの知識も必要となります。そっち側は素人なのでうまくいきませんね…。今回はそれほど難しくないコーディングです。論理、数学演算の他関数参…
今回は前回の記事でご紹介しましたブロックチェーン上で安定的な資産管理を可能にする分散型アプリケーションであるMakerであるのコーディング解説を行いたいと思います。MakerはERC721トークンでDaiと呼ばれる担保型の暗号資産を個人で発行し管理します。詳しいことはこちらの記事で説明していますので良ければ参照してください。 soliditystg.hateblo.jp バージョンは0.4.13なので少し古いものですね。非常に簡潔に書かれたコードなのに他のアプリにも応用できる技術やアクセスチェックのコードが満載で非常に勉強になります。面倒でも一度目を通しコードを写してみると勉強になるかもしれま…
更新が空いてしまいました。今回もブロックチェーン技術の活用について紹介していこうと 思いますがその前に…。こんな話題が出ていますね。 japan.cnet.com どうやらGoogleが本格的に量子コンピューターの実用化に向けて実装を始めているようです。発表によると量子コンピューターはスーパーコンピューターが1万年かかる計算を3分20秒で 解いてしまったとか。(既存のスーパーコンピューターの研究者はこの発表について否定的な 見解を述べています) この影響でBitCoinの価格がかなり落ちていますね。 というのも仮想通貨は非中央集権を目指す上で信頼性暗号能力によって担保しています。 solidi…
今回は前回に引き続きDappsについて解説していきたいと思います。前回の記事ではERCトークンの種類と分散型ゲームについて紹介しました。前回書き忘れていましたが分散型ゲームをプレイするためにはMetamaskとの連携が必要です。これはJavascriptによってフロントエンド側でアプリケーションが呼びだされているためチェーンとweb3とをつなぐために不可欠だからです。前回のゲームと異なり今回は実用アプリケーションについて説明していきます。前回記事のゲーム紹介はこちらから。ブロックチェーン上で動くゲームについて書いてます。 soliditystg.hateblo.jp 1.Tether 2.Et…
今回もブロックチェーン技術の応用について紹介していきます。現在Fintechアプリケーションの開発をしているとのことでしたがやはり送金システムを利用すると金融法に引っかかるのが痛いですね…。英国や米国と異なり日本はかなり規制が厳しいですからね。ビジネスの難しさを痛感しております。 前回紹介した活用例はホンダやBMWの車について書きましたね。 soliditystg.hateblo.jp 今回はDappsの中でもERC721を用いた分散型ゲームについてご紹介していきます。 Ethereumトークンについて 1.ERC20 2.ERC223 3.ERC721 Dapps例 1.CryptoKitt…
今回は引き続きブロックチェーン技術の学習方法についてブロックチェーン技術がどのように活用されているかを紹介していきたいと思います。前回はスマートコントラクトの動かし方を参考書を通じて学習することをご紹介しましたね。 少し話が横道にずれますが昨日の記事ではホンダやBMW、フォードといった大手車メーカーがモビリティサービスにブロックチェーンとスマートコントラクトを試験的に導入していく事を紹介しました。 soliditystg.hateblo.jp このことに引き続き一昨日フォードは走行距離や排気ガス量などの環境ステータスをブロックチェーン上で管理する方向性をしめしました。これは燃費や二酸化炭素の排…
ブロックチェーン技術の活用と今後 1 今回はブロックチェーン技術がこれからの社会でどの様に応用されていくかを考えていこうと思います。現在私は分散型アプリケーション、dappの作成に取り組んでおります。これは金融における法的情報をブロックチェーン上で保存するだけの拙いものではありますが今までの社会ではなかなか実現できなかった発想のようですね。実際にアプリ開発に携わってみるとわかりましたがいざブロックチェーンを実装しようとするとブロックチェーンの必要性を改めて考え直さなければいけないと感じるようになります。チェーン上でどの様に現実の情報を扱うかでブロックチェーンは有用にも無用の長物にもなります。そ…
今回はDapp作成途中でのエラーについて綴っていきます。 ブロックチェーンアプリを作るバックエンドとしてはsolidityを用いてEthereum上でスマートコントラクトを動かします。フロントエンドとしては多くの場合フレームワークであるtruffleを使うことが多いのですが今回はRuby on rails を用いて呼び出してみようと思います。こちらのサイトを参考にさせて頂きました。一から詳しく解説していただいており大変参考になりました。ですが途中でどうしても治らないエラーが出てしまうので今回は後から見直せるように備忘録を残しておこうと思います。 環境設定 1.rails開始 2.次にgem f…
最近はSolidity を用いた金融webサービスを作成しようと奔走しております。 今回はそんなEthereumと金融サービスとの関連について考えていこうと思います。 1.Ethereumの特徴 1.スマートコントラクト...? 2.Ethereumの脆弱性 3.本来の強み 2.BItCoinの価値について 1.ブロックチェーンの有用性 2.仮想通貨の強み 3.生き残る通貨 3.ミニマムチェーン構想 1.Ethereumの特徴 1.スマートコントラクト...? Ethereumの最大の特徴とは何でしょうか?ブロックチェーン上でプログラムを起動できることと考えられがちですが今回はもう少し踏み込ん…
今回は初心者の方向けのブロックチェーン技術の学習方法の紹介の第3回目となります。前回はEthereum,Solidityを最初から始める際のおすすめの本やブロックチェーンのマイニングがどのように行われているかをRubyを通じて理解することを紹介しました。 今回はさらにDapp作成への一歩としてSolidityやブロックチェーンアプリ開発のためのおすすめの教本を紹介したいと思います。前回記事はこちら。 soliditystg.hateblo.jp 1.ブロックチェーン dapp&ゲーム開発入門 Solidityによるイーサリアム分散アプリプログラミング 1.良い点 2.悪い点 3.総評 2.堅牢…
今回はブロックチェーン技術解説の第3回目となります。 前回はハッシュ関数について解説しました。今日は数学的な原理から離れてどのようなコンセプトでブロックチェーンが 生まれてきたかを考えていきたいと思います。 1.合意形成とは 2.ビザンティン問題 3.暗号学としての解法 4.ブロックチェーンの問題点 1.合意形成とは 如何にして集団において合意形成をするのかは昔から考えられていた問題でした。ブロックチェーン技術、とりわけ金銭的価値の絡む仮想通貨でもこの難題は避けては通れないものとなっています。解決のために直感的に思いつくのは中央の権威に意見を集合させコンセンサスを得る方法でしょう。既存の社会で…
Solidity コード解説1今回は実際のユーザーに作られ公開されているdappでのコードを基にして solidityコードを解説していきたいと思います。使うサイトはこちらとなります。 https://etherscan.io/このサイトはEtherscanと言いEthereum上のトランザクションやユーザーにより作成された トークン情報を確認することができるサイトです。今回からEthereum Name Service のコントラクトコードを用いてコード解説をしていきたいと思います。 このサービスはEthereumアドレスにより可読性を持たせることで現実の情報とリンクさせたり ドメインとして…
bitcoinではブロックチェーンを用いた分散型台帳によって貨幣価値の所在が保証されます。 この分散型台帳はbitcoinに参加しているあらゆるノードが確認することができ、 それによっていつどのノード間でどれだけの取引が行われたかが完璧に把握されます。 この取引に対する透明性こそがbitcoinの通貨的価値を裏付け同時に 不正が行われていないことへのコンセンサスを創る足掛かりになっています。 ではこの台帳が如何にして組み立てられているのかを見てみましょう。 まずは準備が必要です。ここでハッシュ関数という関数群を紹介しましょう。 この関数は主にアメリカFBI,DSAの暗号学機関により考案された関…
ブロックチェーン技術解説1 今回からブロックチェーン技術の歴史や変遷、その技術的な原理を初心者の方向けに 解説していこうと思います。さて、ここではまずブロックチェーン技術の成り立ち、 特に現状最も大きな応用技術である仮想通貨について考えていきましょう。 そのためにしばらくはこの仮想通貨を通じてブロックチェーン技術に 慣れていきたいと思います。まず話すべきなのは仮想通貨の歴史とどのように 生まれたか、そしてどのような変遷を経てきたのか、でしょう。 仮想通貨、ひいてはこのブロックチェーンの発想そのものは驚くべきことに 1990年代から既に存在していました。特定の権威的集団を介さずに 各コンピュータ…
Techacademy感想 1年半前私はEthereumやスマートコントラクト技術を学ぶためにTechacademyという プログラミングのオンラインスクールを受講しました。 今回は当時の感想を含めてレビューを書きたいと思います。 1.始めたきっかけ 受講前私はブロックチェーン技術についての本を読んだくらいでした。 仮想通貨に興味を持ちいくらか投資してほんの少しだけ儲けたり、そんなことをしているうちに仮想通貨がどのようにして動いているかに興味を持ち始めました。 数冊の技術書を呼んだ後にEthereum、Solidityの本を買っていざ実践、としましたが うまくいきませんでした。というのも今もそ…
ブロックチェーン技術の勉強方法2 今回は引き続きブロックチェーン技術の学習方法について解説していきます。 前回でおおよそブロックチェーン技術の概要はつかめたと思います。 今回はより深い技術的な部分まで深められる参考書を紹介していきます。 Bitcoin und Cryptocurrency technologies Arvind Narayanan 英語ですが大変よくまとまっております。前回紹介した仮想通貨の教科書の原著です 。特にトランザクションのシステム解説に関しては日本語のものより詳しく原理的に 書かれております。傾向としてエンジニア向けの参考書は英語のものの方が詳しく 書かれており、ま…
初心者向け 1から始めるethereumへの参入 2017年はブロックチェーン元年などと呼ばれました。 昨今ブロックチェーンが注目を浴びる中ブロックチェーン上で機能するプログラムである スマートコントラクトも徐々に実用化に近づきつつあります。 ここではこれからEthereumについての勉強をしたい方や分散型アプリケーションを 開発したい方に向けて1からおすすめの勉強法を解説していこうと思います。 1 ブロックチェーン技術について まずはブロックチェーン技術とは何か、を考えていきましょう。おすすめの書籍です。 よくまとまっているため読み切ればブロックチェーン技術の概要、 その歴史はおおよそつかむ…
Solidity つまづきやすいコード解説 今回は自分が昔書籍などを読みサンプルコードを実行しようとした際につまづいたところを解説していこうと思います。多くのEthereum解説の書籍でのサンプルコードはいまだに コンパイラーのバージョンが0.5.0以下である場合があります。 現在バージョン0.5.12ですが0.5.0以降では大幅なアップデートがあり以前の記述方法では エラーをはいてしまいます。ここでは旧コンパイラからの変更点を最新版(2019.10現在)の ドキュメントを基に初心者の方向けに解説していきます。 ドキュメントurl https://solidity.readthedocs.io…
ブロックチェーン技術に関する技術書による理解を通じアウトプットに つなげられれば良いかと思います。多くの誤情報が含まれる可能性があります。 ぜひご指摘いただきたいです。 ここでは昨今注目を受けつつあるブロックチェーン技術について初学者の方へ わかりやすい解説をしていければと思っています。 またdappを開発中なのでその経過、及びつまづきやすいところの解説や solidityの解説を初心者向けにやさしく解説していきます。
「ブログリーダー」を活用して、soliditystgさんをフォローしませんか?