Shifter+WordProofで静的サイトにコンテンツ保護をプラスしよう

この投稿は、Shifter Advent Calendar 2019 9 日目の記事です。

Shifterを使って WordPressサイトを静的化しつつ、記事のタイムスタンプをブロックチェーンに記録して、コンテンツのオリジナリティを証明しましょう」というお話です。WordPressの文脈からはあまり聞こえることがないブロックチェーンというワードですが、この記事を通して WordPressとブロックチェーンがどのように関わるのか。そして、Shifter と組み合わせたときにどんなシナジーが生まれるのかについて、お話したいと思います。

WordProof Timestamp

WordProof Timestamp は WordPressのポストのメタデータ(作成日時、更新日時、タイトル、記事IDなど)を ブロックチェーンに記録する WordPress プラグインです。現在 Versionは、2.3.3 となっています。WordProofは、WORD というトークンを使って、タイムスタンプをブロックチェーンに書き込みます。ユーザーはWORDをWordProofから購入し、タイムスタンプを記録するごとに消費していくことになります。

WordProof には、「Automatic」モードと、「Manual」モードがあります。「Automatic」モードは、WordProofのSaaSにサインアップしてAPIキーを発行し、このAPIキーを利用してブロックチェーンに記事のタイムスタンプを書きみます。WordProof のSaaSがタイムスタンプする作業を代替してくれるイメージです。これに対して、「Manual」モードは、ブロックチェーンネットワークへのアカウント登録、トークンを管理する「ウォレット」の設定を自分で行います。「Manual」モードの場合は、最初の10WORD発行されて、毎日10WORD補充されていきますので、あまり頻繁に更新されないサイトであれば、実質無料で利用できます。

執筆時点(2019年12月8日) で Shifter に対応しているのは「Manual」モードのみです。本記事でもこの Manualモードを前提に話を進めます。

セットアップ

Shifter ダッシュボードから WordPressを起動して、先ほどの WordProof Timestamp をインストールします。Manual モードのタブで、利用するブロックチェーンネットワークを選択して、「Launch the Setup Wizard」をクリックして、ウィザードにしたがってセットアップを進めます。進めていく中で、ブロックチェーンネットワークへのアカウント作成と、ウォレットの作成が要求されます。

いきなり本番用のブロックチェーンに記録したくない場合は、テスト用のブロックチェーンネットワークが用意されています。「Show advanced settings」をクリックして、「EOS Jungle Testnet」を選びます。

セットアップが完了したら、次は、Shifterで行うPublishingの設定を行います。WordProof ー> General Settings の 「Custom Domain」に 当該サイトにアタッチしているドメインを入力します。

Timestampを記録してみる

セットアップが完了すると、記事編集画面の右ペインにWordProofのメニューが表示されています。

Timestampを押してみます。

ウォレットアプリがタイムスタンプを記録していいか聞いてきます。OKでしたら、「Allow」します。表示される画面には、編集中のWordPress(ShifterはWordPressを起動する度にURLが変わります) のURLが表示されています。これは、先ほどWordProofに設定したCustom Domainにより、Generateする際に書き換わるので無視します。

ブロックチェーンネットワークへの記録が受理されました。

書き出してみる

それでは、Shifter で静的サイトに書き出してみましょう。Timestampが記録されているページには以下のようなアイコンと証明書へのリンクが表示されています。そして、リンクをクリックするとブロックチェーンへの記録が確認できます。

実際のページはこちら

タイムスタンプを確認してみる

以下は先ほど説明した証明書へのリンクをクリックしたときに表示されるダイアログです。

1.「View the input of this timestamp」をクリックします。

2. 「View on Blockchain」をクリックします。

3. ブロックチェーン上の記録が確認できます。hash: に表示されている値をコピーします。

4. Step2の画面に戻り、「Timestamp check」をクリックするとチェックするためのダイアログが表示されます。

Step3でコピーしたHash値を「Blockchain Hash」に、Step2の左側ペインに表示されたコンテンツを「Row Content」に貼り付けて、「Generate Hash」をクリックします。

「The hash you put in and the generated hash are identical.」

が表示されれば、記事が保護されていることが確認できます。

Shifter で WordProofを使うことのシナジーについて

さて、ここまでで、ShifterでWordProof Timestamp の使いかたについて説明してきました。Shifterを使えば、サイトが攻撃されるリスクを低減(というかほぼできないといってもよい)され、WordPressのアップデートにナーバスになることもなくなります。そして、運用コストは大きく低減させることができるでしょう。これらのメリットを享受しつつ、コンテンツのオリジナリティが保証できるならば、Shifterでセキュアにサイトを運用しつつ、そのコンテンツ自体の転載されるリスクも低減できることになります。これらは、特に著作者の権利を証明する上で、個人、中小規模のコンテンツプロバイダー、またすでに多くのコンテンツを抱えるPublisherにいたるまで、幅広く適用可能な組み合わせであるように思います。

終わりに

先ほどWordProofの使いかたを説明している画面の中に、小さく ”GetShifter.io” と表示されていたのにお気づきでしょうか? 実は、WordProofとShifterはこのプラグインを通してコラボレーションしています。Custom Domain の機能はShifterからのリクエストであり、ShifterとWordProofが協調して実現した機能です。そして、11月に行われた、WCUS、WCTokyoのShifter ブースでは、WordProofのステッカーも置いてありました。個人的に、Asia、US圏のWordCampで、日本とEUの企業が協調した企画というのはとてもセンセーショナルだった気がしています。

Shifter ブログ The Future of Security is on the Blockchain with WordProof

今もコラボレーションは続いています。続報期待しましょう。

それでは。