タグ

アルゴリズムとエンジニアに関するkenzy_nのブックマーク (2)

  • イメージで理解できる-ゼロ知識証明|es

    暗号通貨でもよく取り上げられる、ゼロ知識証明について、以下の記事が分かりやすかったので、みなさんにも紹介したいと思います。 数式は一切登場しません。イメージで理解でます。 引用元 ゼロ知識証明って?? ゼロ知識証明とは、ある人(証明者)が別のある人(承認者)に対して、与えられた情報が「真実である」ということ以外の情報を相手に与えずに、その情報が実際に「真実」であることを証明する手法のことです。 暗号学で使われている、証明プロトコルの一種なんですが、これだとまだ理解できないですね。 証明とは、ある主張が正しいこと納得させる手段です。そして、証明プロトコルとは主張を納得させたい証明者と、証明の正しさを確かめる検証者が存在し、最終的に検証者を納得させる暗号プロトコルです。※プロトコル:処理手順 具体的に、どういう時に使うのでしょうか? ・Webサービスにログインする時:パワードを入力する代わりに

    イメージで理解できる-ゼロ知識証明|es
  • ブロックチェーンのデータ構造をJavascriptで作ろう|es

    今回はJavascriptで、ブロックチェーンのデータ構造を実装します。ブロックチェーンのデータ構造を実際に作ってみると、その堅牢性が理解できると思います。nonceを求めるマイニング・アルゴリズムも実装します。 なお、P2Pでノード間で同期を取ったり、コンセンサス・アルゴリズムで合意形成を取るところまでは、実装しませんので悪しからず。 ブロックチェーンは「万能薬」でありません。他のプログラムと一緒で、あくまで、アルゴリズムを効率的に実現するデータ構造です。 分散環境下で、セキュアにデータをもつためのデータ構造とも言えます。 つまり、手段です。導入したからといって、問題が自動的に解決したりしません。 それでは早速、作ってみましょう。実際に作業するファイルは2つです。 mkdir project cd project npm init touch blockchan.js touch tes

    ブロックチェーンのデータ構造をJavascriptで作ろう|es
  • 1