คำเตือนความเสี่ยง: ระวังความเสี่ยงจากการระดมทุนที่ผิดกฎหมายในนาม 'สกุลเงินเสมือน' 'บล็อกเชน' — จากห้าหน่วยงานรวมถึงคณะกรรมการกำกับดูแลการธนาคารและการประกันภัย
ข่าวสาร
ค้นพบ
ค้นหา
เข้าสู่ระบบ
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt
BTC
ETH
HTX
SOL
BNB
ดูตลาด
การสำรวจเชิงลึกเกี่ยวกับรูปแบบการรักษาความปลอดภัยของ Bitcoin: การตรวจสอบและถ่วงดุลแบบกระจาย
以太坊爱好者
特邀专栏作者
2021-09-18 09:09
บทความนี้มีประมาณ 3598 คำ การอ่านทั้งหมดใช้เวลาประมาณ 6 นาที
โหนดเต็ม: เพื่ออิสรภาพ

ผู้เขียน: เจมสัน ลอปป์

การอ่านที่เกี่ยวข้อง:

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

https://blog.lopp.net/bitcoins-security-model-a-deep-dive/

การอ่านที่เกี่ยวข้อง:ชื่อระดับแรก

ความเข้าใจผิดเกี่ยวกับรูปแบบความปลอดภัย

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

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

ดังที่เราเห็นจากรหัส ปัจจุบัน Bitcoin Core 0.13 ใช้เมล็ดพันธุ์ DNS ที่ดำเนินการโดย Pieter Wuille, Matt Corallo, Luke Dashjr, Christian Decker, Jeff Garzik และ Jonas Schnelli ทุกคนสามารถใช้ซอฟต์แวร์สร้างเมล็ดพันธุ์ Bitcoin ของ Pieter Wuille หรือซอฟต์แวร์ของ Matt Corallo เพื่อเรียกใช้เมล็ดพันธุ์ DNS อย่างไรก็ตาม พวกเขาต้องโน้มน้าวให้นักพัฒนาใช้โหนดแบบเต็มเพื่อเพิ่มโฮสต์เมล็ด DNS ของตนลงในซอฟต์แวร์ของอีกฝ่าย

กระบวนการบู๊ตสแตรปของโหนดใหม่อาศัยเพียง 6 เมล็ด DNS ซึ่งดูเหมือนจะเป็นปัญหาจุดเดียวที่รวมศูนย์อย่างมาก แต่อย่าลืมว่ารูปแบบการรักษาความปลอดภัยของ Bitcoin ต้องการให้คุณเชื่อมต่อกับโหนดเพียร์ที่ซื่อสัตย์เท่านั้น ซึ่งเพียงพอที่จะต้านทานการโจมตีของ Sybil

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

ชื่อระดับแรก

ไม่มีความปลอดภัยแน่นอน

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

รูปภาพ

รูปภาพ

ชื่อระดับแรก

การตรวจสอบและความสมดุลแบบกระจายอำนาจของ Bitcoin

เมื่อคุณเริ่มดูความสัมพันธ์ระหว่างผู้มีบทบาทต่างๆ ในระบบ Bitcoin คุณจะพบว่าตัวเองอยู่ในหมอก

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

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

รูปภาพ

รูปภาพ

สามสาขาหลักของการกำกับดูแล Bitcoin:

  • โหนดเต็ม (สามารถยับยั้งนักขุดและนักพัฒนาได้)

  • นักขุด (สามารถยับยั้งนักพัฒนาได้)

  • นักพัฒนา (สามารถช่วยให้ผู้อื่นหลีกเลี่ยงการคัดค้านบางอย่างได้)

ควรสังเกตว่าซอฟต์แวร์โหนดแบบเต็มจะไม่ได้รับการอัพเดตโดยอัตโนมัติ ซึ่งเกิดจากการออกแบบ การอัปเดตอัตโนมัติจะทำให้นักพัฒนาเสียดุลอำนาจ ซึ่งทำให้นักพัฒนาสามารถบังคับการเปลี่ยนแปลงกฎโดยไม่ได้รับอนุญาตจากโหนดและนักขุด

น่าเสียดายที่แม้ว่าการเปลี่ยนแปลงกฎอาจเข้ากันได้แบบย้อนกลับในระดับเทคนิค แต่ประสบการณ์หลายปีบอกเราว่า soft fork ที่สร้างสรรค์เพียงพอยังสามารถใช้การเปลี่ยนแปลงที่ละเมิดกฎของเวอร์ชันเก่า ตัวอย่างเช่น Vitalik Buterin เคยกล่าวถึงแนวคิดดังกล่าว: เวลาบล็อกของ Bitcoin จะสั้นลงจาก 10 นาทีเหลือ 2 นาทีผ่าน soft fork ซึ่งจะทำให้การออก Bitcoin เร็วขึ้นอย่างหลีกเลี่ยงไม่ได้

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

ในทางเทคนิค การฮาร์ดฟอร์กดังกล่าวสามารถทำได้โดยการเปลี่ยนอัลกอริทึมการขุดจาก double SHA256 เป็นฟังก์ชันแฮชอื่น เมื่อสำเร็จแล้ว เครื่องขุด SHA256 ASIC ทั้งหมดจะไม่สามารถขุด Bitcoin ได้ ดังนั้น ผู้ดำเนินการโหนดควรตื่นตัวอยู่เสมอต่อการเปลี่ยนแปลงในระบบนิเวศของ Bitcoin และเตือนผู้ขุดเหมืองถึงความเสี่ยงที่จะถูกแทนที่หากเกินอำนาจหน้าที่ของตน

ชื่อระดับแรก

เอสพีวีซีเคียวริตี้

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

รูปภาพ

รูปภาพ

Satoshi Nakamoto เขียนในสมุดปกขาวว่าไคลเอนต์ SPV "ไม่สามารถตรวจสอบธุรกรรมได้ แต่ด้วยการเชื่อมโยงธุรกรรมกับ blockchain จะเห็นได้ว่าโหนดในเครือข่ายยอมรับการทำธุรกรรม เนื่องจากเขตมากขึ้นเรื่อยๆ หากบล็อกนั้น บนเครือข่ายเป็นการยืนยันเพิ่มเติมว่าเครือข่ายยอมรับธุรกรรมแล้ว” SPV ถือว่าการปลอมแปลงธุรกรรมหลังจากการยืนยันการบล็อก X นั้นมีค่าใช้จ่ายสูงมาก

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

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

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

BitcoinJ มีบทความที่ยอดเยี่ยมเกี่ยวกับรูปแบบความปลอดภัยของ SPV เกี่ยวกับธุรกรรมที่ไม่ได้รับการยืนยัน พวกเขาระบุว่า:

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

ชื่อระดับแรก

เครือข่าย Bitcoin ไม่มี 127.0.0.1

หากคุณไม่ได้ใช้งานโหนดแบบเต็ม (และใช้จริงเพื่อตรวจสอบการทำธุรกรรม) อย่างน้อยคุณก็ค่อนข้างไว้วางใจบุคคลที่สาม ซึ่งสร้างความแตกต่างในรูปแบบการรักษาความปลอดภัย โปรดทราบว่านี่ไม่ได้กำหนดให้ผู้ใช้และธุรกิจทั้งหมดสร้างซอฟต์แวร์ของตนโดยตรงบน RPC API ของ Bitcoin Core

การกำหนดค่าโครงสร้างพื้นฐานทางเลือกบางอย่างรวมถึงแต่ไม่จำกัดเพียง:

รูปภาพ

รูปภาพ

2) สร้างแอปพลิเคชันบนไลบรารีโหนด SPV (เช่น BitcoinJ) และตั้งค่าแอปพลิเคชันเหล่านี้ให้เชื่อมต่อกับโหนดเต็มของคุณเองเท่านั้น ใน BitcoinJ สามารถทำได้โดยการกำหนด SeedPeer ของคุณเองและส่งต่อไปยัง PeerGroup ของคุณในระหว่างการเริ่มต้น ด้วย libbitcoin คุณสามารถใช้ตัวอย่างนี้เพื่อกำหนดการเชื่อมต่อเครือข่ายไปยังโหนดเฉพาะ

โหนดเต็ม: เพื่ออิสรภาพ

โหนดเต็ม: เพื่ออิสรภาพ

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

ขอขอบคุณ Kristov Atlas, Eric Martindale, Andrew Miller และ Kiara Roble สำหรับคำวิจารณ์และคำติชมเกี่ยวกับบทความนี้

BTC
ความปลอดภัย
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
สรุปโดย AI
กลับไปด้านบน
โหนดเต็ม: เพื่ออิสรภาพ
คลังบทความของผู้เขียน
以太坊爱好者
อันดับบทความร้อน
Daily
Weekly
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android