มาทำความเข้าใจเทคโนโลยี Blockchain กัน เพื่อป้องกันความสับสน (ตอนที่ 2)
หลังจากบทความตอนที่แล้ว ที่พูดถึงความแตกต่างระหว่าง cryptocurrency กับ blockchain โดยเฉพาะความแตกต่างของ public blockchain ได้แก่ Bitcoin, Etheruem เป็นต้น และ private blockchain ได้แก่ Hyperledger, Quorum (Private Ethereum) เป็นต้น ซึ่งได้พูดถึงปัจจัยแรกไปแล้วซึ่งได้แก่เรื่องการรู้จักตัวตนและการกำหนดสิทธิ์เข้าถึงข้อมูล ในตอนนี้จะมากล่าวถึงความแตกต่างอีกเรื่องหนึ่งซึ่งได้แก่เรื่อง performance ของการทำธุรกรรมหรือทรานแซคชัน ของ blockchain
Performance ของธุรกรรมที่เกิดขึ้นใน blockchain จะเชื่อมโยงกับกระบวนการตรวจสอบความน่าเชื่อถือ (trust) ของข้อมูลทรานแซคชั่นที่เกิดขึ้น ณ เวลาเดียวกันนั้น ซึ่งกระบวนการนี้ทางเทคนิคใน blockchain เรียกว่า consensus อัลกอริทึม ซึ่งเป็นกระบวนการทางคณิตศาสตร์ที่ใช้ในการยืนยันว่า ทรานแซคชั่นได้เกิดขึ้นจริง ก่อนที่จะสร้างเป็น เรคคอร์ด ที่เรียกว่า ledger ในรูปแบบ block เกิดขึ้น กระบวนการนี้ถือว่าเป็นหัวใจสำคัญในเครือข่าย blockchain เนื่องด้วยถ้าผ่านขั้นตอนนี้แล้ว เมื่อเกิดเป็น block record ที่กล่าวข้างต้น จะเป็นการยืนยันว่าข้อมูลที่ถูกระบุตามทรานแซคชั่นที่เกิดขึ้นนั้นเป็นข้อมูลที่มีความเชื่อถือสูงสุด เพราะไม่สามารถเปลี่ยนแปลงแก้ไขได้ ซึ่งถือเป็นหลักฐานในการไปใช้อ้างอิง กรณีเกิดข้อโต้แย้งกัน
กระบวนการ consensus อัลกอริทึม นี้ที่เรามักจะพบเห็นคือ proof of work โดยใช้เทคนิคขุดเหมือง(mining) ซึ่งได้ถูกนำมาใช้ใน public blockchain ไม่ว่าจะเป็น Bitcoin หรือ Ethereum ซึ่งจะเห็นว่ากระบวนการขุดเหมือง กว่าจะได้ block เกิดขึ้น 1 block ต้องใช้เวลาไม่ต่ำกว่าสิบนาที หรือบางทีอาจเป็นชั่วโมง นอกจากนี้ยังต้องอาศัยเครื่องคอมพิวเตอร์ที่มีกราฟฟิคคาร์ดแรงๆเอามาช่วยประมวลผล และต้องอาศัยความร่วมมือจาก node ที่อยู่ในเครือข่ายของ blockchain ทั้งหมดในการยืนยัน แต่แนวคิดของ private blockchain ถูกออกแบบมาให้ตั้งใจมาใช้ในธุรกิจ โดยการทำธุรกรรมจำเป็นต้องมีการรองรับปริมาณทรานแซคชั่นที่สูง นั่นคือที่มาของ consensus อัลกอริทึมทางเลือกที่ถูกออกแบบให้เหมาะสมกับการใช้งานดังกล่าว โดยได้มีการนำเทคนิค voting(เสียงข้างมาก) มาใช้แทน proof of work ในการยืนยันทรานแซคชั่น เช่น สัดส่วน 2 ใน 3 หรือ 3 ใน 4 เป็นต้น ด้วยอัลกอริทึม ที่เรียกว่า Fault Tolerance ซึ่งก็มีหลายเทคนิค เช่นกัน อาทิเช่น CFT (Crashed Fault Tolerance) , BFT(Byzantine Fault Tolerance) เป็นต้น ซึ่งเป็นเทคนิคที่ไม่จำเป็นต้องรอการยืนยันการทำทรานแซคชั่นมาจากทุก node ในเครือข่าย ทำให้ได้ performance ที่ดีกว่า บทความนี้ไม่ได้ตั้งใจมาลงรายละเอียดทางเทคนิคของอัลกอริทึมต่างๆ ไว้หาโอกาสมาเล่าให้ฟังในตอนถัดๆไป สำหรับอัลกอริทึมต่างๆยังคงมีการพัฒนาอย่างต่อเนื่อง ในอนาคตน่าที่จะได้เห็นอัลกอริทึมใหม่ๆเพื่อรองรับการใช้งานธุรกรรมบน blockchain ที่มีแนวโน้มสูงขึ้น จุดเด่นของ private blockchain อาทิเช่น Hyperledger คือ การเปิดรับ consensus อัลกอริทึมใหม่ๆได้ง่าย เพราะไม่ได้ออกแบบมายึดติดกับอัลกอริทึมแบบใดแบบหนึ่ง
ที่เคยเกริ่นไว้ในบทความที่แล้วว่าตอนนี้ในตลาดเริ่มมีการเปลี่ยนการพูดถึง blockchain มาใช้คำว่า DLT (Distributed Ledger Technology) แทน เนื่องด้วยสาเหตุใดนั้น ก็ได้เวลาพอดีที่จะเล่าสู่กันฟังต่อจากนี้
จากแนวคิดเรื่องอัลกอริทึม consensus ที่เปิดกว้างให้ผู้พัฒนาสามารถคิดค้นอัลกอริทึมใหม่ๆที่รองรับปริมาณทรานแซคชั่นที่สูง โดยยังคงซึ่งการสร้างความเชื่อมั่นในการยืนยันความน่าเชื่อถือของทรานแซคชั่นที่เกิดขึ้นได้อย่างมีประสิทธิภาพ แต่แทนที่จะมองเรื่อง consensus อย่างเดียวในการเพิ่มประสิทธิภาพ แต่กลับไปมองถึงรูปแบบการจัดเก็บ ledger ด้วย ว่าจำเป็นหรือไม่ที่ต้องเก็บเป็น block แล้วเชื่อมโยงเป็น chain แบบสายเดียวยาวๆ ซึ่งเป็นที่มาของคำว่า blockchain ในช่วงระยะหลังนี้เริ่มมีบริษัทที่ทำการออกแบบรูปแบบการจัดเก็บ ledger ที่แตกต่างไป โดยเฉพาะที่มีข่าวดังหน่อยช่วงปลายปีที่แล้ว คือ บริษัท Swirlds ได้ประกาศตัวเทคโนโลยี Hasgraph ซึ่งพัฒนาอัลกอริทึม consensus ร่วมกับเทคนิคการจัดเก็บ ledger ในรูปแบบ event และเชื่อมต่อกัน graph โดยบอกว่าสามารถรองรับทรานแซคชัน มากกว่า 250,000 tps และมีความน่าเชื่อถือที่สูงไม่แพ้กัน นั่นคือที่มาว่า DLT ในอนาคตเป็นไปได้ที่อาจจะไม่จำเป็นต้องเก็บในรูปแบบ blockchain อีกต่อไปก็เป็นไปได้ ถ้ามีการพิสูจน์ได้ว่าเทคโนโลยีมีประสิทธิภาพที่ดีกว่าจริง คงเป็นเรื่องที่ต้องดูกันต่อไป
สรุปจะเห็นว่า private blockchain ไม่ได้มีการนำอัลกอริทึมแบบขุดเหมือง หรือ proof of work มาใช้เลย เหมือนอย่างที่เรามักพบเห็นการลงทุนสร้างเหมืองขุดพวกสกุลเงินดิจิตอลซึ่งมีการใช้งานกันอย่างกว้างขวางในรูปแบบของ public blockchain โดย private blockchain จะเน้นการคิดค้น consensus ที่รองรับทรานแซคชั่นที่สูง ภายใต้เงื่อนไขที่ต้องมีความน่าเชื่อถือของข้อมูลที่สูงในระดับหนึ่งเช่นกัน ก็เป็นไปได้ที่ ในอนาคต public blockchain ก็อาจปรับเปลี่ยนมาใช้อัลกอริทึมพวกนี้แทนที่ใช้อยู่ปัจจุบันก็เป็นได้ เพื่อรองรับทรานแซคชั่นในปริมาณมากขึ้น นอกจากนี้ยังได้เริ่มมีบางบริษัทได้พัฒนาแนวคิดออกนอกกรอบของ blockchain จนตลาดเริ่มเปลี่ยนการพูดถึงเทคโนโลยี blockchain เป็นเทคโนโลยี DLT แทนแล้วในปัจจุบันนี้
ใช้เวลาเล่าเรื่อง consensus ใน blockchain ซึ่งเป็นส่วนสำคัญของ performance ใน blockchain ไปพอควร ในตอนหน้าก็จะมาเล่าถึงตลาดเทคโนโลยี blockchain ว่ามีค่ายไหนบ้าง และจะเปรียบเทียบข้อแตกต่างให้เห็นว่ามีข้อดีข้อเสียแตกต่างกันอย่างไร