นักพัฒนาความสัมพันธ์

ประวัติการวิวัฒนาการของบล็อกเชน: ทำไมโอเพนซอร์สจึงเป็นแก่นแท้

2018-10-03
ความสัมพันธ์นักพัฒนา
th

จากบิตคอยน์สู่บล็อกเชนรุ่นถัดไป

เมื่อโปรเจกต์โอเพนซอร์สพัฒนาเวอร์ชันใหม่ การใช้คำต่อท้าย “-ng” เพื่อหมายถึง “next generation” ไม่ใช่เรื่องแปลก โชคดีที่จนถึงตอนนี้ บล็อกเชนที่พัฒนาอย่างรวดเร็วสามารถหลีกเลี่ยงกับดักการตั้งชื่อนี้ได้ แต่ในกระบวนการวิวัฒนาการของระบบนิเวศโอเพนซอร์สนี้ การเปลี่ยนแปลงเกิดขึ้นอย่างต่อเนื่อง และไอเดียที่ดีถูกนำไปใช้ ผสมผสาน และพัฒนาต่อในโปรเจกต์ต่างๆ มากมายในรูปแบบโอเพนซอร์สที่เป็นเอกลักษณ์

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

ต้นตอ: บิตคอยน์

บล็อกเชนรุ่นแรกเริ่มจากบล็อกเชน บิตคอยน์ ซึ่งเป็นบัญชีแบบกระจายศูนย์ที่อิงจากสกุลเงินดิจิทัลแบบ peer-to-peer ที่เปลี่ยนจากการพูดคุยบน Slashdot ไปสู่หัวข้อกระแสหลัก

บล็อกเชนนี้เป็นบัญชีแบบกระจายที่ติดตามธุรกรรมของผู้ใช้ทุกคน เพื่อหลีกเลี่ยงการใช้เงินซ้ำสอง (ในประวัติศาสตร์ งานนี้มอบให้บุคคลที่สาม คือธนาคาร) เพื่อป้องกันผู้โจมตีมาก่อกวนระบบ บัญชีถูกคัดลอกไปยังคอมพิวเตอร์ทุกเครื่องที่เข้าร่วมเครือข่ายบิตคอยน์ และอนุญาตให้เพียงคอมพิวเตอร์เครื่องเดียวอัปเดตบัญชีในแต่ละครั้ง เพื่อตัดสินว่าคอมพิวเตอร์เครื่องไหนจะได้สิทธิ์อัปเดตบัญชี ระบบจัดการแข่งขันระหว่างคอมพิวเตอร์บนเครือข่ายบิตคอยน์ทุก 10 นาที ซึ่งจะใช้พลังงานมากในการเข้าร่วมแข่งขัน ผู้ชนะจะได้สิทธิ์เขียนธุรกรรม 10 นาทีที่ผ่านมาลงในบัญชี (“บล็อก” ในบล็อกเชน) และได้รับรางวัลบิตคอยน์บางส่วนสำหรับการเขียนบล็อกเชน วิธีนี้เรียกว่ากลไกฉันทามติ proof of work (PoW)

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

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

Namecoin ปรับเนื้อหาของบล็อกเชน ไลต์คอยน์ปรับส่วนเทคนิคสองส่วน: หนึ่ง ลดช่วงเวลาระหว่างบล็อกจาก 10 นาทีเป็น 2.5 นาที สอง เปลี่ยนวิธีการแข่งขัน (ใช้ scrypt แทน SHA-256 secure hash algorithm) ทำได้เช่นนี้เพราะบิตคอยน์เผยแพร่เป็นซอฟต์แวร์โอเพนซอร์ส และไลต์คอยน์โดยพื้นฐานเหมือนบิตคอยน์ในส่วนอื่นทั้งหมด ไลต์คอยน์เป็น fork แรกที่ปรับกลไกฉันทามติของบิตคอยน์ และเปิดทางสำหรับ “คอยน์” อื่นๆ อีกมากมาย

ตามเส้นทางนี้ การดัดแปลงต่างๆ ที่อิงจาก codebase ของบิตคอยน์เพิ่มมากขึ้น บางส่วนขยายการใช้งานของบิตคอยน์ เช่น โปรโตคอล Zerocash ที่มุ่งเน้นให้ความเป็น匿名และความสามารถในการแลกเปลี่ยนของธุรกรรม แต่ในที่สุดแยกเป็นสกุลเงินของตัวเอง คือ Zcash

แม้ Zcash นำนวัตกรรมของตัวเองมา ใช้เทคโนโลยีการเข้ารหัสที่เรียกว่า “zero-knowledge proof” แต่ยังคงรักษาความเข้ากันได้กับ codebase หลักของบิตคอยน์ส่วนใหญ่ หมายความว่ามันสามารถได้รับประโยชน์จากนวัตกรรม upstream ของบิตคอยน์

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

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

รุ่นถัดไป: “Blockchain-ng”

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

เมื่อชุมชนเริ่มปรับการใช้งานบล็อกเชนและปรับส่วนเทคนิค สำหรับบางคนที่ต้องการขยายและคิดใหม่เกี่ยวกับอนาคต การปรับเปลี่ยนนี้ไม่ใช้เวลานาน Vitalik Buterin ผู้ติดตามบิตคอยน์มายาวนาน เสนอในปลายปี 2013 ว่าธุรกรรมบล็อกเชนควรสามารถแทนการเปลี่ยนแปลงสถานะของ state machine มองบล็อกเชนเป็นคอมพิวเตอร์แบบกระจายที่สามารถรันแอปพลิเคชัน (“smart contract”) โปรเจกต์นี้ คือ อีเธอร์เรียม เปิดตัวในเดือนเมษายน 2015 ประสบความสำเร็จอย่างมากในการรันแอปพลิเคชันแบบกระจาย แอปพลิเคชันแบบกระจายที่ได้รับความนิยมมากบางตัว (เช่น CryptoKitties) ทำให้บล็อกเชนอีเธอร์เรียมช้าลงด้วยซ้ำ

นี่พิสูจน์ข้อจำกัดใหญ่ของบล็อกเชนปัจจุบัน: ความเร็วและความจุ (ความเร็วมักวัดเป็นธุรกรรมต่อวินาที หรือ TPS) มีข้อเสนอหลายอย่างที่แนะนำให้แก้ปัญหาความเร็ว จาก sharding ไปจนถึง sidechain และวิธีแก้ที่เรียกว่า “second-layer” ที่นี่ต้องการนวัตกรรมมากขึ้น

เมื่อคำว่า “smart contract” เริ่มเป็นที่นิยม และใช้เทคโนโลยีที่ยังช้าอยู่ในการรันมัน จึงต้องใช้แนวคิดอื่น: permissioned blockchain จนถึงตอนนี้ เครือข่ายบล็อกเชนทั้งหมดที่เราแนะนำมามีลักษณะพิเศษสองอย่างที่ไม่ได้พูดถึง: หนึ่ง เป็นสาธารณะ (ทุกคนสามารถเห็นการทำงานของมัน) สอง ไม่ต้องการอนุญาต (ทุกคนสามารถเข้าร่วมได้) สองส่วนนี้เป็นเงื่อนไขที่ควรมีและจำเป็นต้องมีสำหรับการรันสกุลเงินแบบกระจายที่ไม่อิงบุคคลที่สาม

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

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

ก่อนอื่น proof of work (PoW) ที่ออกแบบมาเพื่อป้องกันเครือข่ายจากผู้เข้าร่วมที่เป็นอันตรายหรือเป็นขยะ สามารถถูกแทนที่ด้วยสิ่งที่ง่ายกว่าและใช้ทรัพยากรน้อยกว่า เช่น โปรโตคอลฉันทามติแบบ Raft การแลกเปลี่ยนระหว่างความปลอดภัยระดับสูงขึ้นและความเร็วที่เร็วขึ้น โดยใช้อัลกอริทึมฉันทามติที่ง่ายกว่า สำหรับกลุ่มที่ใหญ่ขึ้นจะเหมาะกว่า เพราะพวกเขาสามารถแทนที่การรับประกันที่อิงความสัมพันธ์ทางกฎหมายด้วยการรับประกันที่อิงเทคโนโลยีการเข้ารหัส เช่น เพื่อหลีกเลี่ยงการใช้พลังงานมหาศาลจากการแข่งขัน ซึ่งเป็นกรณีของ proof of work นวัตกรรมอีกอย่างคือการใช้ Proof of Stake (PoS) ซึ่งเป็นคู่แข่งที่แข็งแกร่งสำหรับกลไกฉันทามติของเครือข่ายสาธารณะ มันอาจหาทาง implement ของมันเองเหมือนกับเครือข่าย permissioned chain

มีหลายโปรเจกต์ที่ทำให้การสร้าง permissioned blockchain ง่ายขึ้น รวมถึง Quorum (fork ของอีเธอร์เรียม) และ Fabric และ Sawtooth ของ Hyperledger ซึ่งเป็นสองโปรเจกต์โอเพนซอร์สที่อิงจากโค้ดใหม่

Permissioned blockchain สามารถหลีกเลี่ยงปัญหาซับซ้อนบางอย่างของบล็อกเชนสาธารณะแบบไม่ต้องอนุญาต แต่ก็มีปัญหาของตัวเอง การจัดการผู้เข้าร่วมอย่างถูกต้องเป็นหนึ่งในนั้น: ใครสามารถเข้าร่วม? จะระบุตัวตนพวกเขาอย่างไร? จะลบพวกเขาออกจากเครือข่ายอย่างไร? หน่วยงานหนึ่งบนเครือข่ายจะจัดการ public key infrastructure (PKI) ส่วนกลางหรือไม่?

ธรรมชาติเปิดเผยของบล็อกเชน

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

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

สุดท้าย น่าจะกล่าวถึงว่า แม้ธรรมชาติเปิดเผยของบล็อกเชนถูกมองว่าเป็นแหล่งของนวัตกรรมและการเปลี่ยนแปลง มันยังถูกมองว่าเป็นรูปแบบหนึ่งของการกำกับดูแล: code governance ผู้ใช้คาดหวังว่าทุกเวอร์ชันที่พวกเขารันควรมีฟังก์ชันและวิธีการที่พวกเขาคิดว่าเครือข่ายทั้งหมดควรมี ในด้านนี้ ต้องชี้ให้เห็นว่าธรรมชาติเปิดเผยของบล็อกเชนบางตัวกำลัง “เสีย” แต่ปัญหานี้กำลังถูกแก้ไข

รุ่นที่สามและสี่: การกำกับดูแล

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


เกี่ยวกับผู้เขียน

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

โปรดระบุแหล่งที่มา: ความสัมพันธ์นักพัฒนา »


Similar Posts

Content icon
Content