仮想通貨とフィンテックスマートフォン用の表示で見る仮想通貨とフィンテック金融系SEによる、ブロックチェーン、仮想通貨、フィンテックなどのブログ。この広告は、90日以上更新していないブログに表示しています。2016/7/27の記事の和訳です。前の記事ですが、Liskの概要がわかります。BlogLiskのローンチから、何が本当なのか、将来何ができるようになるのか、大きな混乱を招いています。これは私たちにも非があります。ICO中は他の仮想通貨コミュニティで宣伝をしていましたが、まだホワイトペーパーを公開していなかったからです。今回の投稿でその誤解を解消し、Liskとは何か、そして何ではないのかを簡単に説明します。準備は整っている誤解Liskを取り巻くさまざまな誤解やうわさ、間違った認識があります。顕著なものについて明らかにしましょう。LiskはEthereumのフォークだ!違います!LiskのコードベースはCryptiプロジェクトからフォークされました。私とオリバーはLiskの開発を開始する18ヶ月前からそのメンバーでした。約2年前、Cryptiはブロックチェーンアプリケーションプラットフォームを開発するために750BTCを調達し、開発へ向け良いスタートを切りました。アイデアを存分に生かし最終的な目標に到達するためには、十分に管理していても資金が純粋に足りませんでした。オリバーと私はその可能性を見出し、Cryptiホルダーに出口を与え、それにふさわしい分散型ブロックチェーンアプリケーションプラットフォームを世界へ発信するために、Cryptiを引き継ぐことを決めました。LiskがEthereumと異なるより詳しい理由については後述します。javascriptは動的型付け言語で、静的型付のCなどと比べるとバグを産みやすいと考える人もいる)。確かに使用されるプログラミング言語は重要ですが、結局は安全なコードを書くことが開発者の最も重要な義務です。開発者が粗悪なコードを生まないように、強く型付けされた他の言語を開発に使うこともできますが、それは他の重要なトレードオフを提供してくれるということにはなりません。JavaScriptを選んだのは、文字通りどこでも動いていて、非常に一般的で普及しており、GoogleやMicrosoftのような大企業が様々なデバイスを対象に実行速度やセキュリティについての取り組みをしているからです。開発基盤と利用しやすさが益々高まっていることが、JavaScript採用の大きな要因です。32ビットを超える数の精度に関するJavaScriptの既知の制限に関しては、BigNumber.js(任意精度の10進数と非10進数の計算用ライブラリ)をコード全体で使用することで回避しました。ブロックチェーンアプリケーションの開発者は、それについてはAPIで隠蔽されていますが、必要な場合はLiskコアで使用されているものと同じライブラリを利用できます。したがって、この制限は問題になりません。コードベースをさらに強化するために、動的型付けに関連する問題を軽減する方法として静的型付けなJavaScriptのスーパーセットであるTypeScriptへの移行を計画しています。++で実装することを検討しています。まとめると、JavaScriptの使用に伴う問題を解決することについては、あらゆるオプションを活用しています。Liskはあらゆるブロックチェーンプロジェクトのライバルだ!違います!実際、Liskのサイドチェーンになんでも実装できることは事実ですが、ブロックチェーンという領域には、同じ問題を解決するための複数のプロジェクトが共存しうると考えています。分散ストレージは、スタンドアロンのブロックチェーンまたはLiskで実行できます。匿名トランザクションは、スタンドアロンのブロックチェーンまたはLiskで実行できます。ソーシャル・ブログシステムは、独立したブロックチェーンまたはLiskで実行できます。重要なのは、Liskブロックチェーンアプリでこれらのサービスが必要な場合、すべてを再実装する必要はないということです。サードパーティの機能を、Liskブロックチェーンアプリ内から活用できます。Liskとは何か分散ネットワークLiskは、Bitcoin、Nxt、BitSharesなどと同様の分散ネットワークです。Stakeを利用していません。Stakeを使用しています。LSK所有者は、ネットワークの処理をしているメインチェーンのデリゲータに投票(vote)することができます。アクティブなメインチェーン・デリゲータは投票で選ばれた101人で、彼らだけがブロック生成の報酬を得ることができます。アクティブなデリゲータになることには経済的なインセンティブがあります。他のすべてのデリゲータは、101人に選ばれるのを待つか、もしくはリスクのサイドチェーンを処理します。仮想通貨Liskは仮想通貨であり、トークンはLSKと呼ばれます。あるアカウントから別のアカウントにLSKを送信するには10秒かかり、約1~2分後にトランザクションが成立したみなすことができます。SDKは、独自に構築したサイドチェーンの上にブロックチェーンアプリケーションを開発するためのフレームワークです。すべてがJavaScriptで書かれています。ストレージプラットフォーム、契約実行プラットフォーム、経済、オンラインショップ、IoTアプリケーションなどを独自のブロックチェーンに配置できます。それらは完全に分散化され、複雑なコンセンサスプロトコルやP2Pネットワーキングアルゴリズムのことを考える必要はありません。SDKを使用してサイドチェーンをLiskにデプロイできることを述べました。サイドチェーンは、メインチェーンや他のサイドチェーンによる影響のない、完全にカスタマイズ可能なブロックチェーンです。すべての仕様、パラメータ、およびトランザクションタイプは、実装したいブロックチェーンアプリケーションに合わせて変更することができます。ブロックチェーン上での迷惑行為を防止するために、ブロックチェーン上にデータを保存するためには幾らかのトークンを必要とします(たとえば、トランザクションを送信するための手数料)。Liskのサイドチェーンでは、メインチェーンのLSKトークンを使用するか、まったく新しいカスタムトークンを使用できます。サイドチェーン内でメインチェーンのLSKトークンを使用する場合は、制限がひとつあります。異なるブロックチェーン間でトークンを転送することはできない、ということです。サイドチェーンは全く新しい独立したブロックチェーンであることを覚えておいてください。LitecoinをBitcoinネットワークに送信することはできません。そのため、LSKトークンをメインチェーンからサイドチェーンに転送するための特別なトランザクションがあります。実際には、LSKトークンは決してメインチェーンを離れることはありません。LSKはサイドチェーン管理者のLiskアカウント(メインチェーン上の)に転送されます。同時に、同じ数のLSKトークンがサイドチェーンに複製され、通常どおり使用することができます。サイドチェーンまたはブロックチェーンアプリケーションが壊れてしまっても、すべてのLSKトークンは安全で、サイドチェーンの管理者が簡単に取り戻すことができます。これは、サイドチェーンの管理者を信頼する必要があることを意味します。これは、スタートアップや評判の高い個人が管理者の場合のみに使える考え方で、全てのブロックチェーンアプリケーションに当てはまるわけではありません。真にトラストレスなアプリケーションを開発したい場合、つまりユーザーのLSKトークンを保持したくない場合は、サイドチェーン上に独自のカスタムトークン(または複数のトークン)を発行して、新しい仮想通貨として使用することができます。それらをICOで配布したり、取引所で販売することができます。このようにして、ユーザーはあなたのブロックチェーンアプリケーションの中でトラストレスにトークンを使用することができます。LSKとカスタムトークンを簡単に換金するためには、ブロックチェーンアプリケーション内にミニ換金システムを実装してもよいでしょう。Liskのサイドチェーンまたはブロックチェーンアプリケーションでバグが発見されハードフォークが必要な場合は、サイドチェーンだけをハードフォークする必要があります。メインチェーンは完全に無傷で不変です。パブリック、プライベート、そしてコンソーシアムなブロックチェーンに関する議論は進行中です。Liskを使えば、あなたが必要としているものは何でも作ることができます。スタートアップや開発者をに興味を持ってもらうために、私たちはパブリックコンソーシアムのブロックチェーンに主眼を置いています。これは、アプリケーションのオーナーまたはユーザーにより、公開市場から選ばれたデリゲータが処理をする、組合化されたブロックチェーンを意味します。Liskデリゲートマーケットプレイスの詳細については後述します。ブロックチェーンアプリケーションプラットフォームサイドチェーンはつまるところ、価値を持つトークン、不変なデータ、および分散型ネットワークを提供できる、ブロックチェーンアプリケーションにおける分散型データベースに過ぎません。私たちのユーザーにとって最も興味深いのは、ブロックチェーンアプリケーションプラットフォームです。SDKはサイドチェーンの実装を可能にするだけでなく、ブロックチェーンアプリケーションを開発するために必要なすべてのツールも提供します。ブロックチェーンアプリケーションは、トラストレスに実行される分散化されたスクリプトというだけではありません。それよりもはるかに強力です。基本的に4つの部分で構成されています。コンセンサスアルゴリズム(例:DPoS)サイドチェーン(改ざん不可なデータベースとして)バックエンド(アプリケーションロジック)フロントエンド(アプリケーションUI)ブロックチェーンアプリケーションは、独自のコンセンサスアルゴリズム(デフォルトではDPoS)、ブロックチェーン、オプションのカスタムトークン、バックエンド、およびフロントエンドを備えた完全なアプリケーションです。LSKトークンを使用してLiskの既存のエコシステムに接続し、他のブロックチェーンアプリケーションやサービスを活用し、サイドチェーンデリゲータを集め、既存のユーザ基盤に対してアプリケーションを始めることもできます。SDKを使えば、アプリケーションのバックエンド(つまり機能)を開発できるだけでなく、フロントエンド(つまりユーザーインターフェイス)も開発できるということが重要です。1つの便利なパッケージをダウンロードすれば完全なブロックチェーンアプリケーションを簡単に作成できます。この場合、フロントエンドには分散型の方法でアクセスすることもできます。これは現在、ブロックチェーン業界内のユニークな機能です。コードがブロックチェーンに格納されていない場合、分散アプリケーションではないとする言説をよく耳にしますが、区別をする必要があります。アプリケーション自体はBitcoinクライアントまたはTorrentクライアントと同じようにコンピュータ上で実行されています。ダウンロードする必要があります。アプリケーションを実行しているときは、次のユーザーがいます。何人かは新しいブロックを生成するための特別な許可を持っており、これによってネットワークが処理されます(=デリゲータ)。他の人々は単にアプリケーションを使用しています(=ユーザ)。このとき、ブロックチェーンアプリケーションとサイドチェーンは複数のデバイスによって処理されている、つまり分散されているため、これは分散アプリケーションです。ブロックチェーンサービスプラットフォームブロックチェーンサービスは、ブロックチェーンアプリケーションのサブカテゴリです。ある特定の目的を実現できるという意味で、単一目的のアプリケーションに似ています。blockchainサービスの素晴らしい点は、Liskのメインチェーンとエコシステムにすべて接続されていることです。それらはすべてLiskのサイドチェーンで動作しているからです。そのようなサービスが存在すると、他のすべてのブロックチェーンアプリケーション開発者はそれを活用することができます。SNSを開発してユーザーイメージを保存したい場合にブロックチェーンサービスに接続することで実現できます(StorJのようなサードパーティの分散型ホスティングサービスへのブリッジを作成するという方法もあります)。これは、Liskブロックチェーンのアプリケーションがより複雑で機能豊富になると、Liskアプリのエコシステム全体が成長することを意味します。それは、より多くの能力を得るために、より多くの神経接続を作り出す脳のようなものです。これらのブロックチェーンサービスは全て、LSKトークンとユーザを含むLiskのエコシステムに帰属するため、Liskに対する需要を喚起できると考えています。加えて、ブロックチェーンサービスは全て独立していて、障害があったとしてもそのサービスだけの障害になります。メインチェーンに残る影響は、サイドチェーンに関する小さなエントリだけです。一つの強力な要素は、オープンソースとしての性格です。JavaScriptコードを隠す方法はありますが、信頼を得るためにそうはしない人たちが多数派だと予測しています。誰かがブロックチェーンのアプリケーションやサービスにクールな機能を追加するたびに、他の人がそれをコピーして強化し、それを自分のブロックチェーンのアプリケーションやサービスに使うすることができます。オープンソースには次のような利点があります:LiskでSolidityのスマートコントラクトを実行するのに必要なライブラリは今のところ用意していませんが、EVM(訳注・Ethereumのスマートコントラクトが稼働するVM)をLiskのサイドチェーンに統合することは可能です。誰かがこれを実装すれば、誰もがそのソースコードを利用でき、サイドチェーン内でスマートコントラクトを実行することも、スマートコントラクトをサービスとして実行することもできます。その時、開発者はもうEthereumネットワークに接続する必要はありません。Workコンセンサスアルゴリズムを誰かが開発すれば、誰でも利用することができます。政治的または経済的理由でプロジェクトが失敗した場合、誰かがコードを使用してブロックチェーンアプリケーションを再度展開することができます。彼はサイドチェーンを作り直すかもしれませんが、今までのユーザーを新しいサイドチェーンに連れて行くこともできます。StoreとGoogleのPlayストアを利用しています。集中化されたアプリケーションのために企業が運営している集中型のソリューションです。Liskでは、ネットワーク、エコシステム、SDKだけではなく、すべての人がアクセスできる分散型アプリケーションのディレクトリをLiskクライアント内に用意しています。Liskプラットフォーム上に構築されたすべてのブロックチェーンアプリケーションとサービスはLiskメインチェーンに登録する必要があります。これによりメインチェーンとサイドチェーンの接続が作成されます(サイドチェーン用にLSKを複製するために使用します)。アプリケーションディレクトリには、すべてのブロックチェーンアプリケーションとサービスがあります。登録時に、開発者は一意なブロックチェーンアプリケーション名、説明、カテゴリ、アイコン、タグ、およびダウンロードリンクを設定できます。これにより、分散型でプラットフォームに依存しないブロックチェーンアプリケーション用の代替アプリストアを提供します。非中央集権でパブリックなデリゲート・マーケットプレイスLiskデリゲートマーケットプレイスは、ブロックチェーンアプリケーション開発者とサイドチェーンのデリゲータをつなぐ方法です。すべてのサイドチェーンは独立したブロックチェーンなので、それを処理するための独自のノードが必要です。ブロックチェーンのアプリケーション開発者がデフォルトのコンセンサスアルゴリズム以外(PoSやPoWなど)を使用している場合、サイドチェーンのマイナー/フォージャーについては開発者自身でサポートする必要があり、いくつかのユースケースでは有効な方法でしょう。デフォルトのコンセンサスアルゴリズム(DPoS)を使用している場合は、デリゲート・マーケットプレイスからデリゲートを月額料金で借りることができます。この種のデリゲート・マーケットプレイスはDPoSでしか動作しません。Liskでは、他のプラットフォームよりも多くのことを行うことができます。Bitcoin(またはIPFS、Ethereumなど)のようなサードパーティのサポートたとえば、ユーザーのBitcoinでの購買記録をサイドチェーンに保存するブロックチェーンアプリケーションがあるとします。Bitcoinトランザクションはどのように取得したらいいでしょうか?オラクル(訳注・RDBMSのOracleのこと?)はとても遅く、ブロックチェーンエクスプローラは集中管理されています。ブロックチェーンアプリケーションとともにBitcoinクライアントをローカルで実行してAPIにアクセスし、必要なすべてのデータを都度取得する必要があります。インスタンスを起動しているサイドチェーンデリゲートとして自身をプロモートする必要があることを意味します。これはデリゲートがデリゲートマーケットプレイス内に持つ属性の1つになります。他の集中化・分散化されたサードパーティのソフトウェアについても同様です。一部のブロックチェーンアプリケーションは、ある国では合法であり、別の国では違法なことがあります。ブロックチェーンアプリケーションによるスタートアップにとっては非常に深刻な問題であり、100%合法に提供したいと考えています。サイドチェーンはそのアプリケーションが合法な地域のノードによって処理される必要があります。ノードの所属している国は、デリゲートがデリゲート・マーケットプレイス内に持つもうひとつの属性です。5(訳注・安価で買えるカードサイズのコンピュータ)で50のニッチなブロックチェーンアプリケーションを担当し、2年間毎月50ドルの収入を得るとしましょう。多くの人にとってはあまり魅力的でないかもしれませんが、世界の大部分では、これは1ヶ月間生活するのに十分なお金です。世界は日々つながりを増し、インターネットのアクセシビリティも向上しています。このシナリオはフィクションではなく、非常に現実的です。すべてのブロックチェーンアプリケーションとサービスのための軽量なクライアントフェデレーションされたサイドチェーンのおかげで、コードを更新するのはとても簡単です。重要なのは、ブロックチェーンアプリケーションまたはサービス用の軽量なクライアントを開発することも非常に簡単であるということです。私たちは、モバイルデバイスは未来のコンピュータになると予測して(あるいは既になって)います。モバイルデバイス上でブロックチェーンの同期を取りたいと考えている人はいません。インストールプロセスなしで、アプリケーションをディレクトリでただクリックするだけで、ユーザーがブロックチェーンアプリケーションにアクセスできるようにする必要があります。これは、サイドチェーンデリゲートから(フロントエンドとバックエンドを含む)アプリケーション全体をクライアントに受信するという非中央集権的な方法で実現できます。Liskは何"ではない"のかスマートコントラクトプラットフォーム上記の説明で、LiskがSolidityコントラクトを実行するEVMのフォークではないということを理解していただければ幸いです。Liskのブロックチェーンアプリケーションは、その機能をバックエンドに直接統合しています。Liskのブロックチェーンアプリケーションでのいくつかの実装例を挙げます。APIに完全に任せることができます。ユーザーのLiskパスフレーズは常に同じブロックチェーンアプリケーションアカウントに変換されます。セキュリティ上の理由から、メインチェーンにセカンドパスフレーズを設定し、このセカンドパスフレーズをサイドチェーンに入力しないことをユーザーに推奨します。→ユーザーが自分自身を認証する必要のあるアプリケーションを構築できます。これはあらゆる種類のアプリケーションにとって重要です。必要な長さのテキストを投稿できる新しいトランザクションタイプを追加する必要があります。このトランザクションの開始と、サイドチェーンからのトランザクションの取得についての、2つのAPIコールを追加する必要があります。→これで、あなたは分散型メッセージングサービス、ソーシャルネットワーク、またはブログシステムを構築できるようになりました。個々のユーザーのステークに依存する投票システムを開発することもできます。フラグの設定これについても、trueまたはfalseのブール値を設定できる新しいトランザクションタイプを追加するだけです。→これで、分散型IoTアプリケーションを構築できるようになりました。これにより、シンプルなトランザクションでガジェットを安全に(しかも認証付きで)オンにすることができます。乱数の生成Liskブロックチェーンアプリケーション内のすべての計算は決定論的である必要があります。ブロックチェーンアプリケーションコードを実行するすべてのノードが同じ実行結果を出力する必要があります。JavaScriptのrandom()を使用することはできないため、他のメソッドに頼らざるを得ません。1つの方法は、次の10ブロックのIDをシードに乱数を計算することです。複数のユーザーがいるようなシステムの場合は、それぞれのユーザが何らかの数を通知して、それらの数をもとに乱数を計算することもできます。→乱数を必要とするゲーム、例えばスロットマシンを構築することができます。Bitcoinスタートアップ私たちはブロックチェーンのスタートアップであり、さらに重要なのはBitcoinから独立したネットワークであることです。独自の暗号化機能を備えた独自のブロックチェーンで動作し、今後のプラットフォームの進化を完全にコントロールします。私たちの開催するカンファレンスやミーティング、イベントをチェックしていただければ、より明確にご理解いただけるかと思います。多くのユーザーは、私たちに不要なものに資金を費やすよう促したり、莫大な見返りを求めて急かしたりします。私たちはそういうことはしません!私たちは長年に渡って継続的にプラットフォームを構築し、推進することを目的としています。チームが成長し組織が確立されれば、開発スピードは時間の経過とともに加速します。プロモーションは少しずつ進んでおり、マーケティングキャンペーンはプロジェクトが開発段階の間はしっかりしたものを一度やれば十分です。私たちの資金は、最低5年間は十分に持つと考えています。準備は整っているLiskはまだ開発中です。なければICOをやる必要はありませんでした!私たちの大きなビジョンのいくつかの部分を実現するには、数ヶ月、あるいは数年を必要とします。アプリマーケットに革命を起こすまでには一週間とかからないでしょう。・・・Liskフレームワークとそれにより開発者ができるようになることを理解するために一番良い方法は、コードを深く掘り下げて学習することです。私はこのブログ記事が多くの誤解を解き、Liskが本当に何であるか、そしてLiskの目指す先を皆さんにご理解いただけることを願っています。Kordekこの記事は開発初期に書かれたものですが、実装は着々と進んでいるようです。Liskは2018/2/20にリランチイベントを控えています。ジ...1/18投稿のLisk公式ブログの和訳です。月別アーカイブはてなブログをはじめよう!notetoffさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。