คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
การตีความทางเทคนิค: Merkle Tree แบบไดนามิกบนเครือข่ายที่มีประสิทธิภาพ
QuarkChain夸克链
特邀专栏作者
2021-10-28 11:08
บทความนี้มีประมาณ 1612 คำ การอ่านทั้งหมดใช้เวลาประมาณ 3 นาที
บทความนี้เป็นบทความทางเทคนิคที่เผยแพร่โดย Dr. Zhou Zhou ผู้ก่อตั้งและ CEO ของ QuarkChain บนฟอรัมเทคโนโลยี Et

การแนะนำ

ลิงค์ต้นฉบับ:

https://ethresear.ch/t/effici...

การแนะนำ

ตามแนวคิดไคลเอนต์ไร้สัญชาติของ Ethereum 2.0 เราได้นำ Merkle tree ไดนามิกแบบ on-chain ที่มีประสิทธิภาพมาใช้ (Merkle tree):

การตรวจสอบการบรรจุแบบออนไลน์
การเพิ่ม/การอัปเดตแบบแทนที่บนเครือข่าย;
O(1) ต้นทุนพื้นที่จัดเก็บ;
พื้นหลัง

พื้นหลัง

Merkle tree ถูกใช้อย่างแพร่หลายในการรับรองความถูกต้องของสมาชิกจำนวนมากบนเชนด้วยต้นทุนการจัดเก็บที่ต่ำมาก เช่น Uniswap on-chain airdrops ไม่จำเป็นต้องอัปโหลดข้อมูล Airdrop จำนวนมาก (เช่น ที่อยู่ ปริมาณ) สำหรับผู้ใช้ทุกคนในเครือข่าย และ Airdrop สามารถประหยัดค่าใช้จ่ายได้อย่างมากด้วยวิธีต่อไปนี้:

เก็บ root hash ของ tree บนเครือข่าย
หลักฐานการให้รางวัลของผู้ใช้โดยใช้การคำนวณแบบออฟไลน์
ผู้ใช้จะได้รับรางวัลโดยส่งหลักฐานในห่วงโซ่

นอกจากนี้ ต้นไม้ Merkle ไดนามิกบนเครือข่ายกำลังได้รับความสนใจ บริษัทบัญชีที่มีชื่อเสียง Ernst & Young (EY) ได้พัฒนา Merkle tree แบบไดนามิก (https://github.com/EYBlockcha...5). ช่วยประหยัดต้นทุนการจัดเก็บทรีโดยจัดเก็บเฉพาะโหนด "ขอบเขต" แทนโหนดทั้งหมดของทรี อย่างไรก็ตาม ค่าใช้จ่ายในการเขียนของการดำเนินการเพิ่มคือ O(log2(N)) ซึ่งสามารถใช้ก๊าซจำนวนมากใน EVM

แนวคิดพื้นฐาน

คล้ายกับแผนผัง Merkle แบบคงที่ที่มีอยู่ซึ่งใช้การพิสูจน์ของ Merkle เพื่อตรวจสอบการรวม แนวคิดพื้นฐานของแผนผังไดนามิกบนเครือข่ายคือการนำการพิสูจน์ของ Merkle มาใช้ซ้ำเพื่ออัปเดตรูทแฮชของต้นไม้หลังจากการตรวจสอบการรวม ขั้นตอนในการอัปเดตทรีมีดังนี้:

กำหนด LeafIndex, oldLeafHash, newLeafHash, oldRootHash, พิสูจน์
คำนวณ rootHash ด้วย oldLeafHash และการพิสูจน์ หากคำนวณ rootHash != oldRoothHash การตรวจสอบการบรรจุจะล้มเหลว มิฉะนั้น ให้ดำเนินการต่อ
คำนวณ newRootHash โดยใช้ newLeafHash และการพิสูจน์ ซึ่งการพิสูจน์จะถูกใช้ซ้ำ newRootHash จะเป็นรูทแฮชของแผนผังที่อัปเดต

แอปพลิเคชัน

แอปพลิเคชัน

Merklized ERC20

สามารถแก้ไขมาตรฐาน ERC20 เพื่อ Merklize ต้นไม้ของ (บัญชี, ยอดคงเหลือ) จำเป็นต้องมีการพิสูจน์ Merkle สำหรับการดำเนินการมิ้นท์ / เผา / ถ่ายโอน แอปพลิเคชัน Merklized ERC20 อาจ:

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

รหัสตัวอย่างสามารถพบได้ที่นี่:
https://github.com/QuarkChain...

/SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "hardhat/console.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
import "@openzeppelin/contracts/utils/Context.sol";
import "./DynamicMerkleTree.sol";

contract MerklizedERC20 is Context, IERC20, IERC20Metadata {
   mapping(address => uint256) private _balances;
   mapping(address => uint256) private _indices1;
   uint256 private _totalSupply;    
string private _name;    
string private _symbol;

ETH
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
บทความนี้เป็นบทความทางเทคนิคที่เผยแพร่โดย Dr. Zhou Zhou ผู้ก่อตั้งและ CEO ของ QuarkChain บนฟอรัมเทคโนโลยี Et
คลังบทความของผู้เขียน
QuarkChain夸克链
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android