Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
115 lines (67 sloc) 22 KB
description
🤔 อธิบาย Blockchain หมดเปลือกในภาษาที่มนุษย์เข้าใจได้

👶 Blockchain

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

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

🤔 Bitcoin คืออะไร ?

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

🤔 Blockchain คืออะไร ?

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

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

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

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

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

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

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

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

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

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

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

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

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

🤔 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

{% page-ref page="magic.md" %}

{% page-ref page="consensus-algorithm.md" %}

{% page-ref page="create-eth.md" %}

  • อยากเขียน Smart contracts ของตัวเองทำยังไง ?
  • Ethereum Blockchain ทำงานยังไง ?
  • อื่นๆ คิดออกเมื่อไหร่เดี๋ยวมาใส่ช่องนี้

🎯 บทสรุป

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

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

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

You can’t perform that action at this time.