ikibenTweetPocket「ブロックチェーン入門講座」で取り上げるトピックについて、ほんの一部分を簡単にまとめました。スマートコントラクトの実装を本気で考えている方は。ここで予習しておきましょう。ブロックチェーン関連の市場規模は67兆円に。実際にスマートコントラクトを実装してみました。AIエンジニア養成コースはこちらブロックチェーン関連の市場規模は67兆円に。「正しい記録しかできない、変更できない、削除できない、改ざんできない、壊れても自動修復される、落ちない、みんなに合意された情報だけが有効とされる、ネットワーク共有型のデータベース」です。ブロックチェーンの利用用途として、1.地域通貨のような「価値の流通」2.電子カルテのような権利証明行為の非中央集権化3.C2Cオークションのような高効率シェアリング4.ダイヤモンドトラッキングのようなオープンなサプライチェーン5.プロセス・取引の全自動化・効率化などがあげられます。仕組みは持っていません。かわりに公開鍵暗号の鍵に対応する「ウォレットアドレス」と呼ばれる仕組みがあります。取引データは公開されますが、これを自由に操作するには、宛先に指定されたウォレットアドレスに対応する秘密鍵を持っている人だけになります。ウォレットアドレスはどこにも登録しないで使えますし、いくらでも作ることができます。公開鍵暗号に基づいているので手元のパソコンに計算させて「秘密鍵と公開鍵のペア」さえ作ればできてしまう。「作られたウォレットアドレスは自分の個人情報とはいっさいリンクしない」ので既存の銀行口座とは決定的に違う点で匿名性が高いと理由とされます。パブリックチェーンとプライベートチェーンパブリックチェーンとプライベートチェーンの違いは「ネットワークに参加しているノードの総数が把握できるかどうか」です。パブリックは誰でも参加可能であるが、プライベートは参加に承認が必要など、参加者が限られます。この2つでは、「トランザクションを記録する際のアルゴリズム(合意形成アルゴリズム)」で大きな違いがあります。パブリックチェーンの代表はビットコインです。最初のパブリックチェーンであるビットコインでは、ノードを運用してくれる人(一般に「マイナー」と呼ばれる)に対して、運用報酬として仮想通貨を直接与える仕組みになっており、正しい選択をする方が経済的に得をするようになっています。ノードが増えれば増えるほど、システム停止の可能性が低くなり、不正や改ざんに対して強くなります。ブロックチェーンのメリットとデメリットブロックチェーンは、システムが壊されることなく永続的に稼働し続けられ、一度書き込まれたデータをあとから改ざんすることが不可能で、サービス事業者システム管理者ですら、データの改ざんはもちろん、変更もできません。商取引を記録する用途には向くが、個人情報などを蓄積する用途にはむかないと言えます。一方で、利用者は、事業者の信用に依存せず、安心してサービスの利用ができます。ブロックチェーンは、数学的な理論や情報技術を組み合わせることで、お互いが信用できない者どうしの取引であっても、不正があることを心配すること無く安心して行える。これを「トラストレス」と呼びます。中古車の販売、貴金属の売買、アドネットワークなどで活用されています。ブロックチェーンを使いこなすためには、その特性を知り、一般的なデータベースや分散ストレージなどの外部システムと連携しながら利用する必要があります。・これらを組み合わせた、20世紀半ばに登場した機械式の「エニグマ暗号」などがありました。「秘密の作り方」(暗号化)と「秘密の解き方」(復号化)について、それぞれの手法と「秘密を解く鍵」がセットになっているのが一般的です。数学理論をベースとした現代の暗号の方式は、大きくわけて、共通鍵暗号方式と公開鍵暗号方式にわかれます。ブロックチェーンの実装によく使われているのは「公開鍵暗号(RSA」です。鍵の長さが他の公開鍵暗号と比べても短くて済む「楕円曲線暗号(ECDSA)」がよく使われています。公開鍵暗号は、「特定の人を指名して、その人だけが所定の操作を可能とする」仕組みを作ることに適しています。ブロックチェーンでの応用でいえば、「あるコインを特定の人に送付して、その人だけが使えるようにする」するために利用されているのが公開鍵暗号の仕組みになります。ハッシュ関数ブロックチェーン技術を語るうえで、もっとも重要な技術が「一方向ハッシュ関数」です。ハッシュ関数は「任意の入力値を与えた場合に、どんな値が返ってくるのかが、予測できない」という特徴を持ちます。ブロックチェーン関連のプロジェクトでもっともポピュラーなのは「SHA256」と呼ばれるアルゴリズムを利用したハッシュ関数です。SHA256の特徴は・1バイトでも、1ビットでも、違う値が入力されると全く関連性のない値が得られる。・それは誰が実行しても同じ値が得られる。・長さの異なる文字列を与えても、常に一定の桁数となる。・SHA2-256というハッシュ関数の場合、データ量に関わらず16進数表記で64桁と固定されている。・衝突確率は、SHA2-256は、2の256乗分の1(天文学的数字)・旧バージョンのSHA1の衝突の発見はGoogleが見つけ計算回数は900京回以上、一般的なCPUで6500年、GPUを使っても110年かかるとレポートされている。・SHA3-256というさらに強度が高いアルゴリズムもブロックチェーンに実装され始めている。署名者があるグループの構成員のうちの1人であることを証明することはできるが、誰によるものかはわからない、という特徴を持つ技術です。この技術は匿名通貨に応用されておりますが、マネーロンダリング利用が懸念とされています。「秘匿計算」と呼ばれる技術があります。ブロックチェーン関連では「エニグマ」と呼ばれる、取引データを暗号化したまま、スマートコントラクトを実現して契約を自動履行させるプロジェクトが開始されています。秘匿計算(秘匿検索)の分野では日本国内の研究が世界でも先行しています。ビットコインでもスケーラビリティの問題解決でシュノア署名の採用が行われる予定。数ある電子署名方法のなかでももっともコンパクトで、複数の署名を1つに統合できます。複数人の署名が必要となるマルチシグネチャ方針を用いる取引では威力を発揮し、データ量を大幅に削減することができます。使って当事者間で決済できます。P2P分散システムとは?ブロックチェーンは、P2P分散ネットワーク上の分散システムをとっています。障害規模が大きくなればなるほど耐障害性に優れていくのが特徴です。ちなみにBitCoinの世界中のノードは7500~8000台のノードが稼働しており、システム停止は一度もありません。(※遅延は発生しています)P2Pのメリットとして、事故でシステム全体が止まるリスクがきわめて少なく、長期的に安定稼働でき、どこかのノードが壊れたくらいでは影響がないことに対して、P2Pのデメリットとして、科学計算のクラスタリングのような「ノードを増やせば増やすほど性能が上がる」用途には不向き、ノードが増えれば増えるほど、「バケツリレー」の量が増えパフォーマンスが悪くなる、システムを止めたくても気軽に止められないため、悪い情報が流れると削除できない点があげられます。合意形成とは?ブロックチェーンでは、全ノードが同じ計算を行います。各ノードの計算処理が終わったら確認(合意)を行う必要があります。止がいつどこで起こるか分からないため、多数決に必要なノード総数が把握できません。プライベートなブロックチェーンでは、リーダーを決めて合意を行うパターンが合理的ですが、パブリックブロックチェーンでは、リーダーが不要の合意形成が必要で、全体を合意する術として「経済的なインセンティブ」を与える方法が発明されました。「ナンス」と呼ばれる適当な数字を入れながら、そのブロックのハッシュ値の先頭に所定の数だけ「0」が並ぶのを発見するまで計算しつつける。ノードは「コインの新規発行」が認められるという仕組みになっており、鉱山からコインを掘り当てているように見えるため、別名「マイニング」とも呼ばれています。Workはコンピューターリソースと電力消費の面から、エコロジーではないという大きな問題があります。合意形成時に経済合理性による判断を行う。Stakeのインセンティブ方式では、コインエイジ(=コインの保有量×コインの保有量)が大きくなる採掘権を提供する者ほど、採掘に掛かる難易度が低くなる方式で、採掘速度を速くしてエネルギー消費量を減らせる措置が講じられています。ウォレットの仕組みウォレットアドレスには「秘密鍵」と「公開鍵」があります。公開鍵のウォレットアドレスは「お金を受け取るためのアドレス」「お金の送り先のアドレス」です。それに対して、秘密鍵のアドレスは取引に署名するためのウォレットアドレスで、外部に漏れてはいけないアドレスです。ウォレットアドレスはオフラインで生成可能です。256ビット分の情報量を持った乱数を生成し、それに対して、秘密鍵と公開鍵のキーペアが生成されます。ビットコインの場合、そのウォレットアドレスは「1」ではじまる27~34文字の英数字でなりたっており、Base58という方式でエンコードされています。ブロックチェーンの世界では「トランザクション」は「取引」を意味します。取引の際、帳簿の連続性を保つために、コイン総数から送金分を引いたコインを自分宛に送っています。トランザクションが扱える取引は「送金」だけではありません。お金の取引をせずに、何らかの短いメッセージを記録するということも可能です。これを利用したのが、ビットコインの拡張領域を利用した派生コインで、「カラードコイン」と呼ばれ、80バイト程度のメッセージをトランザクションに付与可能、「NEM」などの仮想通貨で利用されています。Output)と呼びます。スマートコントラクトとは1997年にニック・スザボが提唱した言葉で、自動的に契約を履行する仕組みをスマートコントラクトといいます。自動的に成立するトランザクション」と捉えています。Cordaなどがあります。CordaではKotlin(Javaから派生)が利用されます。組織運営をスマートコントラクトに任せるという発想があります。Organization)は自立分散型組織。Law(コードは法)という考え方が根底にあります。外部からブロックチェーンに取り込んだ情報は、ワールドステート(世界の状態)として、神のお告げ(神託)のようにみんなで信じることにする。この考えを「オラクル」といいます。Offering)は、企業や事業が仮想通貨やトークンを発行し資金調達する手法です。下記の4パターンが考えられます。スマートコントラクトを実装してみました。実装編では、自分のパソコンにGethをインストールして、プライベートブロックチェーンを作成し、イーサリアムをマイニングしてみました。ブラウザでSolidityを実行できる環境「Remix」とGethとの接続をしてみました。ブロックチェーン入門講座では、オレオレトークンの発行まで体験することができます。【ARアプリ開発者必見!!】人気ARアプリをまとめてみたら未来のヒットアプリが見えてきた。プレゼンの極意とは、相手を自発的に自分の意図したとおりに動かすこと。ジョブズの極意】相手を尊重し、相手を導くこと。【ARアプリ開発者必見!!】人気ARアプリをまとめてみたら未来のヒットアプリが見えてきた。【売上ゼロでも1000億円】インスタグラムの創業者が発明した5つの芸術的戦略。949ビューディープラーニングの求人票から仕事内容・年収をまとめてみました。MiruconClose。