【完全版】ゼロからわかるビットコイン原文解説!(第2章)

 

こんにちは!大田です!

今日も引き続き原文解説をして行きたいと思います!

2. Transactions

We define an electronic coin as a chain of digital signatures. Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin. A payee can verify the signatures to verify the chain of ownership. The problem of course is the payee can’t verify that one of the owners did not double-spend the coin. A common solution is to introduce a trusted central authority, or mint, that checks every transaction for double spending. After each transaction, the coin must be returned to the mint to issue a new coin, and only coins issued directly from the mint are trusted not to be double-spent. The problem with this solution is that the fate of the entire money system depends on the company running the mint, with every transaction having to go through them, just like a bank. We need a way for the payee to know that the previous owners did not sign any earlier transactions. For our purposes, the earliest transaction is the one that counts, so we don’t care about later attempts to double-spend. The only way to confirm the absence of a transaction is to be aware of all transactions. In the mint based model, the mint was aware of all transactions and decided which arrived first. To accomplish this without a trusted party, transactions must be publicly announced [1], and we need a system for participants to agree on a single history of the order in which they were received. The payee needs proof that at the time of each transaction, the majority of nodes agreed it was the first received.

今日も一文づつ更新して行きます!

 

We define an electronic coin as a chain of digital signatures

define・・・定義する
electronic coin・・・電子通貨
chain of digital signatures・・・デジタル署名の連鎖

私たちは、ビットコインをデジタル署名の連鎖と定義します!

このデジタル署名の連鎖というのがブロックチェーンのことを指します。

具体的に、どのようなことかということが、これから解説されて行きます!

Each owner transfers the coin to the next by digitally signing a hash of the previous transaction and the public key of the next owner and adding these to the end of the coin.

Each owner・・・各所有者
transfers・・・転送する
digitally ・・・デジタル的に
signing・・・署名する

hash of the previous transaction・・・前の取引のハッシュ値
public key of the next owner・・・次の所有者の公開キー
adding ・・・追加する

まさにここがブロックチェーンのブロックを作っていく作業になります。

まず、これを理解するには公開鍵と秘密鍵について理解する必要があります。

一般的に、受信する人が「公開鍵」「秘密鍵」を持っていて、「公開鍵」は ”誰でも取得できるオープンな鍵”で、「秘密鍵」は ”受信側のみ保持している鍵” となります。

以下、通信の流れになります。

  1. 送信側は、受信側が公開している「公開鍵」を取得します。そして取得した「公開鍵」で、送信するデータを暗号に変えてして送信します
  2. 受信側は、受け取ったデータを「(受信側のみ保持している)秘密鍵」をデータにかけ合わせることで、暗号化されたデータを元の形に戻して、見ることができます。

 

それを踏まえた上でこの画像を見ると理解しやすいと思います。

前の取引のハッシュ値次の所有者の公開キーを前回説明した、ハッシュ関数にかけることでどんどんハッシュ値を作り、ブロックを形成して行きます。

つまり

コインを支払う側は、今までのコインの全ての取引内容をハッシュ化した値と、最新の取引の受取人の公開鍵をハッシュ化した値とを合わせて、電子的に署名していく!

 

A payee can verify the signatures to verify the chain of ownership.

payee・・・受取人
verify・・・確認する
signatures・・・署名
chain  .・・・チェーン
ownership・・・所有権

受取人は秘密キーを持っているので探ろうと思ったら、この取引は誰から来たのかってことをずっと遡っていくことができます。

このように誰もが取引の履歴を見れる仕組みが改ざんされないというブロックチェーンの仕組みなのです!

つまり

受取人は電子署名を検証することにより、そのコインを誰が所有していたかという履歴を辿れる。

 

The problem of course is the payee can’t verify that one of the owners did not double-spend the coin.

double-spend the coin・・・二重使用

これは前回説明した。二重使用問題についてです。

 

しかし、ここで問題となるのは、受取人のビットコインが、過去に多重使用された可能性があることです。

 

 

A common solution is to introduce a trusted central authority, or mint, that checks every transaction for double spending.

solution・・・解決策
introduce・・・紹介する
trusted・・・信頼できる
central authority・・・中央機関
mint・・・造幣局
checks・・・監視
transaction・・・取引

 

この二重使用問題を今まで解決していたのは、中央機関を真ん中に置いて、違反をしないように監視するというすごくシンプルは方法でした。

つまり

一般的な解決法は信用のおける中央機関もしくは造幣局を間に入れ、全取引を監視させることです。

 

 

After each transaction, the coin must be returned to the mint to issue a new coin, and only coins issued directly from the mint are trusted not to be double-spent.

After each transaction・・・取引ごとに
returned ・・・戻す
issued・・・発行する

例えば、JRが発行しているSUICAは1万円をチャージして、1万ポイントを発行してくれます。このようにあ中央機関があってその期間がポイントを発行すれば、二重使用はできないです。

 

取引の度にコインは造幣局に戻され、新しいコインが発行され、造幣局から新しく発行されたこのコインのみが二重使用されていないものとして信用されます。

 

The problem with this solution is that the fate of the entire money system depends on the company running the mint, with every transaction having to go through them, just like a bank. We need a way for the payee to know that the previous owners did not sign any earlier transactions.

fate・・・ 運命
entire ・・・全体
depends on・・・頼る
company running the mint・・・ポイントを発行している会社
go through ・・・通過する
bank・・・銀行
need・・・必要
previous owners・・・今までの所有者
sign・・・署名

これも先ほどのJRの話でいうと、JRが潰れてしまうとSUICAに貯まっていたポイントも無くなってしまう!

ので、その企業がどうなるのかってとこに依存している節はあるよねってことです。

そして、この中央集権なしに二重使用問題をクリアしようとした時に、自分の前の所有者が二重支払がなかったことを知られてくれれば、問題は解決するよね!

てことです。つまり、、

この解決法の問題は、全取引が造幣局を通じて行われるため、銀行と同様に造幣局を運営している企業に、金融システム全ての運命が左右されることです。そこで必要なのは、コインの受取人に今までの所有者らが二重署名していないことを知らせる方法です。

 

For our purposes, the earliest transaction is the one that counts, so we don’t care about later attempts to double-spend.

purposes・・・目的
earliest transaction・・・最初の取引
the one that counts・・・論点
care・・・気にしない
later・・・後の
attempts・・・試み

 

この目的においては、最初の取引だけが論点であるので、後の二重支払いの試みについては関係のないものとします。

 

The only way to confirm the absence of a transaction is to be aware of all transactions.

confirm・・・確かめる
absence of a transaction・・・取引がない
aware・・・承認
transactions.・・・取引

 

取引がなかったことを明確にするには全取引を監視する必要があります。

 

 

In the mint based model, the mint was aware of all transactions and decided which arrived first.

mint based model・・・造幣局モデル
decided ・・・決める
arrived ・・・到着
first・・・最初に

中央集権のモデルでは中央にある、通貨を発行する期間が全ての取引を決定しいたので不正は起らないです。

造幣局モデルの解決方法では、造幣局が全取引を監視し取引の順番を決定していました。

 

 

To accomplish this without a trusted party, transactions must be publicly announced [1], and we need a system for participants to agree on a single history of the order in which they were received.

accomplish・・・達成する
trusted party・・・信頼できる機構
publicly announced・・・公表された
system・・・システム
participants・・・参加者
agree・・・同意
single history・・・単一の履歴
order・・・注文
received.・・・受取った

これはみんなで、確かめればいいじゃないかということです。

中央の人が全てを監視するんじゃんなくて、みんなでお互いに不正をしていないかを確かめる。それには、参加者が受取った取引が全て正しいよねってことに合意できるような仕組みが必要ですよね。

 

これを第三者機関なしに行うには、取引が公開され、参加者たちが受け取った順番の唯一の取引履歴に合意することのできるシステムが必要となります。

 

 

The payee needs proof that at the time of each transaction, the majority of nodes agreed it was the first received.

proof・・・証拠
each transaction・・・
majority・・・大多数
nodes・・・ノード
first received.・・・初めて受取った

なので、ここでは半分以上の人たちが取引を使って問題をといて、その答えが同じだった人の数が大多数(半分以上)になれば、この取引は不正もなく正しい取引だったよね!

ってことでブロックが形成され、取引完了!となります!

受取人は取引毎に、取引が行われた時点で大多数のノードがそのコインが初めて使用されたことに賛同したという証明を必要とします。

 

この次に解決法が述べられます!