SmartHoldem Post-Quantum Node v0.25.48·เวอร์ชันล่าสุด

SmartHoldem · Web 4.0 Ecosystem

SmartHoldem บล็อกเชน: Web 4.0 & Post-Quantum ความปลอดภัย

โครงสร้างพื้นฐาน DPoS Blockchain ที่เป็นนวัตกรรม

SmartHoldem คือชั้นความไว้วางใจและการชำระบัญชีแบบกระจายศูนย์สำหรับ Web 4.0 เขียนใหม่ตั้งแต่ต้นด้วย Rust มอบสถาปัตยกรรม P2P พร้อมการข้ามผ่าน NAT ในตัวและความทนทานต่อภัยคุกคามเชิงควอนตัม

SmartHoldem Web 4.0 P2P node mesh: servers, laptops, phones and home devices

เลื่อนเมาส์เพื่อดูโหนด ทั้งที่บ้านหรือเซิร์ฟเวอร์ หนึ่งเครือข่าย Mesh

ความเร็วและขนาด

สร้างขึ้นเพื่อความเร็วและขนาด

Rust core ใหม่ของ SmartHoldem ทลายข้อจำกัดของ Blockchain แบบดั้งเดิม: คอขวดของ Node.js และ PostgreSQL ถูกแทนที่ด้วยเอนจินที่ได้รับการปรับแต่งอย่างเต็มที่และ Sled DB ส่งมอบการซิงค์ที่รวดเร็วเหนือชั้นและปริมาณงานที่สูงมาก

การประมวลผลบล็อกระดับมิลลิวินาที

บล็อกที่มี 500 ธุรกรรมได้รับการตรวจสอบและนำไปใช้ใน ~50 ms ด้วยพลังของ BFT finality gadget และการประมวลผลแบบขนาน เครือข่ายบรรลุความสมบูรณ์ที่แน่นอนและไม่สามารถย้อนกลับได้ในเพียง 1 สล็อต (~8 วินาที)

ความสามารถในการขยายตัวแบบ Serverless อย่างแท้จริง

ขับเคลื่อนด้วยโปรโตคอล Iroh P2P ไม่จำเป็นต้องพึ่งพาผู้ให้บริการ Cloud แบบรวมศูนย์ แต่คุณสามารถรันโหนดของตัวเองได้ แล็ปท็อป Raspberry Pi หรืออุปกรณ์มือถือ ARM64 ทุกเครื่องสามารถเป็นโหนดที่ตรวจสอบได้เต็มรูปแบบอยู่หลัง NAT ใดก็ได้ โดยไม่ต้องมี IP แบบ Static

เป็นมิตรกับสิ่งแวดล้อมและเบาที่สุด

โหนดตรวจสอบแบบเต็มรูปแบบใช้ RAM เพียง ~800 MB DPoS ที่รวมกับ zero-cost abstractions ของ Rust ทำให้นี่เป็นเครือข่ายที่ประหยัดพลังงานที่สุดที่มีอยู่

Performance benchmarks

Benchmark

Benchmark ประสิทธิภาพ

การทดสอบโหลดในสภาพแวดล้อมจริงบน Rust core ใหม่ยืนยันความสามารถในการขยายตัวระดับองค์กรเทียบเท่า Visa

ประสิทธิภาพนั้นถูกวัดจริง ไม่ใช่เพียงการอ้างสิทธิ์ ผลการทดสอบต่อไปนี้สะท้อนสถาปัตยกรรม Rust + Sled ใหม่ พร้อมการตรวจสอบลายเซ็นแบบขนาน (Rayon) และไปป์ไลน์การเข้ารหัสที่ได้รับการปรับแต่งอย่างเต็มที่

256

MultiPayments ต่อ TX

5.53B

Operation / วัน (peak)

การกำหนดค่าOperation / วินาทีOperation / ชั่วโมงOperation / วัน
2000 TX/block (MultiPayments)64,000230.4M5.53B
1000 TX/block (MultiPayments)32,000115.2M2.76B
500 TX/block (MultiPayments)16,00057.6M1.38B

ใต้ฝากระโปรง

สแต็กทางเทคนิค

เอนจิน Blockchain หลัก

  • ภาษา: 100% Rust พร้อมการตรวจสอบลายเซ็นแบบขนาน (Rayon) ความปลอดภัยของหน่วยความจำ และ zero-cost abstractions
  • ฐานข้อมูล: ระบบจัดเก็บแบบ Embedded Sled key-value store พร้อมการบีบอัด zstd รองรับบล็อกกว่า 11.7M+ ในขนาดเพียง ~8 GB แทนที่การพึ่งพา PostgreSQL แบบเดิม
  • ฉันทามติ: DPoS พร้อมผู้แทนที่ใช้งานอยู่ 21 คน เสริมด้วย BFT finality gadget (ความสมบูรณ์แบบกำหนดได้ภายใน 1 สล็อต)
  • การเข้ารหัส: โมเดลความปลอดภัยแบบไฮบริด รวม secp256k1 คลาสสิก (BIP-Schnorr) เข้ากับ post-quantum ML-DSA-44 (NIST FIPS 204) ผ่าน Quantum Shield

API, SDK และ SmartNet

  • สะพานนักพัฒนา: Native window.smartholdem IPC สำหรับ Tauri dApps พร้อมการเข้าถึงแบบปลอดภัยและ sandboxed สำหรับการเซ็นชื่อ การจัดเก็บ P2P และสถานะเครือข่าย
  • ออบเจ็กต์ที่ตั้งโปรแกรมได้: SmartObjects และ Tokens แบบ Native พร้อม Registries การออกสินทรัพย์ โดยไม่มีค่าใช้จ่าย smart-contract และปราศจากความเสี่ยงจาก EVM
  • การจัดเก็บข้อมูล: การตรวจสอบแบบ BLAKE3 content-addressed พร้อม Metadata ที่ยึดไว้บนเชนใน SmartNetData รับประกันความสมบูรณ์อย่างแน่นอน โดยไม่ต้องใช้ indexer ภายนอก
  • API และ SDK: RESTful API และ SDK ที่เข้ากันได้ย้อนหลัง 100% พร้อม QUIC push streams แบบ real-time สำหรับการอัปเดตทันทีโดยไม่ต้องทำ polling

การขนส่ง P2P สำหรับ Web 4.0

  • โปรโตคอล: สร้างบน Iroh (QUIC/UDP) ให้การเชื่อมต่อแบบเข้ารหัสและ multiplexed พร้อม NAT traversal และ hole-punching แบบ native โดยโหนดสามารถสร้างและซิงค์บล็อกจากหลัง home router โดยไม่ต้องมี IP แบบ static
  • โทโพโลยีเครือข่าย: สถาปัตยกรรม dual-stack การสื่อสารหลักดำเนินการผ่าน Iroh mesh แบบกระจายศูนย์ ในขณะที่ยังคง WebSocket/Protobuf bridge แบบเดิม (port 4001) ไว้เพื่อความเข้ากันได้ย้อนหลังกับโหนดบนเซิร์ฟเวอร์โดยเฉพาะ
  • การค้นพบแบบกระจายศูนย์: การค้นพบ Peer อาศัย Mainline DHT, mDNS แบบท้องถิ่น และ Peer Address Book ที่เซ็นชื่อด้วยการเข้ารหัส ขจัดการพึ่งพา DNS แบบรวมศูนย์หรือบริการ relay สาธารณะ

การกระจายอำนาจที่แท้จริง

กำกับโดยชุมชน ไม่ใช่องค์กร

การกระจายอำนาจเป็นสิ่งพื้นฐาน บล็อกเชน SmartHoldem DPoS ไม่สามารถเปลี่ยนแปลงได้ และการดำเนินการทั้งหมดไม่สามารถย้อนกลับได้ ธุรกรรมใดๆ สามารถดูได้อย่างโปร่งใสบน Block Explorer หรือผ่าน API ได้ตลอดเวลา

  • การโหวตแบบประชาธิปไตย

    ผู้ตรวจสอบได้รับเลือกจากชื่อเสียง ไม่ใช่การควบคุมแบบรวมศูนย์

  • ไม่มีเหรียญที่ถูก freeze

    ผู้ใช้โหวตด้วยพลังของยอดคงเหลือ เหรียญอยู่ภายใต้การควบคุมของผู้ใช้โดยสมบูรณ์

  • ความรับผิดชอบ

    ผู้ถือ STH คนใดก็สามารถโหวต เลือก หรือยกเลิกผู้แทน ผู้แทนที่ไม่มีประสิทธิภาพจะถูกแทนที่โดยชุมชนอย่างรวดเร็ว

  • ความเป็นเจ้าของ

    การถือเพียง >1 STH จะให้สิทธิ์โหวตเต็มรูปแบบบนเครือข่าย

Community governance
21 delegates ring topology

ระบบผู้แทน

TOP 21: การรักษาความปลอดภัยเครือข่าย

ผู้แทน (หรือที่รู้จักในชื่อพยานหรือผู้ผลิตบล็อก) มีหน้าที่รับผิดชอบในการตรวจสอบธุรกรรม สร้างบล็อกใหม่ และปกป้องเครือข่าย SmartHoldem โดยพวกเขาไม่สามารถเปลี่ยนแปลงหรือมีอิทธิพลต่อข้อมูลธุรกรรมได้

21

ผู้แทนที่ใช้งานอยู่ใน TOP

8s

เวลาบล็อกเฉลี่ย

100%

โหวตโดยชุมชน

0%

การควบคุมแบบรวมศูนย์

ระบบผู้แทนมีการแข่งขันสูง ผู้แทนสามารถเข้าหรือออกจาก TOP 21 ได้ตลอดเวลา ระบบที่ยั่งยืนนี้ให้โอกาสผู้แทนใหม่พิสูจน์ตัวเองและดึงดูดความสนใจจากชุมชน

เศรษฐศาสตร์

รางวัลที่ยั่งยืน ไม่มีการปล่อยเงินเฟ้อ

ไม่มี ไม่มีการปล่อย ในบล็อกเชน SmartHoldem (DPoS) ผู้แทนได้รับรางวัลเฉพาะจากค่าธรรมเนียมธุรกรรมเท่านั้น รับประกันโมเดลเศรษฐกิจแบบลดเงินเฟ้อและยั่งยืน

ผู้แทนที่ลงชื่อบล็อกจะได้รับ ค่าธรรมเนียมเครือข่ายทั้งหมด จากธุรกรรมที่รวมอยู่ในบล็อกนั้น

ผู้แทนหาเงินได้อย่างไร

500 STH

ต่อบล็อก (สูงสุด)

500 ธุรกรรมมาตรฐานในบล็อก → ได้รับสูงสุด 500 STH

10,000 STH

ค่าธรรมเนียมการลงทะเบียน

ธุรกรรมลงทะเบียนผู้แทน → ได้รับ 10,000 STH

500 STH

การออกโทเค็น

ค่าธรรมเนียม 50% ถูกเผา

การเปิดตัวโทเค็นเนทิฟ Web4 ใหม่แต่ละครั้งจะทำให้ผู้แทนได้รับรางวัล

ประเภทธุรกรรมขั้นสูง

SmartHoldem รองรับระบบนิเวศธุรกรรมที่หลากหลาย สร้างรายได้ค่าธรรมเนียมที่หลากหลาย:

Multi-paymentsGamingMulti-signaturesCrypto-signaturesSecond passphraseBurnHTLCCopyright registrationPQ Second SignatureName RegistrationEncryptedMemoConfidential TransfersMulti-Signature EscrowPaid MessagesSmartObjectsTokenMintSubscriptions
รายการค่าธรรมเนียมในบล็อกเชน SmartHoldem

มีส่วนร่วม

กลายเป็นผู้แทน SmartHoldem

การรักษาความปลอดภัยเครือข่ายไม่ได้จำกัดอยู่แค่ศูนย์ข้อมูลขององค์กรอีกต่อไป ด้วย Rust core ใหม่และการขนส่ง Iroh P2P ทุกคนสามารถรันโหนดตรวจสอบและมีส่วนร่วมในฉันทามติจากทุกที่ในโลก

ข้อกำหนดโหนดที่แนะนำ

RAM 8 GB, CPU 4 คอร์, HDD 64 GB หรือ SSD 32 GB

  1. 1

    ลงทะเบียนและเข้าร่วมการแข่งขัน

    การรักษาความปลอดภัยเครือข่ายไม่ได้จำกัดอยู่แค่ศูนย์ข้อมูลขององค์กรอีกต่อไป ด้วย Rust core ใหม่และการขนส่ง Iroh P2P ทุกคนสามารถรันโหนดตรวจสอบและมีส่วนร่วมในฉันทามติจากทุกที่ในโลก

  2. 2

    ตั้งค่าโหนดของคุณ (ไม่ต้องใช้ IP แบบ Static)

    ดาวน์โหลดไบนารี sth-core-pq ที่มีน้ำหนักเบา ใช้ RAM เพียง ~800 MB และพื้นที่ดิสก์ ~8 GB ต้องขอบคุณการข้ามผ่าน Iroh QUIC NAT คุณไม่จำเป็นต้องมี IP แบบ Static หรือพอร์ตที่เปิดอยู่ ผลิตบล็อกอย่างปลอดภัยจากแล็ปท็อป Raspberry Pi หรือเซิร์ฟเวอร์ของคุณ

  3. 3

    ประกาศการเป็นผู้สมัครผู้แทนของคุณ

    ส่งข้อเสนอในฟอรัมชุมชนโดยระบุรายละเอียดการตั้งค่าเครือข่าย เปอร์เซ็นต์การจ่ายผลตอบแทนที่เสนอ และบริการเสริมต่างๆ จากนั้นแนะนำตัว delegate ของคุณต่อชุมชนผ่าน Telegram และการเข้าถึงเชิงรุก

  4. 4

    รับผลตอบแทนที่แท้จริง

    รับรายได้ 100% จากค่าธรรมเนียมเครือข่ายจากบล็อกที่คุณผลิต ด้วยการออกเหรียญแบบไม่มีเงินเฟ้อ รางวัลของคุณจึงถูกหนุนหลังด้วยประโยชน์ใช้สอยของเครือข่ายที่แท้จริง ไม่ว่าจะเป็นการโอน การเปิดตัวโทเค็น การลงทะเบียนชื่อ การจัดเก็บข้อมูล P2P รีเลย์ dVPN และอื่นๆ

  5. 5

    มีส่วนร่วมและขยายระบบนิเวศ

    Delegates ได้รับเลือกโดยชุมชน สร้างความน่าเชื่อถือด้วยการแบ่งปันรางวัลอย่างโปร่งใส การรัน Netfory seeders สาธารณะ หรือการมีส่วนร่วมอย่างแข็งขันในระบบนิเวศ Web 4.0

How to become a SmartHoldem delegate: 8 GB RAM node, install, register 10,000 STH, declare, get votes into Top 21

ชุมชน

การเชื่อมต่อชุมชน

ในฐานะผู้แทน การมีส่วนร่วมอย่างแข็งขันและการเชื่อมต่อกับชุมชนเป็นสิ่งสำคัญในการรับการโหวต การสร้างตำแหน่งผู้แทนมีการแข่งขันสูงและต้องการมากกว่าการจัดการโหนด

สร้างแอปพลิเคชันใหม่บน SmartHoldem

ให้บริการตรวจสอบโค้ดและรายงานช่องโหว่

การเข้าถึงและให้ความรู้ชุมชน

เสนอเปอร์เซ็นต์รางวัลให้ผู้โหวต (เพื่อเข้าถึง TOP 21)

รางวัลวัดจากส่วนแบ่งการมีส่วนร่วมของผู้โหวตและเปอร์เซ็นต์การจ่ายของผู้แทน

Quantum Shield

SmartHoldem Quantum Shield

วิธีที่เราปกป้องบล็อกเชนจากคอมพิวเตอร์ในอนาคต

ในขณะที่ตลาดยังคงถกเถียงเรื่องกราฟราคา ภัยคุกคามที่สามารถทำลายระบบเข้ารหัสแบบคลาสสิกกำลังก่อตัวขึ้น อัลกอริทึม Shor บนคอมพิวเตอร์ควอนตัมที่มีประสิทธิภาพเพียงพออาจทำลาย ECDSA ซึ่งเป็นรากฐานทางคณิตศาสตร์ของบล็อกเชนส่วนใหญ่ในปัจจุบัน SmartHoldem ไม่ได้นั่งรอ 'วัน X' ที่เป็นเพียงสมมติฐาน

เรากำลังสร้างเกราะป้องกันตั้งแต่วันนี้ ขั้นตอน A (Post-Quantum Key Commitments) เปิดใช้งานแล้ว (ACTIVE) บน mainnet

Quantum Shield

แผนที่

แผนการดำเนินงาน: โมเดลไฮบริด

เราปฏิเสธการ hard fork แบบกะทันหันและการย้ายข้อมูลจำนวนมากโดยบังคับ การเปลี่ยนผ่านสู่ความทนทานเชิงควอนตัมเป็นไปอย่างค่อยเป็นค่อยไป ราบรื่น และรองรับการใช้งานย้อนหลัง

P1

ขั้นตอน 1

Key Commitments (เปิดใช้งานแล้ว)

  • ผู้ใช้สามารถฝัง SHA-256 hash ของ ML-DSA-44 public key ในอนาคตผ่าน vendorField (sthpq1:...) ได้แล้วในขณะนี้
  • วิธีนี้ป้องกันการโจมตีแบบ 'race condition' เมื่อขั้นตอนที่ 2 เปิดใช้งาน โดยรักษาความปลอดภัยของวอลเล็ตก่อนที่ภัยคุกคามควอนตัมจะเกิดขึ้นจริง
P2

ขั้นตอน 2

Hybrid Second Signatures (รองรับแล้ว)

  • ผู้ใช้สามารถลงทะเบียน post-quantum ML-DSA-44 public key (NIST FIPS 204) เป็น second signature บนวอลเล็ตที่มีอยู่ได้
  • นับจากนั้น ทุกธุรกรรมจะต้องใช้ลายเซ็นสองชุด ได้แก่ ลายเซ็น secp256k1 แบบคลาสสิก และลายเซ็นแบบต้านทานควอนตัมชุดใหม่
  • คีย์แบบคลาสสิกยังคงทำงานอยู่เพื่อความเข้ากันได้อย่างสมบูรณ์ ในขณะที่คีย์ post-quantum เพิ่มชั้นป้องกันเชิงควอนตัมเป็นชั้นที่สอง ก่อให้เกิดระบบ hybrid ที่แข็งแกร่งซึ่งปกป้องสินทรัพย์ของคุณแม้ว่าอัลกอริทึมใดอัลกอริทึมหนึ่งจะถูกโจมตี
P3

ขั้นตอน 3

ความยืดหยุ่นของเครือข่ายเต็มรูปแบบ (วางแผนไว้)

  • Delegates ที่ใช้งานอยู่ทั้ง 21 รายจะลงนามบล็อกด้วยลายเซ็น post-quantum เพื่อป้องกันการปลอมแปลงฉันทามติ
  • เลเยอร์การส่งข้อมูล Iroh P2P ใช้การแลกเปลี่ยนคีย์แบบ hybrid (X25519 + ML-KEM-768) เพื่อรักษาความปลอดภัยของข้อมูล messenger และ dApp (SHIP-40)

สถาปัตยกรรม

อัปเกรดกุญแจ ไม่ใช่ตู้นิรภัย

ต่างจากเครือข่ายอื่นที่กำหนดให้ผู้ใช้สร้างวอลเล็ตใหม่และโอนสินทรัพย์จำนวนมาก SmartHoldem ใช้ประโยชน์จากสถาปัตยกรรม second-signature อันเป็นเอกลักษณ์เพื่อการอัปเกรดเชิงควอนตัมที่ราบรื่น

1

การก่อตัวที่อยู่

ที่อยู่ SmartHoldem ของคุณได้มาจาก secp256k1 public key แบบคลาสสิก ซึ่งยังคงไม่เปลี่ยนแปลง

2

การเปิดใช้งานคีย์ที่สอง

คุณลงทะเบียน post-quantum ML-DSA-44 public key เป็น second signature บนที่อยู่ที่มีอยู่ของคุณ

3

การป้องกันแบบ Hybrid

ทุกธุรกรรมต้องใช้ทั้งลายเซ็นแบบคลาสสิกและลายเซ็น post-quantum จึงจะถือว่าถูกต้อง

ผลลัพธ์ที่ได้

  • คุณไม่จำเป็นต้องเปลี่ยนวอลเล็ตหรือที่อยู่ของคุณ
  • เหรียญของคุณยังคงอยู่ในที่เดิมเหมือนที่ผ่านมาหลายปี
  • ไม่มีขั้นตอนการย้ายวอลเล็ตที่ซับซ้อน
  • บัญชีของคุณได้รับการปกป้องด้วยชั้นการเข้ารหัสสองชั้น
  • แม้คอมพิวเตอร์ควอนตัมจะสามารถถอดรหัสไพรเวตคีย์แรกของคุณได้ แต่ก็ไม่สามารถโอนย้ายเงินทุนของคุณได้หากไม่มีลายเซ็นที่สอง (ที่ต้านทานควอนตัม) ที่ถูกต้อง

สำหรับผู้ใช้ที่มีลายเซ็นเดียว: คุณสามารถเปิดใช้งานลายเซ็นที่สองได้ทุกเมื่อเพื่อเปิดใช้การป้องกันควอนตัมทันที หรือย้ายไปยังประเภทแอดเดรสที่ปลอดภัยจากควอนตัมในอนาคตอันไกลโพ้น

เทคโนโลยีขั้นสูง

เทคนิคย่อยและการป้องกันเครือข่าย

ผู้แทนที่ได้รับการคุ้มครอง

  • ในเครือข่าย DPoS ผู้แทนลงชื่อบล็อก
  • ลายเซ็นของผู้แทนที่ถูกโจมตีจะคุกคามความสมบูรณ์ของทั้งบล็อกเชน
  • การใช้ PQC ในระดับโปรโตคอลทำให้ SmartHoldem เป็น "ป้อมปราการดิจิทัล" ที่ทนต่อการปลอมแปลงฉันทามติ

ขนาดลายเซ็นที่ได้รับการปรับให้เหมาะสม

  • เราเลือก ML-DSA-44 (NIST FIPS 204) เพราะความสมดุลที่เหมาะสมที่สุด: ลายเซ็นขนาด ~2.4 kB และการยืนยันความถูกต้องในเวลาต่ำกว่าหนึ่งมิลลิวินาที
  • การประมวลผลแบบขนานของ Rust core (Rayon) รับประกันว่าธุรกรรมขนาดใหญ่เหล่านี้จะได้รับการตรวจสอบทันทีโดยไม่สูญเสียความเร็วการซิงค์

ความยืดหยุ่นด้านอัลกอริทึม

  • โปรโตคอลรวม alg_id byte ไว้ในออบเจกต์ PQC
  • ซึ่งช่วยให้อัปเกรดในอนาคตได้อย่างราบรื่น (เช่น ไปยัง FN-DSA-512 / Falcon) โดยไม่จำเป็นต้องให้ผู้ใช้เปลี่ยนแอดเดรสหรือย้ายเงินทุน
  • สำหรับผู้ใช้ สิ่งนี้ดูเหมือนกระเป๋าเงินที่คุ้นเคย

การพัฒนา

รหัสที่อยู่ระหว่างการพัฒนา

Rust core (sth-core-pq) มีพื้นฐานการเข้ารหัสสำหรับเลเยอร์การยืนยันใหม่อยู่แล้ว นี่คือตัวอย่างการผสานรวมแบบไฮบริด:

RUST · STH-CORE-PQ · hybrid secp256k1 + ML-DSA-44
//! Quantum Shield: ML-DSA-44 (NIST FIPS 204) keys derived from a passphrase, plus the stage-A

//! commitment format (`sthpq1:<alg>:<sha256(pk)>` in a self-transfer vendorField). See docs/SPEC-PQ-V3.md.


use crate::error::{Error, Result};
use ml_dsa::{EncodedSignature, EncodedVerifyingKey, MlDsa44, Signature, SigningKey, VerifyingKey, B32};
use sha2::{Digest, Sha256};

/// Algorithm ids (first byte of every PQ object).

pub const ALG_ML_DSA_44: u8 = 0x01;
pub const PK_LEN: usize = 1312;
pub const SIG_LEN: usize = 2420;
/// Domain separation for the ML-DSA context string.

const CTX: &[u8] = b"sth-pq-v1";
/// Context of stage-C block signatures (`M_B = sha256(header || blockSignature)`).

pub const BLOCK_CTX: &[u8] = b"sth-pq-block-v1";
/// Commitment prefix in vendorField.

pub const COMMITMENT_PREFIX: &str = "sthpq1:";

pub struct PqKeyPair {
    signing: SigningKey<MlDsa44>,
}

impl PqKeyPair {
    /// Deterministic: seed ξ = sha256("sth-pq-v1" || passphrase). Same passphrase → same key on every device.

    pub fn from_passphrase(passphrase: &str) -> Self {
        let mut h = Sha256::new();
        h.update(CTX);
        h.update(passphrase.as_bytes());
        let seed: [u8; 32] = h.finalize().into();
        Self::from_seed(&seed)
    }

    pub fn from_seed(seed: &[u8; 32]) -> Self {
        Self { signing: SigningKey::<MlDsa44>::from_seed(&B32::from(*seed)) }
    }

    /// FIPS 204 pkEncode — 1 312 bytes.

    pub fn public_key(&self) -> Vec<u8> {
        self.signing.expanded_key().verifying_key().encode().to_vec()
    }

    pub fn public_key_hex(&self) -> String {
        hex::encode(self.public_key())
    }

    /// Deterministic ML-DSA-44 signature (2 420 bytes) over `message` with the sth context.

    pub fn sign(&self, message: &[u8]) -> Result<Vec<u8>> {
        self.sign_with_ctx(message, CTX)
    }

    pub fn sign_with_ctx(&self, message: &[u8], ctx: &[u8]) -> Result<Vec<u8>> {
        let sig = self.signing.expanded_key().sign_deterministic(message, ctx).map_err(|_| Error::Serialization("ml-dsa sign".into()))?;
        Ok(sig.encode().to_vec())
    }

    /// What a wallet publishes in stage A: `sthpq1:01:<sha256(pk) hex>`.

    pub fn commitment(&self) -> String {
        commitment_for_public_key(&self.public_key())
    }
}

pub fn commitment_hash(public_key: &[u8]) -> [u8; 32] {
    Sha256::digest(public_key).into()
}

pub fn commitment_for_public_key(public_key: &[u8]) -> String {
    format!("{COMMITMENT_PREFIX}{:02x}:{}", ALG_ML_DSA_44, hex::encode(commitment_hash(public_key)))
}

pub fn verify(public_key: &[u8], message: &[u8], signature: &[u8]) -> Result<bool> {
    verify_with_ctx(public_key, message, signature, CTX)
}

pub fn verify_with_ctx(public_key: &[u8], message: &[u8], signature: &[u8], ctx: &[u8]) -> Result<bool> {
    if public_key.len() != PK_LEN || signature.len() != SIG_LEN {
        return Ok(false);
    }
    let pk = EncodedVerifyingKey::<MlDsa44>::try_from(public_key).map_err(|_| Error::Serialization("ml-dsa pk".into()))?;
    let sig = EncodedSignature::<MlDsa44>::try_from(signature).map_err(|_| Error::Serialization("ml-dsa sig".into()))?;
    let Some(sig) = Signature::<MlDsa44>::decode(&sig) else { return Ok(false) };
    Ok(VerifyingKey::<MlDsa44>::decode(&pk).verify_with_context(message, ctx, &sig))
}

/// Stage B: PQ public key registered by a wallet (type 1, v3). Lives in `WalletState.pq_key`, so undo is automatic.

#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PqKey {
    pub algorithm: u8,
    /// Raw PQ public key, hex (1 312 bytes for ML-DSA-44).

    pub public_key: String,
    pub since: u64,
}

/// Parsed stage-A commitment.

#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct PqCommitment {
    pub algorithm: u8,
    /// sha256(public key), hex.

    pub commitment: String,
    pub height: u64,
}

/// `sthpq1:<alg 2 hex>:<64 hex>` → (alg, hash hex). Only known algorithm ids are accepted.

pub fn parse_commitment(vendor_field: &str) -> Option<(u8, String)> {
    let rest = vendor_field.strip_prefix(COMMITMENT_PREFIX)?;
    let (alg, hash) = rest.split_once(':')?;
    if alg.len() != 2 || hash.len() != 64 || !hash.bytes().all(|b| b.is_ascii_hexdigit() && !b.is_ascii_uppercase()) {
        return None;
    }
    let alg = u8::from_str_radix(alg, 16).ok()?;
    (alg == ALG_ML_DSA_44).then(|| (alg, hash.to_string()))
}

ความเหนือกว่าของควอนตัมไม่ใช่จุดสิ้นสุดของวิทยาการเข้ารหัส แต่เป็นขั้นตอนวิวัฒนาการถัดไป เราเลือกใช้คณิตศาสตร์ที่ไม่สามารถ 'แก้ได้' ด้วยกำลังดุร้าย และผสานเข้ากับแกนกลางของเครือข่าย Web 4.0 DPoS โดยตรง อนาคตมาถึงแล้ว และมันปลอดภัย อนาคตมาถึงแล้ว และมันถูกปกป้องแล้ว

เข้าร่วมเครือข่าย

โหนดของคุณ กฎของคุณ Web 4.0 ของคุณ

คุณสามารถรักษาความปลอดภัยของเครือข่ายได้หลายวิธี: สร้างบล็อกในฐานะผู้แทน, เพาะเนื้อหา dApp ในฐานะผู้ดำเนินการ Netfory, เรียกใช้ dVPN relay หรือเพียงแค่ถือและโหวต ไม่มีเงินเฟ้อ มีรางวัลจากการใช้งานจริง และพื้นฐานที่ต้านทานควอนตัมที่สร้างด้วย Rust อินเทอร์เน็ตแบบกระจายศูนย์ต้องการผู้สร้าง และมันเริ่มต้นจากคุณ