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

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

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

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

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

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

ผู้เริ่มต้น: บิตคอยน์

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

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

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

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

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

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

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

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

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

รุ่นต่อไป: “Blockchain-ng”

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

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

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

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

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

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

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

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

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

ธรรมชาติที่เปิดกว้างของบล็อกเชน

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

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

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

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

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


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

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

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


Similar Posts

Content icon
Content