mirror of
https://github.com/INFTF/xahau-course.git
synced 2026-04-29 14:57:42 +00:00
Some JAP
This commit is contained in:
@@ -35,7 +35,7 @@ export default function Header({ lang, setLang, labels, completedCount, totalLes
|
||||
</button>
|
||||
{/* Language Switcher */}
|
||||
<div className="flex rounded-lg overflow-hidden" style={{ border: '1px solid var(--color-border)' }}>
|
||||
{['en', 'es'].map((l) => (
|
||||
{['en', 'es', 'jp'].map((l) => (
|
||||
<button
|
||||
key={l}
|
||||
onClick={() => setLang(l)}
|
||||
|
||||
@@ -49,7 +49,7 @@ export default function LessonView({
|
||||
<div className="flex items-center gap-2 flex-wrap justify-end">
|
||||
{/* Language selector */}
|
||||
<div className="flex rounded-lg overflow-hidden" style={{ border: '1px solid var(--color-border)' }}>
|
||||
{['en', 'es'].map((l) => (
|
||||
{['en', 'es', 'jp'].map((l) => (
|
||||
<button
|
||||
key={l}
|
||||
onClick={() => setLang(l)}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -4,7 +4,7 @@ export default {
|
||||
title: {
|
||||
es: "Arquitectura básica de una blockchain No-EVM",
|
||||
en: "Basic Architecture of a Non-EVM Blockchain",
|
||||
jp: "",
|
||||
jp: "Non-EVMブロックチェーンの基本アーキテクチャ",
|
||||
},
|
||||
lessons: [
|
||||
{
|
||||
@@ -12,7 +12,7 @@ export default {
|
||||
title: {
|
||||
es: "¿Qué es una blockchain?",
|
||||
en: "What is a Blockchain?",
|
||||
jp: "",
|
||||
jp: "ブロックチェーンとは?",
|
||||
},
|
||||
theory: {
|
||||
es: `Antes de hablar de blockchains No-EVM, necesitamos entender **qué es una blockchain** y por qué esta tecnología es revolucionaria.
|
||||
@@ -145,43 +145,107 @@ Blockchains are used for:
|
||||
- **Hybrid**: Combine elements of both
|
||||
|
||||
In this course we will focus on **Xahau**, a **public** blockchain designed for fast payments, tokens, and efficient smart contracts.`,
|
||||
jp: "",
|
||||
jp: `Non-EVMブロックチェーンの話をする前に、**ブロックチェーンとは何か**、そしてなぜこの技術が革命的なのかを理解する必要があります。
|
||||
|
||||
### シンプルな定義
|
||||
|
||||
**ブロックチェーン**(ブロックの連鎖)とは、**デジタルで分散された不変の台帳**です。次のような帳簿をイメージしてください:
|
||||
- 世界中の**何千ものコンピュータにコピー**されている(分散型)
|
||||
- すでに書かれた内容を**誰も消したり変更したりできない**(不変性)
|
||||
- データが正しいことを**誰でも検証できる**(透明性)
|
||||
- 銀行や企業のような**仲介者が不要**(分散化)
|
||||
|
||||
### どのように機能するのか?
|
||||
|
||||
データは**ブロック**にまとめられます。各ブロックには以下が含まれます:
|
||||
1. **トランザクション**のセット(例:「アリスがボブに10トークンを送る」)
|
||||
2. ブロックの**ハッシュ**(ユニークなデジタル指紋)
|
||||
3. **前のブロックのハッシュ**、これによってチェーンが形成される
|
||||
|
||||
この構造により、古いブロックを改ざんすることは事実上不可能です。変更するとそのハッシュが変わり、その後のチェーン全体が壊れてしまうからです。
|
||||
|
||||
### 主要概念
|
||||
|
||||
**分散化**
|
||||
中央サーバーは存在しません。ネットワークは台帳のコピーを保持する**ノード**(コンピュータ)で構成されています。単一障害点はありません。
|
||||
|
||||
**不変性**
|
||||
トランザクションがブロックに含まれ検証されると、**変更も削除もできません**。これにより信頼できる履歴が保証されます。
|
||||
|
||||
**コンセンサス**
|
||||
ノードはどのトランザクションが有効かについて合意するメカニズムを必要とします。これを**コンセンサスプロトコル**と呼びます(モジュール2で詳しく説明します)。
|
||||
|
||||
**暗号技術**
|
||||
ブロックチェーンは以下のために暗号関数を使用します:
|
||||
- **ハッシュ**:ブロックの識別とデータの整合性検証
|
||||
- **デジタル署名**:トランザクションが所有者によって承認されたことの証明
|
||||
- **公開鍵/秘密鍵**:各ユーザーはアイデンティティとして機能する鍵ペアを持つ
|
||||
|
||||
**トランザクション**
|
||||
ブロックチェーンの状態を変更する操作です:トークンの送信、コントラクトの作成、データの記録など。各トランザクションは送信者によって**デジタル署名**されています。
|
||||
|
||||
### ブロックチェーン vs 従来のデータベース
|
||||
|
||||
| 特徴 | 従来のデータベース | ブロックチェーン |
|
||||
|---|---|---|
|
||||
| 管理 | 企業(中央集権) | ノードのネットワーク(分散型) |
|
||||
| 変更 | アクセス権を持つ誰でも編集可能 | 検証後は不変 |
|
||||
| 信頼 | 企業を信頼する | 暗号技術とコンセンサスを信頼する |
|
||||
| 透明性 | デフォルトで非公開 | 公開かつ検証可能 |
|
||||
| 仲介者 | 必要(銀行、サーバー) | 不要(ピアツーピア) |
|
||||
|
||||
### 何に使われるのか?
|
||||
|
||||
ブロックチェーンは以下に使用されます:
|
||||
- **暗号通貨**:銀行なしでお金を送る(Bitcoin、XAH)
|
||||
- **トークン**:独自のデジタル資産を作成する
|
||||
- **NFT**:ユニークなデジタルオブジェクトの所有権を証明する
|
||||
- **スマートコントラクト**:プログラマブルなロジックを自動かつ信頼性高く実行する
|
||||
- **トレーサビリティ**:サプライチェーン、証明書、投票などの記録
|
||||
|
||||
### ブロックチェーンの種類
|
||||
|
||||
- **パブリック**:誰でも参加できる(Bitcoin、Ethereum、Xahau)
|
||||
- **プライベート/許可型**:承認されたメンバーのみが参加する(Hyperledger)
|
||||
- **ハイブリッド**:両方の要素を組み合わせる
|
||||
|
||||
このコースでは**Xahau**に焦点を当てます。Xahauは高速な支払い、トークン、効率的なスマートコントラクトのために設計された**パブリック**ブロックチェーンです。`,
|
||||
},
|
||||
codeBlocks: [],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "¿Qué es una blockchain?", en: "What is a Blockchain?", jp: "" },
|
||||
title: { es: "¿Qué es una blockchain?", en: "What is a Blockchain?", jp: "ブロックチェーンとは?" },
|
||||
content: {
|
||||
es: "Un libro de registros digital:\n\n• Distribuido → Copiado en miles de nodos\n• Inmutable → No se puede alterar\n• Transparente → Cualquiera puede verificar\n• Descentralizado → Sin intermediarios",
|
||||
en: "A digital ledger:\n\n• Distributed → Copied across thousands of nodes\n• Immutable → Cannot be altered\n• Transparent → Anyone can verify\n• Decentralized → No intermediaries",
|
||||
jp: "",
|
||||
jp: "デジタル台帳:\n\n• 分散型 → 何千ものノードにコピー\n• 不変性 → 改ざん不可能\n• 透明性 → 誰でも検証可能\n• 分散化 → 仲介者不要",
|
||||
},
|
||||
visual: "📒",
|
||||
},
|
||||
{
|
||||
title: { es: "Cadena de bloques", en: "Chain of Blocks", jp: "" },
|
||||
title: { es: "Cadena de bloques", en: "Chain of Blocks", jp: "ブロックの連鎖" },
|
||||
content: {
|
||||
es: "Bloque 1 → Bloque 2 → Bloque 3 → ...\n\nCada bloque contiene:\n• Transacciones\n• Hash propio (huella digital)\n• Hash del bloque anterior\n\nCambiar un bloque rompe toda la cadena",
|
||||
en: "Block 1 → Block 2 → Block 3 → ...\n\nEach block contains:\n• Transactions\n• Its own hash (digital fingerprint)\n• Hash of the previous block\n\nChanging a block breaks the entire chain",
|
||||
jp: "",
|
||||
jp: "ブロック1 → ブロック2 → ブロック3 → ...\n\n各ブロックには:\n• トランザクション\n• 固有のハッシュ(デジタル指紋)\n• 前のブロックのハッシュ\n\nブロックを変更するとチェーン全体が壊れる",
|
||||
},
|
||||
visual: "🔗",
|
||||
},
|
||||
{
|
||||
title: { es: "Conceptos clave", en: "Key Concepts", jp: "" },
|
||||
title: { es: "Conceptos clave", en: "Key Concepts", jp: "主要概念" },
|
||||
content: {
|
||||
es: "🔐 Criptografía → Hashes y firmas digitales\n🤝 Consenso → Nodos se ponen de acuerdo\n🔑 Claves → Tu identidad en la red\n📝 Transacciones → Operaciones firmadas",
|
||||
en: "🔐 Cryptography → Hashes and digital signatures\n🤝 Consensus → Nodes agree with each other\n🔑 Keys → Your identity on the network\n📝 Transactions → Signed operations",
|
||||
jp: "",
|
||||
jp: "🔐 暗号技術 → ハッシュとデジタル署名\n🤝 コンセンサス → ノードが合意する\n🔑 鍵 → ネットワーク上のアイデンティティ\n📝 トランザクション → 署名された操作",
|
||||
},
|
||||
visual: "🧩",
|
||||
},
|
||||
{
|
||||
title: { es: "¿Para qué sirve?", en: "What Is It Used For?", jp: "" },
|
||||
title: { es: "¿Para qué sirve?", en: "What Is It Used For?", jp: "何に使われるのか?" },
|
||||
content: {
|
||||
es: "• 💰 Criptomonedas (pagos sin bancos)\n• 🪙 Tokens (activos digitales)\n• 🎨 NFTs (objetos únicos)\n• 🪝 Smart contracts (lógica programable)\n• 📦 Trazabilidad (registros verificables)",
|
||||
en: "• 💰 Cryptocurrencies (payments without banks)\n• 🪙 Tokens (digital assets)\n• 🎨 NFTs (unique objects)\n• 🪝 Smart contracts (programmable logic)\n• 📦 Traceability (verifiable records)",
|
||||
jp: "",
|
||||
jp: "• 💰 暗号通貨(銀行なしの支払い)\n• 🪙 トークン(デジタル資産)\n• 🎨 NFT(ユニークなオブジェクト)\n• 🪝 スマートコントラクト(プログラマブルなロジック)\n• 📦 トレーサビリティ(検証可能な記録)",
|
||||
},
|
||||
visual: "🌐",
|
||||
},
|
||||
@@ -192,7 +256,7 @@ In this course we will focus on **Xahau**, a **public** blockchain designed for
|
||||
title: {
|
||||
es: "¿Qué es una blockchain No-EVM?",
|
||||
en: "What is a Non-EVM Blockchain?",
|
||||
jp: "",
|
||||
jp: "Non-EVMブロックチェーンとは?",
|
||||
},
|
||||
theory: {
|
||||
es: `Cuando hablamos de blockchains, la mayoría de desarrolladores piensan en **Ethereum** y su máquina virtual (**EVM**). Sin embargo, existen blockchains que funcionan de manera completamente diferente, sin usar la EVM ni Solidity.
|
||||
@@ -245,14 +309,38 @@ Unlike EVM networks, in Xahau:
|
||||
- The ledger maintains **structured objects**, not arbitrary states
|
||||
- Smart contracts (Hooks) execute as **reactive filters** on transactions
|
||||
- The native token is **XAH**`,
|
||||
jp: "",
|
||||
jp: `ブロックチェーンと言えば、ほとんどの開発者は**Ethereum**とその仮想マシン(**EVM**)を思い浮かべます。しかし、EVMやSolidityを使わず、まったく異なる方法で機能するブロックチェーンも存在します。
|
||||
|
||||
### EVM vs Non-EVM
|
||||
|
||||
| 特徴 | EVMブロックチェーン | Non-EVMブロックチェーン(Xahau) |
|
||||
|---|---|---|
|
||||
| コントラクト言語 | Solidity / Vyper | C(WebAssemblyにコンパイル) |
|
||||
| 仮想マシン | EVM(Ethereum Virtual Machine) | VMなし、ネイティブWASM実行 |
|
||||
| 状態モデル | 任意ストレージを持つアカウント | 型付きレジャーオブジェクト |
|
||||
| ガス/手数料 | 変動的で高価なガス | 固定で予測可能な手数料 |
|
||||
| データモデル | ストレージのキーバリュー | ネイティブオブジェクト(AccountRoot、TrustLineなど) |
|
||||
|
||||
### なぜNon-EVMなのか?
|
||||
|
||||
**Xahau**のようなNon-EVMブロックチェーンは、特定のユースケースのためにゼロから設計されました:高速な支払い、トークン化、効率的なプログラマブルロジック。Ethereumのような「汎用コンピュータ」を目指すのではなく、**パフォーマンス、低コスト、高速な最終性**に最適化しています。
|
||||
|
||||
### Xahau:Non-EVMブロックチェーン
|
||||
|
||||
**Xahau**は**XRP Ledger(XRPL)**のアーキテクチャを継承し、**Hooks**(Cで書かれWebAssemblyにコンパイルされた軽量スマートコントラクト)を実行する能力を追加したレイヤー1ブロックチェーンです。
|
||||
|
||||
EVMネットワークとは異なり、Xahauでは:
|
||||
- トランザクションは**ネイティブかつ型付き**(Payment、TrustSet、OfferCreateなど)
|
||||
- レジャーは**構造化されたオブジェクト**を維持し、任意の状態ではない
|
||||
- スマートコントラクト(Hooks)はトランザクションに対する**リアクティブフィルタ**として実行される
|
||||
- ネイティブトークンは**XAH**`,
|
||||
},
|
||||
codeBlocks: [
|
||||
{
|
||||
title: {
|
||||
es: "Conectar a un nodo Xahau y ver info del servidor",
|
||||
en: "Connect to a Xahau node and view server info",
|
||||
jp: "",
|
||||
jp: "Xahauノードに接続してサーバー情報を表示する",
|
||||
},
|
||||
language: "javascript",
|
||||
code: {
|
||||
@@ -296,35 +384,54 @@ async function serverInfo() {
|
||||
}
|
||||
|
||||
serverInfo();`,
|
||||
jp: "",
|
||||
jp: `const { Client } = require("xahau");
|
||||
|
||||
async function serverInfo() {
|
||||
const client = new Client("wss://xahau.network");
|
||||
await client.connect();
|
||||
|
||||
const response = await client.request({
|
||||
command: "server_info"
|
||||
});
|
||||
|
||||
const info = response.result.info;
|
||||
console.log("ネットワーク:", info.network_id);
|
||||
console.log("バージョン:", info.build_version);
|
||||
console.log("現在のレジャー:", info.validated_ledger.seq);
|
||||
console.log("ネットワーク種別: Non-EVM(Xahauブロックチェーン)");
|
||||
|
||||
await client.disconnect();
|
||||
}
|
||||
|
||||
serverInfo();`,
|
||||
},
|
||||
},
|
||||
],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "EVM vs No-EVM", en: "EVM vs Non-EVM", jp: "" },
|
||||
title: { es: "EVM vs No-EVM", en: "EVM vs Non-EVM", jp: "EVM vs Non-EVM" },
|
||||
content: {
|
||||
es: "EVM (Ethereum)\n• Solidity → Bytecode EVM\n• Gas variable\n• Estado arbitrario\n\nNo-EVM (Xahau)\n• C → WebAssembly\n• Fees fijos\n• Objetos tipados del ledger",
|
||||
en: "EVM (Ethereum)\n• Solidity → EVM Bytecode\n• Variable gas\n• Arbitrary state\n\nNon-EVM (Xahau)\n• C → WebAssembly\n• Fixed fees\n• Typed ledger objects",
|
||||
jp: "",
|
||||
jp: "EVM(Ethereum)\n• Solidity → EVMバイトコード\n• 変動ガス\n• 任意の状態\n\nNon-EVM(Xahau)\n• C → WebAssembly\n• 固定手数料\n• 型付きレジャーオブジェクト",
|
||||
},
|
||||
visual: "⚖️",
|
||||
},
|
||||
{
|
||||
title: { es: "¿Qué es Xahau?", en: "What is Xahau?", jp: "" },
|
||||
title: { es: "¿Qué es Xahau?", en: "What is Xahau?", jp: "Xahauとは?" },
|
||||
content: {
|
||||
es: "Blockchain de capa 1 basada en XRPL\n\n• Smart Contracts nativos (Hooks)\n• Token nativo: XAH\n• Transacciones tipadas\n• Fees bajos y predecibles\n• Finalidad en 3-5 segundos",
|
||||
en: "Layer 1 blockchain based on XRPL\n\n• Native Smart Contracts (Hooks)\n• Native token: XAH\n• Typed transactions\n• Low and predictable fees\n• Finality in 3-5 seconds",
|
||||
jp: "",
|
||||
jp: "XRPLベースのレイヤー1ブロックチェーン\n\n• ネイティブスマートコントラクト(Hooks)\n• ネイティブトークン:XAH\n• 型付きトランザクション\n• 低く予測可能な手数料\n• 3〜5秒での最終確定",
|
||||
},
|
||||
visual: "🧱",
|
||||
},
|
||||
{
|
||||
title: { es: "Arquitectura del Ledger", en: "Ledger Architecture", jp: "" },
|
||||
title: { es: "Arquitectura del Ledger", en: "Ledger Architecture", jp: "レジャーアーキテクチャ" },
|
||||
content: {
|
||||
es: "El ledger de Xahau contiene objetos nativos:\n\n• AccountRoot → Cuentas\n• TrustLine → Líneas de confianza\n• Offer → Órdenes de intercambio\n• URIToken → NFTs\n• Hook → Smart contracts\n• HookState → Estado de los Hooks",
|
||||
en: "The Xahau ledger contains native objects:\n\n• AccountRoot → Accounts\n• TrustLine → Trust lines\n• Offer → Trade orders\n• URIToken → NFTs\n• Hook → Smart contracts\n• HookState → Hook state data",
|
||||
jp: "",
|
||||
jp: "Xahauレジャーにはネイティブオブジェクトが含まれる:\n\n• AccountRoot → アカウント\n• TrustLine → トラストライン\n• Offer → 取引注文\n• URIToken → NFT\n• Hook → スマートコントラクト\n• HookState → Hookの状態データ",
|
||||
},
|
||||
visual: "📦",
|
||||
},
|
||||
@@ -335,7 +442,7 @@ serverInfo();`,
|
||||
title: {
|
||||
es: "Estructura del ledger en Xahau",
|
||||
en: "Ledger Structure in Xahau",
|
||||
jp: "",
|
||||
jp: "Xahauのレジャー構造",
|
||||
},
|
||||
theory: {
|
||||
es: `El **ledger** (libro mayor) de Xahau es una base de datos distribuida que almacena el estado completo de la red en un momento dado. Cada ledger tiene un **número de secuencia** único y contiene todos los objetos del estado actual.
|
||||
@@ -384,14 +491,36 @@ Objects are **typed**, each type has specific, predefined fields:
|
||||
### Key Difference from EVM
|
||||
|
||||
In Ethereum, the state is an **account tree** where each account has its own **storage** (arbitrary key-value). In Xahau, the state consists of **typed objects** with predefined fields. This is more restrictive but much more efficient and easier to query.`,
|
||||
jp: "",
|
||||
jp: `Xahauの**レジャー**(台帳)は、特定の時点におけるネットワークの完全な状態を格納する分散データベースです。各レジャーには固有の**シーケンス番号**があり、現在の状態のすべてのオブジェクトが含まれています。
|
||||
|
||||
### レジャーのコンポーネント
|
||||
|
||||
各レジャーバージョンには以下が含まれます:
|
||||
- **レジャーヘッダー**:メタデータ(ハッシュ、シーケンス、タイムスタンプ、手数料)
|
||||
- **状態ツリー**:すべてのレジャーオブジェクト(アカウント、トークン、Hooksなど)
|
||||
- **トランザクションセット**:このレジャーを生成したトランザクション
|
||||
|
||||
### レジャーオブジェクトの種類
|
||||
|
||||
オブジェクトは**型付き**されており、各種類には特定の事前定義されたフィールドがあります:
|
||||
|
||||
- **AccountRoot**:残高、シーケンス、フラグ、インストールされたHooksを持つアカウントを表す
|
||||
- **RippleState(TrustLine)**:2つのアカウント間のトークンに対するトラストライン
|
||||
- **Offer**:ネイティブDEXでの売買注文
|
||||
- **URIToken**:関連するURIを持つ非代替可能トークン
|
||||
- **HookDefinition**:デプロイされたHookのWASMコード
|
||||
- **HookState**:Hookによって格納された永続的なデータ
|
||||
|
||||
### EVMとの主要な違い
|
||||
|
||||
Ethereumでは、状態は各アカウントが独自の**ストレージ**(任意のキーバリュー)を持つ**アカウントツリー**です。Xahauでは、状態は事前定義されたフィールドを持つ**型付きオブジェクト**です。これはより制限的ですが、はるかに効率的でクエリが容易です。`,
|
||||
},
|
||||
codeBlocks: [
|
||||
{
|
||||
title: {
|
||||
es: "Consultar información del ledger actual",
|
||||
en: "Query current ledger information",
|
||||
jp: "",
|
||||
jp: "現在のレジャー情報を照会する",
|
||||
},
|
||||
language: "javascript",
|
||||
code: {
|
||||
@@ -435,35 +564,54 @@ async function getLedgerInfo() {
|
||||
}
|
||||
|
||||
getLedgerInfo();`,
|
||||
jp: "",
|
||||
jp: `const { Client } = require("xahau");
|
||||
|
||||
async function getLedgerInfo() {
|
||||
const client = new Client("wss://xahau.network");
|
||||
await client.connect();
|
||||
|
||||
const response = await client.request({
|
||||
command: "ledger",
|
||||
ledger_index: "validated",
|
||||
});
|
||||
|
||||
const ledger = response.result.ledger;
|
||||
console.log("レジャーシーケンス:", ledger.ledger_index);
|
||||
console.log("ハッシュ:", ledger.ledger_hash);
|
||||
console.log("クローズ時刻:", ledger.close_time_human);
|
||||
|
||||
await client.disconnect();
|
||||
}
|
||||
|
||||
getLedgerInfo();`,
|
||||
},
|
||||
},
|
||||
],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "El Ledger de Xahau", en: "The Xahau Ledger", jp: "" },
|
||||
title: { es: "El Ledger de Xahau", en: "The Xahau Ledger", jp: "Xahauのレジャー" },
|
||||
content: {
|
||||
es: "Base de datos distribuida con el estado completo\n\n• Cada ledger tiene un número de secuencia\n• Se cierra cada 3-5 segundos\n• Contiene todos los objetos del estado\n• Inmutable una vez validado",
|
||||
en: "Distributed database with the complete state\n\n• Each ledger has a sequence number\n• Closes every 3-5 seconds\n• Contains all state objects\n• Immutable once validated",
|
||||
jp: "",
|
||||
jp: "完全な状態を持つ分散データベース\n\n• 各レジャーにはシーケンス番号がある\n• 3〜5秒ごとにクローズする\n• すべての状態オブジェクトを含む\n• 検証後は不変",
|
||||
},
|
||||
visual: "📖",
|
||||
},
|
||||
{
|
||||
title: { es: "Objetos del Ledger", en: "Ledger Objects", jp: "" },
|
||||
title: { es: "Objetos del Ledger", en: "Ledger Objects", jp: "レジャーオブジェクト" },
|
||||
content: {
|
||||
es: "Objetos tipados y estructurados:\n\n• AccountRoot → Cuentas\n• RippleState → TrustLines\n• Offer → Órdenes DEX\n• URIToken → NFTs\n• HookDefinition → Código de Hooks\n• HookState → Estado de Hooks",
|
||||
en: "Typed and structured objects:\n\n• AccountRoot → Accounts\n• RippleState → TrustLines\n• Offer → DEX orders\n• URIToken → NFTs\n• HookDefinition → Hook code\n• HookState → Hook state data",
|
||||
jp: "",
|
||||
jp: "型付きかつ構造化されたオブジェクト:\n\n• AccountRoot → アカウント\n• RippleState → トラストライン\n• Offer → DEX注文\n• URIToken → NFT\n• HookDefinition → Hookコード\n• HookState → Hookの状態データ",
|
||||
},
|
||||
visual: "🗂️",
|
||||
},
|
||||
{
|
||||
title: { es: "Detalle de objetos del Ledger", en: "Ledger Object Details", jp: "" },
|
||||
title: { es: "Detalle de objetos del Ledger", en: "Ledger Object Details", jp: "レジャーオブジェクトの詳細" },
|
||||
content: {
|
||||
es: "Cada objeto tiene campos predefinidos:\n\n• AccountRoot → Balance, Sequence, Flags, Hooks\n• RippleState → Saldo entre dos cuentas para un token\n• Offer → Precio, cantidad, par de intercambio\n• DirectoryNode → Índice que conecta objetos\n\nDiferencia con EVM:\n• Sin storage arbitrario (key-value)\n• Campos fijos → consultas más eficientes",
|
||||
en: "Each object has predefined fields:\n\n• AccountRoot → Balance, Sequence, Flags, Hooks\n• RippleState → Balance between two accounts for a token\n• Offer → Price, amount, trading pair\n• DirectoryNode → Index connecting objects\n\nDifference from EVM:\n• No arbitrary storage (key-value)\n• Fixed fields → more efficient queries",
|
||||
jp: "",
|
||||
jp: "各オブジェクトには事前定義されたフィールドがある:\n\n• AccountRoot → 残高、シーケンス、フラグ、Hooks\n• RippleState → 2つのアカウント間のトークン残高\n• Offer → 価格、数量、取引ペア\n• DirectoryNode → オブジェクトを接続するインデックス\n\nEVMとの違い:\n• 任意ストレージなし(キーバリュー)\n• 固定フィールド → より効率的なクエリ",
|
||||
},
|
||||
visual: "🔍",
|
||||
},
|
||||
@@ -474,7 +622,7 @@ getLedgerInfo();`,
|
||||
title: {
|
||||
es: "Historia de las blockchains: de Bitcoin a Xahau",
|
||||
en: "History of Blockchains: from Bitcoin to Xahau",
|
||||
jp: "",
|
||||
jp: "ブロックチェーンの歴史:ビットコインからXahauまで",
|
||||
},
|
||||
theory: {
|
||||
es: `Para entender por qué Xahau existe y qué la hace diferente, necesitamos recorrer la **historia de las blockchains** y cómo cada generación resolvió problemas que la anterior no podía.
|
||||
@@ -641,43 +789,124 @@ As a fork of XRPL, Xahau leverages all the advantages of a proven blockchain opt
|
||||
| 2020 | DeFi Summer | Decentralized finance on Ethereum |
|
||||
| 2020+ | L1s/L2s | Solana, Avalanche, Polygon, Rollups |
|
||||
| 2023 | Xahau | XRPL + Hooks (smart contracts in C/WASM) |`,
|
||||
jp: "",
|
||||
jp: `Xahauがなぜ存在し、何が違うのかを理解するために、**ブロックチェーンの歴史**を振り返り、各世代が前の世代では解決できなかった問題をどのように解決したかを見ていきましょう。
|
||||
|
||||
### 2008年 — Bitcoin:誕生
|
||||
|
||||
すべては**サトシ・ナカモト**が公開した9ページの文書から始まりました。タイトルは*「Bitcoin: A Peer-to-Peer Electronic Cash System」*。アイデアはシンプルかつ革命的でした:**仲介者なしのデジタルマネー**。
|
||||
|
||||
Bitcoinが導入したもの:
|
||||
- **プルーフ・オブ・ワーク(PoW)**:マイナーが数学的問題を解いてトランザクションを検証する
|
||||
- **完全な分散化**:銀行なし、中央サーバーなし
|
||||
- **不変性**:確認されたトランザクションは取り消せない
|
||||
- **デジタル希少性**:Bitcoinは2,100万枚しか存在しない
|
||||
|
||||
限界:Bitcoinは遅く(毎秒約7トランザクション)、スクリプト言語は非常に限定的。複雑なロジックを実行するために設計されていない。
|
||||
|
||||
### 2012年 — XRP Ledger:マイニングなしの速度
|
||||
|
||||
後に**XRP Ledger(XRPL)**が作られました。**プルーフ・オブ・ワークを使用しない**最初の主要なブロックチェーンです。代わりに、**信頼できるバリデーター(UNL)**に基づくコンセンサスプロトコルを使用します。
|
||||
|
||||
XRPLが導入したもの:
|
||||
- **マイニングなしのコンセンサス**:3〜5秒でトランザクションが確認される
|
||||
- **ネイティブDEX**:プロトコルに統合された分散取引所
|
||||
- **ネイティブトークン**:スマートコントラクトなしでトークンを作成
|
||||
- **最小手数料**:トランザクションあたり数セントの何分の一
|
||||
|
||||
限界:XRPLにはスマートコントラクト(カスタムプログラマブルロジック)を実行する能力がなかった。
|
||||
|
||||
### 2015年 — Ethereum:ワールドコンピュータ
|
||||
|
||||
**ヴィタリック・ブテリン**は野心的なアイデアを持つEthereumホワイトペーパーを発表しました:**あらゆるプログラム**を実行できるブロックチェーン。こうして**Ethereum Virtual Machine(EVM)**が誕生しました。
|
||||
|
||||
Ethereumが導入したもの:
|
||||
- **スマートコントラクト**:ブロックチェーン上に存在し自動的に実行されるプログラム
|
||||
- **Solidity**:コントラクトを書くためのプログラミング言語
|
||||
- **EVM**:コントラクトコードを実行する仮想マシン
|
||||
- **ERC-20 / ERC-721**:代替可能トークンとNFTの標準
|
||||
- **DeFi**:分散型金融(貸付、取引所、ステーブルコイン)
|
||||
|
||||
限界:高価で変動するガス、低速(約15 TPS)、限られたスケーラビリティ。
|
||||
|
||||
### 2020年以降 — L1とL2の爆発
|
||||
|
||||
Ethereumの問題が新しいブロックチェーンの波を引き起こしました:
|
||||
|
||||
- **Solana**(2020年):プルーフ・オブ・ヒストリーによる高速(理論値約65,000 TPS)
|
||||
- **Avalanche**(2020年):高速コンセンサスによるカスタマイズ可能なサブネット
|
||||
- **Polygon**(2020年):Ethereumをスケールするためのレイヤー2ソリューション
|
||||
- **Arbitrum / Optimism**(2021年):Ethereum外でトランザクションを処理するロールアップ
|
||||
- **Cosmos / Polkadot**:相互接続されたブロックチェーンのエコシステム
|
||||
|
||||
これらのネットワークのほとんどは**EVM互換**で、SolidityとEthereumのツールを使用します。
|
||||
|
||||
### 2023年 — Xahau:XRPL + スマートコントラクト
|
||||
|
||||
**Xahau**は**XRP Ledgerのフォーク**として誕生し、XRPLが常に必要としていた機能を追加しました:**スマートコントラクト**(**Hooks**と呼ばれる)。当初XahauはXRP Ledgerの一部になる予定でHooksがXRP Ledgerに組み込まれる予定でしたが、Rippleはコミュニティのこの改善を受け入れませんでした。何年もかけてきた作業を無駄にしないために、Xahauが誕生しました。
|
||||
|
||||
Xahauが導入したもの:
|
||||
- **Hooks**:Cで書かれWebAssemblyにコンパイルされたスマートコントラクト
|
||||
- **XAH**:エミッション/報酬システムを持つネイティブトークン
|
||||
- **XRPLの継承**:速度、ネイティブDEX、低手数料を維持
|
||||
- **EVMなし**:独自のアーキテクチャ、Solidityと非互換
|
||||
|
||||
### なぜXahauはXRPLのフォークなのか?
|
||||
|
||||
XRPLのフォークとして、Xahauは支払いとトークンのために実証され最適化されたブロックチェーンのすべての利点を活用し、欠けていたピースを追加します:プロトコル内で直接プログラマブルロジックを実行する能力。
|
||||
|
||||
1. **実証済みの基盤**:XRPLは2012年から大きな中断なく稼働している
|
||||
2. **ネイティブな速度**:XRPLのコンセンサスはすでに3〜5秒の最終確定を提供する
|
||||
3. **統合DEX**:分散取引所をゼロから構築する必要がない
|
||||
4. **ネイティブトークン**:TrustLinesとトークンシステムはすでに存在し機能している
|
||||
5. **既存のコミュニティ**:XRPLの開発者とツールが適応できる
|
||||
|
||||
### 年表まとめ
|
||||
|
||||
| 年 | マイルストーン | 主要なイノベーション |
|
||||
|---|---|---|
|
||||
| 2008 | Bitcoin | 分散型デジタルマネー |
|
||||
| 2012 | XRP Ledger | マイニングなしのコンセンサス、ネイティブDEX |
|
||||
| 2015 | Ethereum | スマートコントラクト(EVM + Solidity) |
|
||||
| 2017 | ICOブーム | ERC-20トークン、分散型資金調達 |
|
||||
| 2020 | DeFiサマー | Ethereum上の分散型金融 |
|
||||
| 2020年以降 | L1s/L2s | Solana、Avalanche、Polygon、ロールアップ |
|
||||
| 2023 | Xahau | XRPL + Hooks(C/WASMのスマートコントラクト) |`,
|
||||
},
|
||||
codeBlocks: [],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "2008-2015: Los orígenes", en: "2008-2015: The Origins", jp: "" },
|
||||
title: { es: "2008-2015: Los orígenes", en: "2008-2015: The Origins", jp: "2008-2015年:起源" },
|
||||
content: {
|
||||
es: "2008 — Bitcoin\n• Primer dinero digital descentralizado\n• Proof of Work, lento pero revolucionario\n\n2012 — XRP Ledger\n• Sin minería, consenso en 3-5 segundos\n• DEX nativo y tokens integrados\n\n2015 — Ethereum\n• Smart contracts con Solidity\n• La EVM como computadora mundial",
|
||||
en: "2008 — Bitcoin\n• First decentralized digital money\n• Proof of Work, slow but revolutionary\n\n2012 — XRP Ledger\n• No mining, consensus in 3-5 seconds\n• Native DEX and integrated tokens\n\n2015 — Ethereum\n• Smart contracts with Solidity\n• The EVM as a world computer",
|
||||
jp: "",
|
||||
jp: "2008年 — Bitcoin\n• 最初の分散型デジタルマネー\n• プルーフ・オブ・ワーク、遅いが革命的\n\n2012年 — XRP Ledger\n• マイニングなし、3〜5秒でコンセンサス\n• ネイティブDEXと統合トークン\n\n2015年 — Ethereum\n• Solidityによるスマートコントラクト\n• ワールドコンピュータとしてのEVM",
|
||||
},
|
||||
visual: "📜",
|
||||
},
|
||||
{
|
||||
title: { es: "2020+: La explosión", en: "2020+: The Explosion", jp: "" },
|
||||
title: { es: "2020+: La explosión", en: "2020+: The Explosion", jp: "2020年以降:爆発" },
|
||||
content: {
|
||||
es: "Los problemas de Ethereum impulsan nuevas redes:\n\n• Solana → Alta velocidad\n• Avalanche → Subredes personalizables\n• Polygon → Layer 2 para Ethereum\n• Arbitrum/Optimism → Rollups\n\nLa mayoría son compatibles con EVM (Solidity)",
|
||||
en: "Ethereum's problems drive new networks:\n\n• Solana → High speed\n• Avalanche → Customizable subnets\n• Polygon → Layer 2 for Ethereum\n• Arbitrum/Optimism → Rollups\n\nMost are EVM-compatible (Solidity)",
|
||||
jp: "",
|
||||
jp: "Ethereumの問題が新しいネットワークを生む:\n\n• Solana → 高速\n• Avalanche → カスタマイズ可能なサブネット\n• Polygon → Ethereum用レイヤー2\n• Arbitrum/Optimism → ロールアップ\n\nほとんどがEVM互換(Solidity)",
|
||||
},
|
||||
visual: "🚀",
|
||||
},
|
||||
{
|
||||
title: { es: "2023: Nace Xahau", en: "2023: Xahau Is Born", jp: "" },
|
||||
title: { es: "2023: Nace Xahau", en: "2023: Xahau Is Born", jp: "2023年:Xahauの誕生" },
|
||||
content: {
|
||||
es: "Fork de XRPL + Smart Contracts (Hooks)\n\n¿Por qué un fork de XRPL?\n• Base probada desde 2012\n• Velocidad nativa (3-5 seg)\n• DEX y tokens integrados\n• Solo faltaban smart contracts\n\nHooks = C compilado a WebAssembly\nSin EVM, sin Solidity",
|
||||
en: "Fork of XRPL + Smart Contracts (Hooks)\n\nWhy a fork of XRPL?\n• Proven foundation since 2012\n• Native speed (3-5 sec)\n• Integrated DEX and tokens\n• Only smart contracts were missing\n\nHooks = C compiled to WebAssembly\nNo EVM, no Solidity",
|
||||
jp: "",
|
||||
jp: "XRPLのフォーク + スマートコントラクト(Hooks)\n\nなぜXRPLのフォークなのか?\n• 2012年からの実証済みの基盤\n• ネイティブな速度(3〜5秒)\n• DEXとトークンが統合済み\n• スマートコントラクトだけが欠けていた\n\nHooks = CをWebAssemblyにコンパイル\nEVMなし、Solidityなし",
|
||||
},
|
||||
visual: "🧱",
|
||||
},
|
||||
{
|
||||
title: { es: "Línea temporal completa", en: "Complete Timeline", jp: "" },
|
||||
title: { es: "Línea temporal completa", en: "Complete Timeline", jp: "完全な年表" },
|
||||
content: {
|
||||
es: "2008 → Bitcoin (PoW, dinero digital)\n2012 → XRPL (sin minería, DEX)\n2015 → Ethereum (EVM, Solidity)\n2017 → Boom de ICOs y tokens\n2020 → DeFi + nuevas L1s/L2s\n2023 → Xahau (XRPL + Hooks)\n\nCada generación resolvió limitaciones de la anterior",
|
||||
en: "2008 → Bitcoin (PoW, digital money)\n2012 → XRPL (no mining, DEX)\n2015 → Ethereum (EVM, Solidity)\n2017 → ICO and token boom\n2020 → DeFi + new L1s/L2s\n2023 → Xahau (XRPL + Hooks)\n\nEach generation solved limitations of the previous one",
|
||||
jp: "",
|
||||
jp: "2008年 → Bitcoin(PoW、デジタルマネー)\n2012年 → XRPL(マイニングなし、DEX)\n2015年 → Ethereum(EVM、Solidity)\n2017年 → ICOとトークンのブーム\n2020年 → DeFi + 新しいL1s/L2s\n2023年 → Xahau(XRPL + Hooks)\n\n各世代は前の世代の限界を解決した",
|
||||
},
|
||||
visual: "⏳",
|
||||
},
|
||||
@@ -688,7 +917,7 @@ As a fork of XRPL, Xahau leverages all the advantages of a proven blockchain opt
|
||||
title: {
|
||||
es: "El ecosistema Xahau",
|
||||
en: "The Xahau Ecosystem",
|
||||
jp: "",
|
||||
jp: "Xahauエコシステム",
|
||||
},
|
||||
theory: {
|
||||
es: `Xahau no es solo una blockchain, es un **ecosistema completo** con herramientas, wallets, exploradores y una comunidad activa. En esta lección conocerás las piezas fundamentales del ecosistema para saber dónde buscar información y cómo interactuar con la red.
|
||||
@@ -853,35 +1082,115 @@ Xahau has two main networks:
|
||||
**For this course we will always use the testnet.** Testnet tokens have no real value, so you can experiment freely without the risk of losing money.
|
||||
|
||||
To obtain testnet XAH, use the **faucet**: a tool that sends free tokens to your test account. We will cover this in detail in later modules.`,
|
||||
jp: "",
|
||||
jp: `Xahauは単なるブロックチェーンではなく、ツール、ウォレット、エクスプローラー、活発なコミュニティを備えた**完全なエコシステム**です。このレッスンでは、情報をどこで探すか、ネットワークとどのようにやりとりするかを知るために、エコシステムの基本的な要素を学びます。
|
||||
|
||||
### XAH:ネイティブトークン
|
||||
|
||||
**XAH**はXahauのネイティブ暗号通貨です。XRPLのXRPとは異なり、XAHには**インフレ型エミッションシステム**があります:アクティブなアカウントの保有者は定期的にXAHの報酬をリクエストできます。これによりネットワークへの参加と利用が奨励されます。
|
||||
|
||||
XAHの特徴:
|
||||
- **手数料**(トランザクション手数料)の支払いに使用される
|
||||
- アクティブなアカウントを維持するために**最小リザーブ**が必要
|
||||
- **エミッションシステム**がリクエストしたアクティブなアカウントにXAHを配布する
|
||||
- 送信、交換、Hooksでの使用が可能
|
||||
|
||||
### Xaman(旧XUMM):メインウォレット
|
||||
|
||||
**Xaman**(以前はXUMMとして知られていた)はXRPL/Xahauエコシステムで最も広く使用されているウォレットです。以下を可能にするモバイルアプリケーションです:
|
||||
|
||||
- XahauとXRPLのアカウントを作成・管理する
|
||||
- XAHとトークンを送受信する
|
||||
- トランザクションを安全に署名する
|
||||
- 分散型アプリケーション(xApps)と連携する
|
||||
- **iOS**と**Android**で利用可能
|
||||
|
||||
ダウンロード:[xaman.app](https://xaman.app)
|
||||
|
||||
### Hooks Builder:スマートコントラクト用オンラインIDE
|
||||
|
||||
**Hooks Builder**はブラウザで動作する統合開発環境(IDE)で、コンピュータに何もインストールせずにXahau Testnet上でHooksを書き、コンパイルし、デプロイできます。
|
||||
|
||||
特徴:
|
||||
- C言語のシンタックスハイライト付きコードエディタ
|
||||
- 組み込みのCからWebAssemblyへのコンパイラ
|
||||
- Xahau testnetへの直接デプロイ
|
||||
- すぐに始めるためのサンプルとテンプレート
|
||||
|
||||
URL:[builder.xahau.network/](https://builder.xahau.network/)
|
||||
|
||||
### ブロックエクスプローラー
|
||||
|
||||
**エクスプローラー**はブロックチェーン上で起きていることをすべて視覚的に確認できます:
|
||||
|
||||
- ハッシュでトランザクションを検索する
|
||||
- 任意のアカウントの状態を確認する(残高、トークン、Hooks)
|
||||
- レジャーとその内容を探索する
|
||||
- ネットワークの状態を確認する
|
||||
|
||||
**Xahau Mainnet**の場合:
|
||||
|
||||
URL:[xahauexplorer.com](https://xahauexplorer.com)
|
||||
URL:[xahau.xrplwin.com](https://xahau.xrplwin.com)
|
||||
URL:[explorer.xahau.network](https://explorer.xahau.network)
|
||||
URL:[xahscan.com](https://xahscan.com)
|
||||
|
||||
**Xahau Testnet**の場合:
|
||||
|
||||
URL:[test.xahauexplorer.com](https://test.xahauexplorer.com)
|
||||
URL:[xahau-testnet.xrplwin.com](https://xahau-testnet.xrplwin.com)
|
||||
URL:[explorer.xahau-test.net](https://explorer.xahau-test.net)
|
||||
|
||||
### 開発者向けリソース
|
||||
|
||||
- **公式ドキュメント**:[xahau.network/docs/](https://xahau.network/docs/) ガイド、APIリファレンス、チュートリアル
|
||||
- **GitHub**:[https://github.com/xahau](https://github.com/xahau) ノードのソースコード、ライブラリ、ツール
|
||||
- **Discord**:[https://discord.gg/ds7nb93mYj](https://discord.gg/ds7nb93mYj) 質問やプロジェクト共有のための活発なコミュニティ
|
||||
- **X**:[https://x.com/XahauNetwork](https://x.com/XahauNetwork) ニュースとアップデートのためのXahauブロックチェーン公式アカウント
|
||||
- **xahau jsライブラリ**:[https://www.npmjs.com/package/xahau](https://www.npmjs.com/package/xahau) このコースでネットワークと連携するために使用するJavaScriptライブラリ
|
||||
|
||||
### TestnetとMainnet
|
||||
|
||||
Xahauには2つの主要なネットワークがあります:
|
||||
|
||||
| 特徴 | Testnet | Mainnet |
|
||||
|---|---|---|
|
||||
| WebSocket URL | wss://xahau-test.net | wss://xahau.network |
|
||||
| トークン | XAH(実際の価値なし) | XAH(実際の価値あり) |
|
||||
| 目的 | 開発とテスト | 本番環境 |
|
||||
| フォーセット | あり(テスト用の無料XAH) | なし |
|
||||
| データ | 定期的にリセットされる場合がある | 永続的 |
|
||||
|
||||
**このコースでは常にtestnetを使用します。** Testnetのトークンには実際の価値がないため、お金を失うリスクなく自由に実験できます。
|
||||
|
||||
Testnet XAHを取得するには、**フォーセット**(蛇口)を使用します:テストアカウントに無料トークンを送るツールです。これは後のモジュールで詳しく説明します。`,
|
||||
},
|
||||
codeBlocks: [
|
||||
],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "XAH y el sistema de emisiones", en: "XAH and the Emission System", jp: "" },
|
||||
title: { es: "XAH y el sistema de emisiones", en: "XAH and the Emission System", jp: "XAHとエミッションシステム" },
|
||||
content: {
|
||||
es: "XAH = Token nativo de Xahau\n\n• Pagar fees (comisiones)\n• Reserva mínima para cuentas\n• Sistema de emisión inflaccionario\n → Los usuarios que lo soliciten, reciben XAH periódicamente",
|
||||
en: "XAH = Native token of Xahau\n\n• Pay fees (transaction fees)\n• Minimum reserve for accounts\n• Inflationary emission system\n → Users who request it receive XAH periodically",
|
||||
jp: "",
|
||||
jp: "XAH = Xahauのネイティブトークン\n\n• 手数料(取引手数料)の支払い\n• アカウントの最小リザーブ\n• インフレ型エミッションシステム\n → リクエストしたユーザーは定期的にXAHを受け取る",
|
||||
},
|
||||
visual: "💰",
|
||||
},
|
||||
{
|
||||
title: { es: "Herramientas del ecosistema", en: "Ecosystem Tools", jp: "" },
|
||||
title: { es: "Herramientas del ecosistema", en: "Ecosystem Tools", jp: "エコシステムツール" },
|
||||
content: {
|
||||
es: "Xaman → Wallet móvil (iOS/Android)\n xaman.app\n\nHooks Builder → IDE online para smart contracts\n builder.xahau.network\n\nExplorer → Exploradores de bloques\n xahauexplorer.com xahau.xrplwin.com xahscan.com\n\nDocs → Documentación oficial\n xahau.network/docs",
|
||||
en: "Xaman → Mobile wallet (iOS/Android)\n xaman.app\n\nHooks Builder → Online IDE for smart contracts\n builder.xahau.network\n\nExplorer → Block explorers\n xahauexplorer.com xahau.xrplwin.com xahscan.com\n\nDocs → Official documentation\n xahau.network/docs",
|
||||
jp: "",
|
||||
jp: "Xaman → モバイルウォレット(iOS/Android)\n xaman.app\n\nHooks Builder → スマートコントラクト用オンラインIDE\n builder.xahau.network\n\nエクスプローラー → ブロックエクスプローラー\n xahauexplorer.com xahau.xrplwin.com xahscan.com\n\nDocs → 公式ドキュメント\n xahau.network/docs",
|
||||
},
|
||||
visual: "🛠️",
|
||||
},
|
||||
{
|
||||
title: { es: "Testnet vs Mainnet", en: "Testnet vs Mainnet", jp: "" },
|
||||
title: { es: "Testnet vs Mainnet", en: "Testnet vs Mainnet", jp: "Testnet vs Mainnet" },
|
||||
content: {
|
||||
es: "Testnet (desarrollo)\n• wss://xahau-test.net\n• XAH sin valor real\n• Faucet para obtener tokens gratis\n\nMainnet (producción)\n• wss://xahau.network\n• XAH con valor real\n• Sin faucet\n\nEn este curso usamos SIEMPRE testnet",
|
||||
en: "Testnet (development)\n• wss://xahau-test.net\n• XAH with no real value\n• Faucet to get free tokens\n\nMainnet (production)\n• wss://xahau.network\n• XAH with real value\n• No faucet\n\nIn this course we ALWAYS use testnet",
|
||||
jp: "",
|
||||
jp: "Testnet(開発)\n• wss://xahau-test.net\n• 実際の価値のないXAH\n• 無料トークンを取得するフォーセット\n\nMainnet(本番)\n• wss://xahau.network\n• 実際の価値のあるXAH\n• フォーセットなし\n\nこのコースでは常にtestnetを使用する",
|
||||
},
|
||||
visual: "🌐",
|
||||
},
|
||||
|
||||
@@ -4,7 +4,7 @@ export default {
|
||||
title: {
|
||||
es: "Cómo funciona el consenso en una blockchain",
|
||||
en: "How consensus works in a blockchain",
|
||||
jp: "",
|
||||
jp: "ブロックチェーンにおけるコンセンサスの仕組み",
|
||||
},
|
||||
lessons: [
|
||||
{
|
||||
@@ -12,7 +12,7 @@ export default {
|
||||
title: {
|
||||
es: "Mecanismos de consenso",
|
||||
en: "Consensus mechanisms",
|
||||
jp: "",
|
||||
jp: "コンセンサスメカニズム",
|
||||
},
|
||||
theory: {
|
||||
es: `El **consenso** es el mecanismo por el cual todos los nodos de una red blockchain se ponen de acuerdo sobre cuál es el estado válido del ledger. Sin consenso, no hay blockchain.
|
||||
@@ -117,14 +117,64 @@ A consensus protocol must work correctly **even if some participants lie or fail
|
||||
### What makes Xahau's consensus different?
|
||||
|
||||
Xahau is not based on competition (like PoW) or locked capital (like PoS), but on **trust between validators** through UNL lists.`,
|
||||
jp: "",
|
||||
jp: `**コンセンサス**は、ブロックチェーンネットワークのすべてのノードがレジャーの有効な状態について合意するメカニズムです。コンセンサスなくして、ブロックチェーンは存在しません。
|
||||
|
||||
### なぜコンセンサスが必要なのか?
|
||||
|
||||
分散型ネットワークには、どのトランザクションが有効かを決定する中央権限が存在しません。コンセンサスは、複数の独立したノードが互いを信頼せずにどのように単一の状態に合意できるかという問題を解決します。
|
||||
|
||||
### 二重支払い問題
|
||||
|
||||
**二重支払い**はすべてのデジタルマネーシステムが解決しなければならない根本的な問題です:同じお金を2回使われるのをどうやって防ぐか?
|
||||
|
||||
物理的なお金ではこれは不可能です。誰かに紙幣を渡したら、自分はもう持っていません。しかしデジタルデータはコピーできます。コンセンサスメカニズムがなければ、アリスは10 XAHをボブに送ると同時に、その同じ10 XAHをキャロルに送ることができてしまいます。両方のトランザクションが別々に有効に見えます。
|
||||
|
||||
コンセンサスはこれを解決します:ネットワークのすべてのノードがトランザクションの**唯一の順序**について合意します。ボブへのトランザクションが最初に処理されれば、アリスにはもうその資金がないのでキャロルへのトランザクションは拒否されます。
|
||||
|
||||
### ビザンチン将軍問題
|
||||
|
||||
二重支払いは分散コンピューティングのより一般的な問題の特殊なケースです:**ビザンチン将軍問題**(1982年、ランポート、ショスタク、ピース)。
|
||||
|
||||
敵の都市を包囲した軍の複数の将軍を想像してください。攻撃するか撤退するかを調整しなければなりません。一部だけが攻撃すると負けます。問題は、彼らは使者を通じて通信し、**一部の将軍は混乱を引き起こすために矛盾した命令を送る裏切り者かもしれない**ことです。
|
||||
|
||||
ブロックチェーンに当てはめると:
|
||||
- **将軍**は**ノード/バリデーター**
|
||||
- **メッセージ**は**トランザクションと提案**
|
||||
- **裏切り者**は不正を試みる**悪意のあるノード**(例:二重支払いの承認)
|
||||
|
||||
コンセンサスプロトコルは**参加者の一部が嘘をついたり失敗しても**正しく機能しなければなりません。これを**ビザンチン障害耐性(BFT)**と呼びます。各コンセンサスメカニズムはこれを異なる方法で解決します:
|
||||
- **PoW**:嘘をつくことを非常に高価にする(エネルギーの消費が必要)
|
||||
- **PoS**:嘘をつくことに経済的な結果をもたらす(ステークを失う)
|
||||
- **フェデレーテッドコンセンサス(Xahau)**:信頼できるバリデーターの少なくとも80%の合意が必要
|
||||
|
||||
### 主なコンセンサスの種類
|
||||
|
||||
**プルーフ・オブ・ワーク(PoW)** — Bitcoin
|
||||
- マイナーが数学的問題を解いて競争する
|
||||
- 高エネルギー消費
|
||||
- 確率的な最終性(複数の確認を待つ必要がある)
|
||||
|
||||
**プルーフ・オブ・ステーク(PoS)** — Ethereum
|
||||
- バリデーターがトークンをステーク(担保)に入れる
|
||||
- PoWより効率的
|
||||
- より高速な最終性だが再編成の可能性あり
|
||||
|
||||
**フェデレーテッドコンセンサス / UNL** — Xahau
|
||||
- バリデーターが有効なトランザクションに投票する
|
||||
- マイニングもステーキングも不要
|
||||
- 数秒での決定論的な最終性
|
||||
- 低エネルギー消費
|
||||
|
||||
### Xahauのコンセンサスは何が違うのか?
|
||||
|
||||
Xahauは競争(PoWのような)にも、ロックされた資本(PoSのような)にも基づいていません。UNLリストを通じた**バリデーター間の信頼**に基づいています。`,
|
||||
},
|
||||
codeBlocks: [
|
||||
{
|
||||
title: {
|
||||
es: "Consultar el estado de los validadores",
|
||||
en: "Query the validator status",
|
||||
jp: "",
|
||||
jp: "バリデーターのステータスを照会する",
|
||||
},
|
||||
language: "javascript",
|
||||
code: {
|
||||
@@ -170,35 +220,55 @@ async function getValidators() {
|
||||
}
|
||||
|
||||
getValidators();`,
|
||||
jp: "",
|
||||
jp: `const { Client } = require("xahau");
|
||||
|
||||
async function getValidators() {
|
||||
const client = new Client("wss://xahau.network");
|
||||
await client.connect();
|
||||
|
||||
// バリデーター情報を含むサーバー情報を照会する
|
||||
const response = await client.request({
|
||||
command: "server_info"
|
||||
});
|
||||
|
||||
const info = response.result.info;
|
||||
console.log("コンセンサスの状態:");
|
||||
console.log(" 検証済みレジャー:", info.validated_ledger.seq);
|
||||
console.log(" ハッシュ:", info.validated_ledger.hash);
|
||||
console.log(" クォーラム:", info.validation_quorum);
|
||||
|
||||
await client.disconnect();
|
||||
}
|
||||
|
||||
getValidators();`,
|
||||
},
|
||||
},
|
||||
],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "¿Qué es el consenso?", en: "What is consensus?", jp: "" },
|
||||
title: { es: "¿Qué es el consenso?", en: "What is consensus?", jp: "コンセンサスとは?" },
|
||||
content: {
|
||||
es: "El mecanismo por el cual los nodos\nacuerdan el estado válido del ledger\n\n• Sin consenso, no hay blockchain\n• Resuelve el problema de la confianza\n• Cada red usa un mecanismo diferente",
|
||||
en: "The mechanism by which nodes\nagree on the valid state of the ledger\n\n• Without consensus, there is no blockchain\n• Solves the trust problem\n• Each network uses a different mechanism",
|
||||
jp: "",
|
||||
jp: "ノードがレジャーの有効な状態に\n合意するメカニズム\n\n• コンセンサスなくしてブロックチェーンは存在しない\n• 信頼の問題を解決する\n• ネットワークごとに異なるメカニズムを使用",
|
||||
},
|
||||
visual: "🤝",
|
||||
},
|
||||
{
|
||||
title: { es: "PoW vs PoS vs Federated", en: "PoW vs PoS vs Federated", jp: "" },
|
||||
title: { es: "PoW vs PoS vs Federated", en: "PoW vs PoS vs Federated", jp: "PoW vs PoS vs フェデレーテッド" },
|
||||
content: {
|
||||
es: "⛏️ PoW → Minería (Bitcoin)\n💰 PoS → Staking (Ethereum)\n🗳️ Federado → Votación (Xahau)\n\nXahau: sin minería, sin staking\nFinalidad determinística en segundos",
|
||||
en: "⛏️ PoW → Mining (Bitcoin)\n💰 PoS → Staking (Ethereum)\n🗳️ Federated → Voting (Xahau)\n\nXahau: no mining, no staking\nDeterministic finality in seconds",
|
||||
jp: "",
|
||||
jp: "⛏️ PoW → マイニング(Bitcoin)\n💰 PoS → ステーキング(Ethereum)\n🗳️ フェデレーテッド → 投票(Xahau)\n\nXahau:マイニングなし、ステーキングなし\n数秒での決定論的な最終性",
|
||||
},
|
||||
visual: "⚡",
|
||||
},
|
||||
{
|
||||
title: { es: "¿Por qué consenso federado?", en: "Why federated consensus?", jp: "" },
|
||||
title: { es: "¿Por qué consenso federado?", en: "Why federated consensus?", jp: "なぜフェデレーテッドコンセンサスなのか?" },
|
||||
content: {
|
||||
es: "Xahau eligió consenso federado por:\n\n• Velocidad → Finalidad en 3-5 segundos\n• Eficiencia energética → Sin minería costosa\n• Finalidad determinística → Sin reorgs ni forks\n• Sin barreras económicas → No requiere staking\n• Confianza distribuida → Validadores diversos\n\nIdeal para pagos y aplicaciones financieras",
|
||||
en: "Xahau chose federated consensus for:\n\n• Speed → Finality in 3-5 seconds\n• Energy efficiency → No costly mining\n• Deterministic finality → No reorgs or forks\n• No economic barriers → No staking required\n• Distributed trust → Diverse validators\n\nIdeal for payments and financial applications",
|
||||
jp: "",
|
||||
jp: "Xahauがフェデレーテッドコンセンサスを選んだ理由:\n\n• 速度 → 3〜5秒での最終性\n• エネルギー効率 → コストのかかるマイニング不要\n• 決定論的な最終性 → 再編成やフォークなし\n• 経済的障壁なし → ステーキング不要\n• 分散した信頼 → 多様なバリデーター\n\n支払いと金融アプリケーションに最適",
|
||||
},
|
||||
visual: "🏆",
|
||||
},
|
||||
@@ -209,7 +279,7 @@ getValidators();`,
|
||||
title: {
|
||||
es: "El protocolo de consenso de Xahau",
|
||||
en: "The Xahau consensus protocol",
|
||||
jp: "",
|
||||
jp: "Xahauのコンセンサスプロトコル",
|
||||
},
|
||||
theory: {
|
||||
es: `Xahau utiliza el **Mecanísmo de Consenso Federado**. Este protocolo se basa en el concepto de **UNL (Unique Node List)**, una lista de validadores en los que cada nodo confía.
|
||||
@@ -262,14 +332,38 @@ Each node maintains a **UNL**, the list of validators whose opinions it consider
|
||||
### Difference from Proof of Stake
|
||||
|
||||
In PoS, security is backed by economic capital (staked tokens). In Xahau's consensus, security is backed by the **reputation and diversity** of validators. Validators are operated by independent entities (universities, companies, foundations, or individuals).`,
|
||||
jp: "",
|
||||
jp: `Xahauは**フェデレーテッドコンセンサスメカニズム**を使用しています。このプロトコルは、各ノードが信頼するバリデーターのリストである**UNL(Unique Node List)**の概念に基づいています。
|
||||
|
||||
### どのように機能するのか?
|
||||
|
||||
1. **提案**:バリデーターが次のレジャーに含めるトランザクションのセットを提案する
|
||||
2. **投票**:バリデーターが自分のUNLの他のバリデーターの提案と比較する
|
||||
3. **収束**:複数のラウンドを通じて、バリデーターは共通のトランザクションセットに収束する
|
||||
4. **検証**:UNLバリデーターの少なくとも**80%**が合意すると、レジャーが検証される
|
||||
5. **クローズ**:新しいレジャーがクローズし、ネットワークの公式状態となる
|
||||
|
||||
### UNL(Unique Node List)
|
||||
|
||||
各ノードは**UNL**(意見を信頼できると考えるバリデーターのリスト)を維持します。すべてのノードが同じバリデーターを信頼する必要はありませんが、ネットワークが収束するには、UNL間に十分な**重複**が必要です。
|
||||
|
||||
### Xahauのコンセンサスの特性
|
||||
|
||||
- **決定論的な最終性**:レジャーが検証されると、それは最終的です。再編成はありません(Bitcoin/Ethereumとは異なる)
|
||||
- **速度**:レジャーは**3〜5秒**ごとにクローズする
|
||||
- **エネルギー効率**:PoWのような集中的な計算を必要としない
|
||||
- **ステーキング不要**:バリデーターは資本をロックする必要がない
|
||||
- **障害耐性**:UNLバリデーターの少なくとも80%が稼働している限りネットワークは機能する
|
||||
|
||||
### プルーフ・オブ・ステークとの違い
|
||||
|
||||
PoSでは、セキュリティは経済的資本(ステークされたトークン)によって裏付けられています。Xahauのコンセンサスでは、セキュリティはバリデーターの**評判と多様性**によって裏付けられています。バリデーターは独立した組織(大学、企業、財団、または個人)によって運営されています。`,
|
||||
},
|
||||
codeBlocks: [
|
||||
{
|
||||
title: {
|
||||
es: "Monitorizar el cierre de ledgers en tiempo real",
|
||||
en: "Monitor ledger closing in real time",
|
||||
jp: "",
|
||||
jp: "レジャーのクローズをリアルタイムで監視する",
|
||||
},
|
||||
language: "javascript",
|
||||
code: {
|
||||
@@ -333,35 +427,64 @@ async function monitorLedgers() {
|
||||
}
|
||||
|
||||
monitorLedgers();`,
|
||||
jp: "",
|
||||
jp: `const { Client } = require("xahau");
|
||||
|
||||
async function monitorLedgers() {
|
||||
const client = new Client("wss://xahau.network");
|
||||
await client.connect();
|
||||
|
||||
console.log("レジャーのクローズを監視中...");
|
||||
console.log("(各クローズ = コンセンサスラウンドの完了)");
|
||||
|
||||
// レジャーイベントをサブスクライブする
|
||||
await client.request({
|
||||
command: "subscribe",
|
||||
streams: ["ledger"]
|
||||
});
|
||||
|
||||
client.on("ledgerClosed", (ledger) => {
|
||||
console.log(\`レジャー #\${ledger.ledger_index} クローズ\`);
|
||||
console.log(\` ハッシュ: \${ledger.ledger_hash}\`);
|
||||
console.log(\` トランザクション数: \${ledger.txn_count}\`);
|
||||
console.log(\` 時刻: \${new Date().toISOString()}\`);
|
||||
});
|
||||
|
||||
// 30秒後に停止する
|
||||
setTimeout(async () => {
|
||||
console.log("監視を停止しています...");
|
||||
await client.disconnect();
|
||||
}, 30000);
|
||||
}
|
||||
|
||||
monitorLedgers();`,
|
||||
},
|
||||
},
|
||||
],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "UNL: Unique Node List", en: "UNL: Unique Node List", jp: "" },
|
||||
title: { es: "UNL: Unique Node List", en: "UNL: Unique Node List", jp: "UNL:ユニークノードリスト" },
|
||||
content: {
|
||||
es: "Cada nodo tiene una lista de validadores\nen los que confía (UNL)\n\n• Los validadores proponen transacciones\n• Votan en múltiples rondas\n• 80% de acuerdo → Ledger validado\n• Finalidad en 3-5 segundos",
|
||||
en: "Each node has a list of validators\nthat it trusts (UNL)\n\n• Validators propose transactions\n• They vote in multiple rounds\n• 80% agreement → Validated ledger\n• Finality in 3-5 seconds",
|
||||
jp: "",
|
||||
jp: "各ノードは信頼するバリデーターの\nリスト(UNL)を持つ\n\n• バリデーターがトランザクションを提案する\n• 複数のラウンドで投票する\n• 80%の合意 → レジャーが検証される\n• 3〜5秒での最終性",
|
||||
},
|
||||
visual: "🗳️",
|
||||
},
|
||||
{
|
||||
title: { es: "Propiedades del consenso", en: "Consensus properties", jp: "" },
|
||||
title: { es: "Propiedades del consenso", en: "Consensus properties", jp: "コンセンサスの特性" },
|
||||
content: {
|
||||
es: "✅ Finalidad determinística (sin reorgs)\n✅ Cierre cada 3-5 segundos\n✅ Sin minería ni staking\n✅ Bajo consumo energético\n✅ Tolerante a fallos (80% quorum)",
|
||||
en: "✅ Deterministic finality (no reorgs)\n✅ Closes every 3-5 seconds\n✅ No mining or staking\n✅ Low energy consumption\n✅ Fault tolerant (80% quorum)",
|
||||
jp: "",
|
||||
jp: "✅ 決定論的な最終性(再編成なし)\n✅ 3〜5秒ごとにクローズ\n✅ マイニングもステーキングも不要\n✅ 低エネルギー消費\n✅ 障害耐性あり(80%クォーラム)",
|
||||
},
|
||||
visual: "🛡️",
|
||||
},
|
||||
{
|
||||
title: { es: "Las 5 fases del consenso", en: "The 5 phases of consensus", jp: "" },
|
||||
title: { es: "Las 5 fases del consenso", en: "The 5 phases of consensus", jp: "コンセンサスの5つのフェーズ" },
|
||||
content: {
|
||||
es: "1️⃣ Propuesta → Validadores proponen transacciones\n2️⃣ Votación → Comparan propuestas con su UNL\n3️⃣ Convergencia → Varias rondas hasta coincidir\n4️⃣ Validación → 80% de acuerdo en la UNL\n5️⃣ Cierre → Nuevo ledger oficial e irreversible\n\nTodo el proceso tarda 3-5 segundos",
|
||||
en: "1️⃣ Proposal → Validators propose transactions\n2️⃣ Voting → Compare proposals with their UNL\n3️⃣ Convergence → Multiple rounds until agreement\n4️⃣ Validation → 80% agreement in the UNL\n5️⃣ Closing → New official and irreversible ledger\n\nThe entire process takes 3-5 seconds",
|
||||
jp: "",
|
||||
jp: "1️⃣ 提案 → バリデーターがトランザクションを提案する\n2️⃣ 投票 → UNLの提案と比較する\n3️⃣ 収束 → 合意するまで複数ラウンド繰り返す\n4️⃣ 検証 → UNLの80%が合意する\n5️⃣ クローズ → 新しい公式かつ不可逆のレジャー\n\nプロセス全体は3〜5秒",
|
||||
},
|
||||
visual: "🔄",
|
||||
},
|
||||
@@ -372,7 +495,7 @@ monitorLedgers();`,
|
||||
title: {
|
||||
es: "Tolerancia a fallos bizantinos",
|
||||
en: "Byzantine Fault Tolerance",
|
||||
jp: "",
|
||||
jp: "ビザンチン障害耐性",
|
||||
},
|
||||
theory: {
|
||||
es: `La seguridad de una blockchain depende de su capacidad para funcionar correctamente incluso cuando algunos participantes fallan o actúan de forma maliciosa. Este concepto se conoce como **Tolerancia a Fallos Bizantinos (BFT)**.
|
||||
@@ -429,25 +552,51 @@ Scenarios that Xahau handles:
|
||||
### What happens when validators disagree?
|
||||
|
||||
When the 80% threshold is not reached, the ledger simply **does not close**. Disputed transactions are postponed until the next consensus round. There is no "partial winner" — either there is full consensus or there is no closing. If agreement cannot be reached, the blockchain halts rather than making an error.`,
|
||||
jp: "",
|
||||
jp: `ブロックチェーンのセキュリティは、一部の参加者が失敗したり悪意を持って行動したりしても正しく機能する能力に依存しています。この概念は**ビザンチン障害耐性(BFT)**として知られています。
|
||||
|
||||
### ビザンチン将軍問題
|
||||
|
||||
敵の都市を包囲した軍の複数の将軍を想像してください。勝つには同時攻撃を調整しなければなりません。一部だけが攻撃すると負けます。問題は、使者を通じて通信しており、**一部の将軍が矛盾したメッセージを送る裏切り者かもしれない**ことです。
|
||||
|
||||
これが1982年にランポート、ショスタク、ピースが定式化した**ビザンチン将軍問題**です。ブロックチェーンに当てはめると:
|
||||
- **将軍**は**バリデーター**
|
||||
- **メッセージ**は**トランザクションの提案**
|
||||
- **裏切り者**は**悪意のあるまたは欠陥のあるノード**
|
||||
|
||||
### BFTとは何を意味するのか?
|
||||
|
||||
参加者の一部が任意に行動(誤ったデータを送信する、応答しない、またはネットワークを妨害しようとする)しても、システムが正しいコンセンサスに達できる場合、そのシステムは**ビザンチン障害耐性**を持っています。
|
||||
|
||||
### XahauはBFをどのように処理するのか?
|
||||
|
||||
Xahauのコンセンサスプロトコルは、レジャーを検証するためにUNLバリデーターの少なくとも**80%**の合意を必要とします。これはネットワークが最大**20%の欠陥または悪意のあるバリデーター**を許容し、正しく機能し続けられることを意味します。
|
||||
|
||||
Xahauが処理するシナリオ:
|
||||
- **ダウンしたバリデーター**:バリデーターが応答を停止しても、他のバリデーターはそれなしで続行する
|
||||
- **悪意のあるバリデーター**:バリデーターが無効なトランザクションを提案しても、残りの80%はそれを無視する
|
||||
- **ネットワーク分断**:バリデーターのグループが接続性を失っても、多数派グループ(>80%)は検証を続ける
|
||||
|
||||
### バリデーターが合意しない場合はどうなるのか?
|
||||
|
||||
80%の閾値に達しない場合、レジャーは単純に**クローズしません**。係争中のトランザクションは次のコンセンサスラウンドまで延期されます。「部分的な勝者」は存在しません。完全なコンセンサスがあるか、クローズしないかのどちらかです。合意に達しない場合、ブロックチェーンはエラーを犯すよりも停止することを選択します。`,
|
||||
},
|
||||
codeBlocks: [],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "El Problema de los Generales Bizantinos", en: "The Byzantine Generals Problem", jp: "" },
|
||||
title: { es: "El Problema de los Generales Bizantinos", en: "The Byzantine Generals Problem", jp: "ビザンチン将軍問題" },
|
||||
content: {
|
||||
es: "Generales deben coordinar un ataque\npero algunos pueden ser traidores\n\nEn blockchain:\n🏛️ Generales = Validadores\n📨 Mensajes = Propuestas de transacciones\n🦹 Traidores = Nodos maliciosos\n\nBFT = funcionar correctamente\nincluso con actores maliciosos",
|
||||
en: "Generals must coordinate an attack\nbut some may be traitors\n\nIn blockchain:\n🏛️ Generals = Validators\n📨 Messages = Transaction proposals\n🦹 Traitors = Malicious nodes\n\nBFT = functioning correctly\neven with malicious actors",
|
||||
jp: "",
|
||||
jp: "将軍たちは攻撃を調整しなければならないが\n一部は裏切り者かもしれない\n\nブロックチェーンでは:\n🏛️ 将軍 = バリデーター\n📨 メッセージ = トランザクションの提案\n🦹 裏切り者 = 悪意のあるノード\n\nBFT = 悪意のある行為者がいても\n正しく機能すること",
|
||||
},
|
||||
visual: "🏛️",
|
||||
},
|
||||
{
|
||||
title: { es: "Xahau y la tolerancia a fallos", en: "Xahau and fault tolerance", jp: "" },
|
||||
title: { es: "Xahau y la tolerancia a fallos", en: "Xahau and fault tolerance", jp: "Xahauと障害耐性" },
|
||||
content: {
|
||||
es: "Xahau tolera hasta 20% de fallos\n\n• 80% de la UNL debe estar de acuerdo\n• Validador caído → los demás continúan\n• Validador malicioso → es ignorado\n• Sin consenso → el ledger no se cierra\n (nunca se fuerza un resultado parcial)",
|
||||
en: "Xahau tolerates up to 20% failures\n\n• 80% of the UNL must agree\n• Downed validator → the others continue\n• Malicious validator → it is ignored\n• No consensus → the ledger does not close\n (a partial result is never forced)",
|
||||
jp: "",
|
||||
jp: "Xahauは最大20%の障害を許容する\n\n• UNLの80%が合意しなければならない\n• ダウンしたバリデーター → 他が続行する\n• 悪意のあるバリデーター → 無視される\n• コンセンサスなし → レジャーはクローズしない\n (部分的な結果は強制されない)",
|
||||
},
|
||||
visual: "🛡️",
|
||||
}
|
||||
@@ -458,7 +607,7 @@ When the 80% threshold is not reached, the ledger simply **does not close**. Dis
|
||||
title: {
|
||||
es: "Validadores en la práctica",
|
||||
en: "Validators in practice",
|
||||
jp: "",
|
||||
jp: "実践におけるバリデーター",
|
||||
},
|
||||
theory: {
|
||||
es: `Hasta ahora hemos hablado de validadores de forma teórica. En esta lección veremos cómo funcionan **en la práctica**: quién los opera, qué se necesita para ejecutar uno, y cómo la red evoluciona a través del sistema de enmiendas.
|
||||
@@ -591,14 +740,78 @@ How do you measure if a network is truly decentralized? Some key metrics:
|
||||
- **Operator diversity**: Different types of entities (companies, universities, individuals)
|
||||
- **Infrastructure diversity**: Different hosting providers, not all on AWS or Google Cloud
|
||||
- **UNL overlap**: What percentage of validators the different UNLs share`,
|
||||
jp: "",
|
||||
jp: `これまでバリデーターについて理論的に話してきました。このレッスンでは**実践的に**どのように機能するかを見ていきます:誰が運営するか、1つ実行するために何が必要か、そしてネットワークがエンメントメントシステムを通じてどのように進化するか。
|
||||
|
||||
### Xahauで誰がバリデーターを運営するのか?
|
||||
|
||||
分散型ネットワークの強さはその**バリデーターの多様性**に依存します。Xahauでは、バリデーターは以下によって運営されます:
|
||||
|
||||
- エコシステムの**財団と組織**
|
||||
- ネットワーク上に構築する**企業**
|
||||
- コミュニティの**独立した開発者**
|
||||
|
||||
重要なのは、バリデーターが異なる管轄区域で異なる動機を持つ**独立した**組織によって運営されることです。これにより共謀が困難になります。
|
||||
|
||||
### バリデーターを運営するための要件
|
||||
|
||||
Xahauでバリデーターノードを実行するには以下が必要です:
|
||||
|
||||
- **ハードウェア**:少なくとも8GBのRAM、4つのCPU、高速SSDストレージを持つサーバー
|
||||
- **ネットワーク**:低遅延と高可用性の安定したインターネット接続
|
||||
- **ソフトウェア**:バリデーターモードで設定された`xahaud`ソフトウェア(Xahauデーモン)
|
||||
- **可用性**:99%以上のアップタイムで24時間365日オンライン
|
||||
- **メンテナンス**:新バージョン公開時の定期的なソフトウェア更新
|
||||
|
||||
バリデーターになるためにデポジットやトークンのステーキングは必要ありません。
|
||||
|
||||
### デフォルトUNL vs カスタムUNL
|
||||
|
||||
**デフォルトUNL(dUNL)**:
|
||||
- ネットワークの主要オペレーターが公開する推奨バリデーターリスト
|
||||
- 新しいノードはデフォルトでこのリストを使用する
|
||||
- バリデーターを追加・削除するために定期的に更新される
|
||||
|
||||
**カスタムUNL**:
|
||||
- 各ノードオペレーターは独自のUNLを作成できる
|
||||
- 具体的にどのバリデーターを信頼するかを選択できる
|
||||
- 収束を維持するために他のUNLと十分な重複が必要
|
||||
- より多くのコントロールを望む上級オペレーターに有用
|
||||
|
||||
### バリデーターが切断された場合はどうなるのか?
|
||||
|
||||
UNLバリデーターが応答を停止した場合:
|
||||
1. 他のバリデーターはそれなしで続行する
|
||||
2. クォーラムは**アクティブな**バリデーターに基づいて計算される
|
||||
3. あまりにも多くのバリデーターがダウンした場合(80%未満利用可能)、ネットワークは新しいレジャーの**検証を停止する**(破損せず、一時停止するだけ)
|
||||
4. 十分なバリデーターが戻ると、ネットワークは自動的に再開する
|
||||
|
||||
### エンメントメント(修正案)とプロトコル投票
|
||||
|
||||
**エンメントメント**はXahauが分散型の方法でプロトコルを更新するメカニズムです:
|
||||
|
||||
1. 開発者がプロトコルへの変更を提案し、一意のエンメントメントIDで実装する
|
||||
2. バリデーターがそのエンメントメントのアクティベーションを支持するかどうか**投票する**
|
||||
3. エンメントメントが**2週間連続して**バリデーターの**80%のサポート**を受けると、自動的にアクティベートされる
|
||||
4. 一度アクティベートされると、永続的かつ不可逆です
|
||||
|
||||
エンメントメントの例:新しいトランザクションタイプ、新しいブロックチェーン機能。
|
||||
|
||||
### 分散化の指標
|
||||
|
||||
ネットワークが本当に分散化されているかどうかをどのように測定するか?主要な指標:
|
||||
|
||||
- **中本係数**:ネットワークを侵害するために共謀する必要がある最小エンティティ数。高いほど良い
|
||||
- **地理的分布**:異なる国や大陸のバリデーター
|
||||
- **オペレーターの多様性**:異なる種類のエンティティ(企業、大学、個人)
|
||||
- **インフラの多様性**:異なるホスティングプロバイダー、すべてAWSやGoogleクラウドではない
|
||||
- **UNLの重複**:異なるUNLが共有するバリデーターの割合`,
|
||||
},
|
||||
codeBlocks: [
|
||||
{
|
||||
title: {
|
||||
es: "Consultar server_info y campos de validadores",
|
||||
en: "Query server_info and validator fields",
|
||||
jp: "",
|
||||
jp: "server_infoとバリデーターフィールドを照会する",
|
||||
},
|
||||
language: "javascript",
|
||||
code: {
|
||||
@@ -672,14 +885,48 @@ async function inspectValidatorInfo() {
|
||||
}
|
||||
|
||||
inspectValidatorInfo();`,
|
||||
jp: "",
|
||||
jp: `const { Client } = require("xahau");
|
||||
|
||||
async function inspectValidatorInfo() {
|
||||
const client = new Client("wss://xahau.network");
|
||||
await client.connect();
|
||||
|
||||
const response = await client.request({
|
||||
command: "server_info"
|
||||
});
|
||||
|
||||
const info = response.result.info;
|
||||
|
||||
console.log("=== サーバー情報 ===");
|
||||
console.log("サーバーバージョン:", info.build_version);
|
||||
console.log("ステータス:", info.server_state);
|
||||
console.log("");
|
||||
|
||||
console.log("=== コンセンサスの状態 ===");
|
||||
console.log("検証クォーラム:", info.validation_quorum);
|
||||
console.log("検証済みレジャー:", info.validated_ledger.seq);
|
||||
console.log("レジャーハッシュ:", info.validated_ledger.hash);
|
||||
console.log("レジャーの経過時間:", info.validated_ledger.age, "秒");
|
||||
console.log("基本リザーブ:", info.validated_ledger.reserve_base_xrp, "XAH");
|
||||
console.log("オブジェクトごとのリザーブ:", info.validated_ledger.reserve_inc_xrp, "XAH");
|
||||
console.log("");
|
||||
|
||||
console.log("=== ネットワーク指標 ===");
|
||||
console.log("接続済みピア:", info.peers);
|
||||
console.log("稼働時間:", info.uptime, "秒");
|
||||
console.log("サーバー負荷:", info.load_factor);
|
||||
|
||||
await client.disconnect();
|
||||
}
|
||||
|
||||
inspectValidatorInfo();`,
|
||||
},
|
||||
},
|
||||
{
|
||||
title: {
|
||||
es: "Consultar las tarifas actuales de la red",
|
||||
en: "Query current network fees",
|
||||
jp: "",
|
||||
jp: "現在のネットワーク手数料を照会する",
|
||||
},
|
||||
language: "javascript",
|
||||
code: {
|
||||
@@ -753,35 +1000,69 @@ async function checkNetworkFees() {
|
||||
}
|
||||
|
||||
checkNetworkFees();`,
|
||||
jp: "",
|
||||
jp: `const { Client } = require("xahau");
|
||||
|
||||
async function checkNetworkFees() {
|
||||
const client = new Client("wss://xahau.network");
|
||||
await client.connect();
|
||||
|
||||
// feeコマンド:現在のネットワーク手数料を表示する
|
||||
const feeResponse = await client.request({
|
||||
command: "fee"
|
||||
});
|
||||
|
||||
const fee = feeResponse.result;
|
||||
console.log("=== 現在のネットワーク手数料 ===");
|
||||
console.log("基本手数料(drops):", fee.drops.base_fee);
|
||||
console.log("中央値手数料(drops):", fee.drops.median_fee);
|
||||
console.log("最低手数料(drops):", fee.drops.minimum_fee);
|
||||
console.log("オープンレジャー手数料(drops):", fee.drops.open_ledger_fee);
|
||||
console.log("");
|
||||
|
||||
// dropsをXAHに変換する(1 XAH = 1,000,000 drops)
|
||||
const baseFeeXAH = Number(fee.drops.base_fee) / 1_000_000;
|
||||
const medianFeeXAH = Number(fee.drops.median_fee) / 1_000_000;
|
||||
console.log("=== XAH換算 ===");
|
||||
console.log("基本手数料:", baseFeeXAH, "XAH");
|
||||
console.log("中央値手数料:", medianFeeXAH, "XAH");
|
||||
console.log("");
|
||||
|
||||
console.log("=== レジャーの状態 ===");
|
||||
console.log("現在のレジャー:", fee.ledger_current_index);
|
||||
console.log("予想負荷レベル:", fee.levels.median_level);
|
||||
|
||||
await client.disconnect();
|
||||
}
|
||||
|
||||
checkNetworkFees();`,
|
||||
},
|
||||
},
|
||||
],
|
||||
slides: [
|
||||
{
|
||||
title: { es: "¿Quién opera los validadores?", en: "Who operates the validators?", jp: "" },
|
||||
title: { es: "¿Quién opera los validadores?", en: "Who operates the validators?", jp: "誰がバリデーターを運営するのか?" },
|
||||
content: {
|
||||
es: "La diversidad es clave para la seguridad:\n\n🏛️ Fundaciones del ecosistema\n🏢 Empresas que construyen sobre Xahau\n🎓 Universidades e instituciones\n👩💻 Desarrolladores independientes\n\nIndependientes, en distintas jurisdicciones\nSin requisito de staking",
|
||||
en: "Diversity is key to security:\n\n🏛️ Ecosystem foundations\n🏢 Companies building on Xahau\n🎓 Universities and institutions\n👩💻 Independent developers\n\nIndependent, in different jurisdictions\nNo staking requirement",
|
||||
jp: "",
|
||||
jp: "多様性がセキュリティの鍵:\n\n🏛️ エコシステムの財団\n🏢 Xahau上に構築する企業\n🎓 大学と機関\n👩💻 独立した開発者\n\n異なる管轄区域で独立\nステーキング要件なし",
|
||||
},
|
||||
visual: "🌐",
|
||||
},
|
||||
{
|
||||
title: { es: "Enmiendas: gobernanza descentralizada", en: "Amendments: decentralized governance", jp: "" },
|
||||
title: { es: "Enmiendas: gobernanza descentralizada", en: "Amendments: decentralized governance", jp: "エンメントメント:分散型ガバナンス" },
|
||||
content: {
|
||||
es: "Las actualizaciones del protocolo\nse votan de forma descentralizada:\n\n1. Se propone un cambio (amendment)\n2. Los validadores votan a favor o en contra\n3. 80% de apoyo durante 2 semanas\n4. Se activa automáticamente\n5. Es permanente e irreversible",
|
||||
en: "Protocol updates\nare voted on in a decentralized way:\n\n1. A change is proposed (amendment)\n2. Validators vote for or against\n3. 80% support for 2 weeks\n4. It is activated automatically\n5. It is permanent and irreversible",
|
||||
jp: "",
|
||||
jp: "プロトコルの更新は\n分散型の方法で投票される:\n\n1. 変更(エンメントメント)を提案する\n2. バリデーターが賛否を投票する\n3. 2週間、80%の支持を得る\n4. 自動的にアクティベートされる\n5. 永続的かつ不可逆",
|
||||
},
|
||||
visual: "🗳️",
|
||||
},
|
||||
{
|
||||
title: { es: "Midiendo la descentralización", en: "Measuring decentralization", jp: "" },
|
||||
title: { es: "Midiendo la descentralización", en: "Measuring decentralization", jp: "分散化の測定" },
|
||||
content: {
|
||||
es: "Métricas clave:\n\n📊 Coeficiente Nakamoto (mín. entidades para atacar)\n🌍 Distribución geográfica\n🏛️ Diversidad de operadores\n☁️ Diversidad de infraestructura\n🔗 Solapamiento de UNLs\n\nMás diversidad = más seguridad",
|
||||
en: "Key metrics:\n\n📊 Nakamoto Coefficient (min. entities to attack)\n🌍 Geographic distribution\n🏛️ Operator diversity\n☁️ Infrastructure diversity\n🔗 UNL overlap\n\nMore diversity = more security",
|
||||
jp: "",
|
||||
jp: "主要な指標:\n\n📊 中本係数(攻撃に必要な最小エンティティ数)\n🌍 地理的分布\n🏛️ オペレーターの多様性\n☁️ インフラの多様性\n🔗 UNLの重複\n\nより多様性 = より高いセキュリティ",
|
||||
},
|
||||
visual: "📊",
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user