ZooBC とは
ZooBC は、独自のコイン ZBC を持つ公開ブロックチェーンです。誰でもアカウントを開き、トランザクションを送り、すべてのブロックを確認するノードを動かすことができます。そのコンセンサスである Proof of Participation にはマイニングがありません。ブロックは抽選で選ばれた登録済みノードが順番に作り、新しいコインはネットワークのためにデータを中継する仕事をするノードに渡ります。
独自のコインを持つ公開チェーン
ZooBC は、他のネットワーク上のトークンではありません。独自のチェーン、独自のノード、そしてトランザクションの手数料、ノードのステーク、レントの支払いに使われる独自のネイティブコイン ZBC を持っています。チェーンを追跡したり確認したりするのに許可は要りません。すべてのブロック、残高、トランザクションは公開されており、どのノードの API も誰にでも答えます(アカウントとアドレス)。
ZooBC のネットワークは devnet、testnet、mainnet の 3 つの別々のものがあります(devnet、testnet、mainnet)。それぞれが独自の ジェネシスブロック から始まり、そのハッシュがチェーンの身元です。
ブロックの作られ方
新しいブロックはおよそ 15 秒ごとに作られます(ブロックと時間)。ブロックはパズルを解いて勝ち取るものではありません。ノードレジストリとその席 はブロックを作ることを許されたノードのオンチェーンの集合で、各ブロックの後、そのブロックのシードによるランダムな抽選が次のブロックを作ってよいノードを指名します(抽選)。どのノードも抽選を再現して同じ答えにたどり着けるため、抽選されていないノードからのブロックは拒否されます。抽選では、アクティブな席はすべて同じ確率を持ちます。ハードウェアも残高もステークもそれを変えません。
Proof of Participation は、ネットワークを生かし続ける仕事、つまりブロックとトランザクションを他のノードに渡すことも計測します。登録済みノードが別の登録済みノードからデータを受け取ると、それに対するレシートに署名し、ノードが提示できるレシートがその 参加スコア を動かします。スコアは、各ブロックの新しいコインと手数料を分配する コインベース抽選 の重みになります。安全性は費やされたエネルギーではなく、Ed25519 署名と SHA3-256 ハッシュに基づいています。
ノードとは
ノードとは、コンピューター上で動く ZooBC のソフトウェアです。チェーンをダウンロードし、すべてのブロックとトランザクションを他のすべてのノードと同じルールで確認し、その結果の状態(残高、トークン、ノードレジストリなど)を保持します。公開の HTTP API(ノード API)と、/wallet で公式ウォレットのページ(ウォレットの入手と安全な保管)を提供します。
ノードは 2 つの段階で参加できます。
- フォロワー。 チェーンを追跡して確認するだけのノードは、誰でも動かせます。オーナーは誰も信頼することなくすべてを検証できますが、ブロックは作りません。
- 生成者。 ノードレジストリに加わったノードはブロックを作ることができます。オーナーは通常のアカウントからノード鍵を登録し、ステークをロックして、ノードの加入が認められるまでキューで待ちます(ノードの登録)。それ以降、ノードはブロックを作るよう抽選され、プロトコルが割り当てたピアにデータを中継し、受け取ったものに対するレシートに署名し、スコアに応じて新しいコインの分配を受けます。
ウォレットはノードではありません。ノードの API と通信するクライアントです。そして、マイニングをする ZooBC のノードはありません。
プロトコルに組み込まれた機能
ZooBC には、ユーザーのコードのための仮想マシンも、EVM も、ガスもありません。すべての機能は、固定されたバイト構成と固定されたルールを持つ組み込みのトランザクションタイプです。ZBC の送金、トークンの発行、マーケットへの注文、エスクローの作成、ファイルの保存、アカウントのグループへのリンク、支払いのスケジュール設定などです。バージョン 0.5.8 以降、プロトコルは 73 のトランザクションタイプ番号を定義しています(トランザクション、ZooBC でできること)。
これは意図的なトレードオフです。すべてのノードは、トランザクションにできることのすべてを前もって知っており、それをまったく同じように適用します。そのためトランザクションの効果が処理する者によって変わることはなく、ウォレットは署名前に最低手数料を計算できます。その代わり、新しい種類の機能はコントラクトのデプロイではなく、プロトコルのリリースとともに届きます(リリースとアップデート)。
どの鍵も変えられないルール
チェーンのルールは、そのジェネシスとノードのソフトウェアに付属しています。バージョン 0.5.8 以降、チェーンには 121 のコンセンサスルールがあり、すべて高さ 0 から有効です。メッセージに署名することでルール、パラメータ、残高を変えられる鍵はありません。残高が変わるのはすべてのノードが検証するトランザクションを通じてだけで、レジストリの席が動かせるのは固定された範囲の中のいくつかの価格だけです(価格投票)。ZooBC Foundation は各チェーンの最初の席を保有し、コマンドラインツールを公開していますが、マスターキーは持っていません。