วิธีตรวจสอบโครงสร้างพื้นฐานทางการเงินของเราโดยสมบูรณ์ในอินสแตนซ์: พบกับต้นไม้ Merkle Patricia

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

มันจะเป็นโลกที่เราสามารถตรวจสอบ ณ จุดใดก็ได้และรับการบันทึกสถานะปัจจุบันทันทีและยังได้ภาพรวมของทุกสถานะก่อนหน้า ด้วยวิธีนี้ผู้สอบบัญชีจะสามารถมองเห็นทุกสิ่งและย้อนกลับไปข้างหน้าและผ่านเวลา ทีนี้สิ่งที่ฉันอธิบายไว้คือ Ethereum และใช้วิธี Merkle-Patricia-Tree (trie) เพื่อสร้างแบบจำลองที่สมบูรณ์ของธุรกรรมทั้งหมด

ต้นไม้ Merkle Patricia

ด้วยต้นไม้ Merkle เราสร้างต้นไม้แห่งแฮชและตำแหน่งที่แฮชของรากให้ความสอดคล้องโดยรวมของข้อมูลภายในต้นไม้ ข้อได้เปรียบหลักของมันคือเราสามารถตรวจสอบข้อมูลได้อย่างง่ายดายโดยการวิเคราะห์ทรีย่อย [ที่นี่]

Merkle-Patricia-Tree ปรับปรุงสิ่งนี้โดยใช้คีย์ (โดยปกตินิยามเป็นสตริง) เพื่อเก็บอาร์เรย์ที่เชื่อมโยงกัน Patricia ถูกกำหนดให้เป็นอัลกอริธึมเชิงปฏิบัติในการดึงข้อมูลที่เขียนด้วยตัวอักษรและตัวเลข

จากนั้นโหนดจะเชื่อมโยงกับคีย์ สิ่งนี้ถูกกำหนดเป็นทรี - ทรีดิจิตอล สิ่งนี้แตกต่างจากทรี Merkle ซึ่งจะไม่เก็บคีย์จริงสำหรับแต่ละโหนด แต่ตำแหน่งของมันในทรีจะถูกใช้เพื่อกำหนดคีย์ โหนดที่อยู่ต่ำกว่าโหนดที่กำหนดจะถูกกำหนดด้วยคำนำหน้าเช่นเดียวกับสตริงที่โหนดนั้นและรากของต้นไม้นั้นเป็นสตริงที่ว่าง [ที่นี่]

ดังนั้นขอยกตัวอย่างห้าคำเพื่อจัดทำดัชนี: ดอกไม้, กระแส, ห่างไกล, การขว้างและระยะห่าง ตอนนี้เราสามารถวาดแผนผังซึ่งจะทำดัชนีสตริงเหล่านี้:

หากผู้ใช้ป้อน ‘f’ เราจะเข้าสู่ระดับที่สองจากนั้นเข้าสู่ ‘ต่ำ” และไปยังระดับที่สาม และสุดท้ายพวกเขาก็ป้อน ‘s’ แล้วเราก็ย้ายไปที่ระดับที่สี่ เราสามารถเห็นได้ว่าข้อมูลได้รับการสั่งซื้อและเชื่อมโยงกันแล้วและตำแหน่งในแผนผังกำหนดคีย์ที่เชื่อมโยงกับองค์ประกอบข้อมูล

ใน Ethereum blockchain เราใช้ Merkle Patricia Trie ที่แก้ไขแล้ว - ตามที่กำหนดไว้ใน Yellow Paper [ที่นี่] - เพื่อสร้าง Trie ที่มีธุรกรรมทั้งหมด ด้วยวิธีนี้เราสามารถสร้างโลกทัศน์ที่สมบูรณ์ของการทำธุรกรรมทั้งหมดที่เคยทำ

ในขณะที่เรากำลังจัดการกับ ID ธุรกรรมคีย์แต่ละรายการมีอักขระฐานสิบหก X ทุกโหนดในคู่ชีวิตนั้นสามารถมีลูกที่เป็นไปได้ 16 อัน ความลึกสูงสุดของคู่ชีวิตจะเท่ากับ X

Ref: https://i.stack.imgur.com/YZGxe.png

แต่ละโหนดสามารถเป็นส่วนขยายสาขาหรือใบไม้ ใบไม้เป็นจุดสิ้นสุดและจะมีมูลค่าการทำธุรกรรม ในแผนภาพเราจะเห็นว่ารูทแฮชคือแฮชของธุรกรรมทั้งหมด จากนั้นเรามีส่วนขยายเพื่อกำหนดโหนดระดับบนสุดและที่ที่เราสามารถเห็นว่ามีสี่ธุรกรรมและที่กำหนดโดยคีย์ของ "a711355", "a77d337", "a7f9365" และ "a77397" จำนวนธุรกรรมอยู่ที่ 45.0 ETH, 1.00 WEI, 1.1 ETH และ 0.12 ETH ตามลำดับ

จากนั้นเราสามารถติดตามทรีเพื่อค้นหาธุรกรรม เราเริ่มต้นด้วยค่าคีย์ของ“ a7 …” (ROOT: extension node) จากนั้นเรามีใบไม้ที่“ a7 .. 1355” (และที่ซึ่ง“ 1355” เป็นส่วนท้ายของกุญแจ) มูลค่าการทำธุรกรรมที่นี่คือ 45.0 ETH เรามีโหนดใบไม้อีกโหนดหนึ่งที่มี“ a7..9365” (และโดยที่“ 9365” เป็นส่วนท้ายของคีย์) และมีมูลค่าธุรกรรม 1.1 ETH

ต่อไปเรามีนามสกุลเป็น“ a7d3” ในที่สุดเราจะไปถึงธุรกรรมสองรายการสุดท้ายที่มีปลายปิด (“ a7d33..7” และ“ a7d39..7”) และมีจำนวนธุรกรรม 1.00 WEI และ 0.12 ETH ตามลำดับ

สรุปผลการวิจัย

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

ด้วยการพิสูจน์ที่ไม่มีความรู้และการเข้ารหัสโฮโมมอร์ฟิคเราจึงไปถึงที่นั่นและ Ethereum เป็นเพียงตัวอย่างหนึ่งของโลกใหม่ที่ถูกสร้างขึ้น Blockchain และ DLT จะเป็นเครื่องจักรที่ยิ่งใหญ่ที่สุดที่มนุษย์เคยสร้างมาและเราก็เป็นเพียงจุดเริ่มต้นของการเดินทางครั้งนี้

ลืม cryptocurrencies และคิดถึงธุรกรรมและคุณมีโลกดิจิตอลใหม่ของเรา บัญชีแยกประเภทเก่าของเราเสร็จสิ้นแล้ว ... พบกับโลกใหม่