👶 Blockchain

🤔 อธิบาย Blockchain หมดเปลือกในภาษาที่มนุษย์เข้าใจได้

หลายๆคนน่าจะเคยได้ยินเรื่องของ Bitcoin กันมาบ้างแล้ว ซึ่งมันมีหัวใจหลักสำคัญที่อยู่เบื้องหลังความสำเร็จของมันคือสิ่งที่เรียกว่า Blockchain นั่นเอง ดังนั้นในคอร์สนี้เราจะมาทำความเข้าใจกันว่า Blockchain มันคืออะไร ทำงานยังไง และถ้าเราอยากจะสร้างมันขึ้นมาต้องทำอะไรบ้าง

คอร์สนี้กำลังอยู่ในช่วงเขียนอยู่และจะค่อยๆเอาอัพเดทมาลงไว้ที่คอร์สนี้เรื่อยๆ ซึ่งเพื่อนๆสามารถกดติดตามข่าวสารได้จาก Saladpuk Facebook ตรงนี้เลย ฝากกดไลค์กดแชร์ด้วยก็ดีนะครับ 😍

🤔 Bitcoin คืออะไร ?

Bitcoin ที่เป็นกระแสฮือฮาอยู่ช่วงหนึ่งนั้นมันคือ แบรนด์ (ยี่ห้อ) ของธุรกิจตัวนึง ที่สามารถสร้างสกุลเงินใหม่ขึ้นมาบนโลกของเราได้ โดยใครที่อยากซื้อหรือขายเงินสกุลนี้ก็สามารถทำได้ง่ายๆเลย และมันก็ดังเป็นพลุแตกเพราะ 1 เหรียญของมันเคยมีมูลค่าสูงถึงราวๆ 6 แสนบาทเลยทีเดียว ดังนั้นคนที่เคยซื้อในราคาเหรียญละไม่กี่พันบาทก็จะได้กำไรแบบมหาศาลนั่นเอง ส่วนเบื้องหลังความสำเร็จของบริษัท bitcoin นั้นเกิดจากเทคโนคโลยีตัวใหม่ที่เข้ามาเขย่าวงการเช่นกันโดยเจ้าเทคโนโลยีนั้นชื่อว่า Blockchain นั่นเอง

🤔 Blockchain คืออะไร ?

Blockchain คือเทคโนโลยีที่ถูกคิดค้นขึ้นมาในปี 2008 จากคนที่ใช้ชื่อแฝงว่า Satoshi Nakamoto (ในปัจจุบันยังไม่มีคนรู้ว่าเขาคือใครและโดนหมายหัวไปทั่วโลก) โดย Satoshi ได้อธิบายหลักการทำงานที่สุดโต่งขัดกับหลักการทำงานของโลกปัจจุบันว่า (ขอสรุปเป็นแบบสั้นๆนะ)

ในทุกวันนี้ที่การดำเนินการต่างๆมันช้านั้นเกิดจากเราต้องคอยเช็กความถูกต้องผ่านตัวกลางเสมอและนั่นคือ "คอขวด" ที่ทำให้มันช้า ทำไมเราไม่ยกเลิกคอขวดนั้นเสียล่ะ ?

พูดง่ายๆคือทำไมเราต้องทำอะไรต่างๆอ้อมค้อมด้วย เช่นจะเปิดทีวีทำไมต้องทำแบบในรูปด้วย?

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

จากปัญหาที่ว่ามา Satoshi เลยเสนอหลักการที่ ไม่ต้องมีตัวกลาง หรือที่เราเรียกว่า Decentralized system และเพิ่ม security พิเศษเข้าไปเพื่อไม่ให้เกิดการโกงกันเกิดขึ้นได้ทำให้เราสามารถเอาตัวกลางออกได้ ตามรูปด้านล่างเลย

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

🤔 Blockchain เอาตัวกลางออกได้ยังไง ?

ขอตอบแบบเป็นภาษามนุษย์ก่อนว่า ใน whitepaper ของ Satoshi ได้อธิบายหัวใจสำคัญของ Blockchain ของเขาไว้ว่า

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

ในหลักการทำงานของ Blockchain ที่ใช้คณิตศาสตร์เข้ามาพิสูจน์เดี๋ยวมาลงรายละเอียดอีกทีในบทถัดไปครับไม่งั้นมันจะมี concept ต่างๆเข้ามาเยอะจนบทความนี้คงจะยาวเป็นหางว่าวแน่เลย เพราะต้องไปอธิบายการทำงานของ Cryptography แบบ step-by-step อีกด้วย

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

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

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

🤔 Blockchain ทำอะไรได้บ้าง ?

ในตอนที่เขียนบทความนี้ กลังอยู่ในช่วง Blockchain 4.0 ซึ่งสิ่งที่มันทำได้นั้นคือ

💡 Blockchain 1.0 - Record transactions

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

💡 Blockchain 2.0 - Smart Contract

สามารถเขียนโปรแกรมหรือที่เราเรียกว่า Smart contracts ลงไปได้ ทำให้ทุกคนสามารถดูได้ว่าโปรแกรมที่จะใช้นั้นมีกฎกติกายังไง พูดง่ายๆคือรู้ว่ามันจะทำอะไร ซึ่งข้อดีคือคนที่จะใช้โปรแกรมนั้นจะไม่ถูกโกงแน่นอน เพราะโปรแกรมจะทำงานตามที่เขียนไว้ 100% เช่น โปรแกรมกู้เงิน มันจะให้เรากู้เงิน x บาท แต่เราต้องเอา y มาค้ำประกัน แล้วมันจะหักเงินเราทุกวันที่ 1 ของเดือน 10% ของเงินที่กู้จนกว่าจะครบถึงจะคืน y ให้ไรงี้ มันก็จะทำงานแบบนั้นจริงๆไม่หักก่อนเวลาและไม่หักเกินแน่นอน และถ้าเราจ่ายจนหมดเราก็จะได้ y คืนมา 100% ทำให้คนใช้โปรแกรมตัวนี้สบายใจว่าไม่โดนโกงแน่นอน

💡 Blockchain 3.0 - Cloud Servicing

ตัว Blockchain พร้อมให้บริการต่างๆบนคลาว์แล้ว เพื่อให้เราสามารถเอาไปสร้างเป็น model ธุรกิจของตัวเองได้

💡 Blockchain 4.0 - Trust

ผมไม่รู้ว่าชื่อจริงๆมันเรียกว่าอะไร แต่ในตัวเวอร์ชั่น 4 นี้กำลังอยู่ในช่วงคิดค้นกันอยู่ยังไม่มี product จากค่ายไหนตอบโจทย์นี้ได้จริงๆ ซึ่งปัญหาที่คนทำ Blockchain ต้องการจะจัดการในเวอร์ชั่นนี้คือ เราจะเชื่อข้อมูลจากแหล่งข้อมูลอื่นที่อยู่นอกระบบได้ยังไง? เช่น สมมุติว่าเราเขียน Smart contract เพื่อให้ทายผลบอล (ไม่ใช่การพนันนะ ฮ่าๆ) พอการแข่งขันจบลงตัว smart contract ก็จะต้องให้คะแนนกับคนที่ทายผลถูก คำถามคือ แล้วเราจะเชื่อใจแหล่งข้อมูลนั้นได้ยังไงว่าเขาจะไม่หลอกเรา? ต่อให้เป็นเซิฟเวอร์ของเราเองก็ตาม เราจะมั่นใจได้ยังไงว่าผลที่มันส่งมานั้นไม่ได้โดนมือดีเจาะเข้ามาแล้วส่งผลลัพท์อื่นเข้ามาแทน?

🤔 Blockchain มีกี่แบบ ?

โดยปรกติจะมี 2 แบบ คือ Public Blockchain เป็นระบบ blockchain แบบเปิดใครอยากเข้าไปร่วมเป็นส่วนหนึ่งของระบบก็สามารถทำได้ โดยคนที่เข้ามาร่วมทำงานด้วยก็จะมีโอกาสได้รับผลตอบแทนในระบบ และอีกแบบคือ Private Blockchain ซึ่งก็จะคล้ายกับแบบแรกเพียงแค่เขาไม่ได้เปิดให้คนเข้าไปร่วมแบบมั่วๆได้นั่นเอง

🧭 เนื้อหาของคอร์สทั้งหมด

ใจเย็นๆนะโยมบทความนี้กำลังเขียนอยู่อย่างที่บอก บทความถัดไปของคอร์นี้น่าจะเขียนเสร็จวันที่ 24/09/2019 ครับถ้าไม่อยากพลาดบทความนี้ก็ไปกดติดตามได้จากลิงค์นี้ครับ Saladpuk Facebook

  • อยากเขียน Smart contracts ของตัวเองทำยังไง ?

  • Ethereum Blockchain ทำงานยังไง ?

  • อื่นๆ คิดออกเมื่อไหร่เดี๋ยวมาใส่ช่องนี้

🎯 บทสรุป

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

Blockchain vs Quantum computer ในระบบ Blockchain นั้นจะใช้คณิตศาสตร์ในการทำงานต่างๆ ซึ่งเซิฟเวอร์เวลาจะบันทึกอะไรลงจะต้องทำการแก้สมการตัวนึง ซึ่งปรกติมันจะต้องใช้เวลาในการคำนวณอยู่ในระดับนึง ถึงจะสามารถแก้สมการได้ แต่ถ้าเราใช้ quantum computer ไปแก้สมการเดียวกันด้วยวิธีการของ quantum แล้วล่ะก็มันจะใช้เวลาแก้เร็วกว่าเยอะมาก ทำให้หลายคนมองว่า Blockchain สุดท้ายก็จะโดนเจาะระบบได้นั่นเอง แต่ในความเป็นจริงแล้วปัญหาของ Quantum ก็ต้องแก้ด้วย Quantum Blockchain เช่นกัน ดังนั้นในปลายทางถ้ามีคนใช้ quantum มาโกงแล้วล่ะก็ ทาง blockchain ก็ต้องใข้ quantum เซิฟเวอร์มาแก้ทางเช่นกัน เลยตอบไม่ได้ว่าในอนาคตจะเป็นยังไง

Blockchain ไม่ปลอดภัยเสมอไป แม้ว่ามันจะถูกชูโรงว่ามีความปลอดภัยสูงมาก แต่ถ้าเราเอาเอา blockchain ไปใช้งานแล้วเปิดเป็นระบบเปิด หรือ ที่เรียกว่า Public Blockchain แต่มีคนที่เข้ามาร่วมทำงานด้วยกันไม่เยอะมากเท่าไหร่ กรณีแบบนี้ระบบเราจะโดนโจมตีได้ง่ายมากเพราะคนที่มีเงินเช่าเซิฟเวอร์มาร่วมกับเราได้เยอะกว่าจะสามารถแก้ไขข้อมูลได้นั่นเอง ซึ่งเขาแก้ได้ยังไงเดี๋ยวไปดูในบทของ Consensus Algorithm กันว่าเขาจะโกงเราได้ยังไง