ผมเองได้ยินคำว่า “บิทคอยน์” บ่อยมากครับ
อาจจะเป็นเพราะทำงานสายเทคโนโลยีที่ต้องเกี่ยวโยงกับเรื่องนี้ด้วยเสียส่วนใหญ่ ผมเองรู้จักบิทคอยน์มาตั้งแต่แรกๆ ที่มันเพิ่งเริ่มประกาศใช้ ตั้งแต่ราคาของมันต่อหน่วยแทบไม่มีมูลค่าอะไร ด้วยความที่มันเป็นเทคโนโลยีใหม่ (ตอนนั้นยังไม่ได้พูดถึง blockchain) โปรแกรมเมอร์อย่างเราๆ ส่วนใหญ่ก็เพียงแค่สนใจว่ามันขุดแล้วได้เหรียญ เทคโนโลยีของมันน่าสนใจมาก เรียกได้ว่าเป็นเรื่องใหม่ในวงการในตอนนั้นเลยก็ว่าได้ แต่ด้วยมูลค่าต่อเหรียญที่น้อยนิดกระจิด คนส่วนใหญ่เลยไม่ได้สนใจที่จะขุดมันมาก บางทีเปิดกระเป๋า(wallet) ทิ้งเอาไว้ มีเงินอยู่เหรียญสองเหรียญก็ทิ้งมันไปไม่ได้สนใจด้วยซ้ำ
ผ่านมาร่วม 3-4 ปี ราคาของบิทคอยน์ตอนที่เขียนบทความนี้อยู่ที่ 580,000 บาทปลายๆ ต่อเหรียญ ผมเชื่อว่าต้องมีคนที่รวยเพราะการลงทุนในตอนแรกอยู่บ้าง แล้วก็ต้องมีบางคนที่เสียดายเหรียญที่เคยละเลย แล้วเอากลับมาไม่ได้อยู่ด้วยในเวลาเดียวกัน ยิ่งตอนที่ผมหันมาเรียน mba เนี่ย เรื่องของบิทคอยน์ถูกพูดบ่อยมาก จนบางทีก็ตกใจว่าเรื่องของเทคโนโลยีทำไมถูกคนพูดถึงในวงกว้างเยอะจัง หรือว่าจริงๆ แล้วพวกเขาไม่ได้สนใจว่ามันเกิดขึ้นมายังไง ทำงานยังไง ทำไมต้องขุด สนใจเพียงแต่ว่าค่าเงินที่ตราหน้าของมันในแต่ละหน่วยที่เพิ่มขึ้นในแต่ละวัน ถือว่าเป็นการลงทุนเก็งกำไรติดขบวนรถไฟไปเท่านั้น
ผมไม่ได้ชอบบิทคอยน์จนถึงขนาดอยากจะเก็บมาเขียนเป็นบทความด้วยซ้ำ แต่สิ่งที่รู้สึกชอบ และทึ่งของเรื่องนี้เป็นเรื่องของ blockchain เสียมากกว่า แล้วถ้าใครที่เข้าใจคอนเซปการทำงานของมันแล้วล่ะก็ อาจจะพูดได้เลยว่ามันเป็นเทคโนโลยีที่แทบจะเปลี่ยนวิธีการของโลกได้อย่างสิ้นเชิง.. ถ้าอ่านสิ่งที่เขียนแล้วมันเข้าใจยาก ผมแนะนำให้หาซีรี่ย์เรื่อง silicon valley ใน season 4 ช่วงตอนหลังๆ จะมีพูดถึงการทำงานของ blockchain ได้อย่างน่าสนใจทีเดียวเชียว
ถ้าใครที่ติดตามข่าวสารเทคโนโลยีมาบ้างก็น่าจะพอทราบมาว่า กลุ่มคนที่ drive ราคาของบิทคอยน์ที่แท้จริงมีอยู่ประมาณพันราย ส่วนใหญ่เป็นคนที่เก็บเหรียญมาตั้งแต่ตอนแรกๆ ทำให้กลุ่มนั้นมีกำลังมากพอที่จะปั่นราคาในตลาด ไหนจะเป็นเรื่องของเหรียญที่สูญหายไปจากการที่ทำกระเป๋าเงินหาย (ต้องเข้าใจก่อนว่า wallet นั้น recovery ยากมาก ต้องมี key ฯลฯ ในการเข้าถึงกระเป๋าเงินนั้นๆ) อีกกว่า 3 ล้านเหรียญ
จึงเกิดเป็นเคส folk เหรียญสกุลใหม่ขึ้นมาอีกเพียบ อย่างที่เห็นในปัจจุบัน (สกุลเงินดิจิตอล หรือ cryptocurrency มีหลายสกุลมาก ในโลกของเราไม่ได้มีแค่ bitcoin สกุลเดียว ซึ่งมีตั้งแต่ Ethereum, Zcoin, Dash, Ripple รวมไปถึงเหรียญของบริษัทสตาร์ทอัพไทยอย่าง OmiseGO)
ตอนแรกว่าจะสรุปเรื่องบิทคอยน์น้อยๆ แล้วจะเข้าเรื่อง blockchain แต่นี่ก็ปาไปหลายบรรทัดแล้ว เอาเป็นว่าใครที่อยากจะศึกษาข่าวสารของบิทคอยน์ก็สามารถเข้าไปอ่านบทความได้ที่ blognone และ siamblockchain เพื่อติดตามกันเองแล้วกันครับ
Blockchain เทคโนโลยีเบื้องหลังบิทคอยน์
ผมเคยทำรายงานเป็นการบ้านส่งวิชาบัญชีธุรกิจ ซึ่งตอนนั้นเขียนโดยพยายามไม่ใช้คำที่เป็นศัพท์เทคนิคมาก เพื่อให้เพื่อน อาจารย์ หรือผู้ที่เกี่ยวข้องที่ไม่ได้มาทางด้านสายเทคโนโลยีพออ่านแล้วจับใจความได้ คำมันอาจจะแปลกๆ ไปบ้างแต่ก็พออธิบายให้เห็นภาพคร่าวๆ ได้ว่ามันคืออะไร ทำงานยังไง แล้วทำไมถึงต้องเกิดขึ้นมา มีใจความดังนี้ครับ
Blockchain คือเทคโนโลยีสมัยใหม่ ที่มีหลักการณ์ออกแบบบนพื้นฐานของการกระจายแบบศูนย์กลาง(หรือที่เรียกว่า decentralized system) กล่าวคือเป็นเทคโนโลยีที่เกิดขึ้นเพื่อตัดตัวกลางในการทำธุรกรรมออกไป โดยกระจายข้อมูลไปยังผู้ใช้ทุกคนที่อยู่บนระบบ (หรือ node) แทน
สาเหตุที่ Blockchain ถูกออกแบบมาแบบนี้ก็เพื่อต้องการให้ผู้ใช้ทุกคนที่อยู่บนเครือข่ายสามารถทำธุรกรรมได้อย่างอิสระ และสามารถตรวจสอบได้ เมื่อไม่มีตัวกลางในการทำกิจกรรม ระบบจึงออกแบบให้ผู้ใช้ในเครือข่ายเก็บข้อมูลทุก transaction ไว้อยู่กับตัวเอง และเมื่อมีผู้ใช้ใหม่เข้ามาในระบบ ผู้ใช้คนดังกล่าวจำเป็นต้องดาวน์โหลดข้อมูลทั้งหมดที่ถูกบันทึกนั้นมาเก็บไว้ด้วยเช่นกัน เราจึงเห็นข้อดีว่าการเก็บข้อมูลแบบ กระจายศูนย์ทำให้ข้อมูลมีความปลอดภัย ไม่ขึ้นอยู่กับตัวกลางที่เก็บข้อมูลรวมศูนย์ ซึ่งเสี่ยงต่อปัจจัยภายใน และภายนอก
ลองนึกภาพว่ามีผู้คนในกลุ่มอยู่ 10 คน คนๆ นึงจะทำการส่งเงินให้เพื่อน แทนที่จะต้องมีใครสักคนทำหน้าที่เป็นตัวกลางในการรับ-ฝากเงิน และบันทึกข้อมูลการทำธุรกรรมเอาไว้ที่คนเดียว เราก็ตะโกนไปในกลุ่มเลยว่าใครกำลังจะโอนเงินให้ใคร แล้วให้ทุกคนที่ได้ยินนั้นจดลงสมุดบัญชีของตัวเอง
อยากในรูปภาพประกอบข้างบน คนที่ 2 ต้องการส่งเงิน 10 เหรียญให้คนที่ 9 ก็ให้ใช้วิธีบอกทุกคนในกลุ่ม ให้ทุกคนจดลงบัญชีธุรกรรมของตัวเอง เมื่อจดบันทึกไปเรื่อยๆ และกระดาษที่บันทึกในหนึ่งหน้าก็จะเต็มจนต้องทำให้ขึ้นหน้าใหม่เพื่อเริ่มบันทึกธุรกรรมต่อ แต่ก่อนที่เราจะเริ่มขึ้นหน้าใหม่นั้นเอง เราจำเป็นต้องเอากระดาษใส่กล่องแล้วปิดผนึกเสียก่อนเพื่อให้มั่นใจว่าจะไม่มีใครเข้ามาแก้ไขข้อมูลที่เคยบันทึกไป นี่เองจึงทำให้เมื่อวันเวลาผ่านไป ข้อมูลที่ถูกซีลเอาไว้จะยังถือเป็นข้อมูลที่ถูกต้องเสมอ ตราบใดที่ทุกคนในกลุ่มยังเชื่อใจกล่องที่ถูกซีลกล่องนั้น
ขุดเหรียญบิทคอยน์ ขุดยังไง มันมาจากไหน?
จะเห็นว่าการซีลข้อมูลกล่องนั้นถือเป็นเรื่องที่สำคัญมากเลยถูกไหมครับ เพราะทุกคนในกลุ่มก็ใช้ และอ้างอิงข้อมูลในกล่องนี้ได้ ประเด็นคือการซีลข้อมูลนั้นอะ จะซีลยังไง เขียนเลข 1,2,3 กำกับหรอ? ถ้าเขียนง่ายแบบนั้นใครก็ปลอมแปลงได้ซิ! จึงเกิดเครื่องซีลข้อมูลขึ้นมา โดยในเชิงเทคนิคเราเรียกว่า hash function หรือเครื่องซีลสุ่มตัวเลขโดยเฉพาะ (เป็นไงครับ ชื่อเรียกของผมดูเห่ยมากเลยใช่ไหม)
โดยเจ้าเครื่องนี้จะรับค่านึงเข้ามา แล้วให้ค่าที่ต่างกันออกไป แต่เมื่อ input อะไรมาก็ตาม output จะผูกขึ้นอยู่กับค่านั้นเสมอ เช่น สมมติผมใส่ข้อความในเครื่องนี้ไปว่า “เจ็ดโพธิ์ดำ” เครื่องนี้จะให้ค่า output ออกมาเป็น “398a9123ifofo” เมื่อใดก็ตามที่ผมใส่คำว่าเจ็ดโพธิ์ดำเข้าไปในเครื่องซีลสุ่มตัวเลขนี่ มันจะให้ค่าคำตอบออกมาเป็น “398a9123ifofo” เสมอ
และเมื่อต้องการถอดค่ากลับ ผมก็ใส่ค่า “398a9123ifofo” เข้าไปในเครื่องถอดรหัส (สมมติว่าผมมีเครื่องถอดรหัสอยู่ข้างๆ ตอนนี้) มันก็จะให้ค่าออกมาเป็นเจ็ดโพธิ์ดำเสมอ เข้าใจหลักการเข้ารหัส และถอดรหัสแบบนี้ก่อนครับ จะได้พอเห็นภาพได้ง่าย และในเคสของการซีลนี่เองเราไม่มีเครื่องถอดรหัสครับ และลองคิดต่อว่าถ้าเครื่องซีลสุ่มตัวเลขของเราให้ค่าแค่ output ออกมา อะไรจะเกิดขึ้น?
สมมติว่า output ที่ได้คือ “312000238f0” นั่นหมายความว่าต้องมีค่า input ค่านึงที่สัมพันธ์กับค่า output นี้ถูกไหมครับ การที่จะรู้ input ที่ว่านี่ได้คือ เราก็ต้องใส่ค่าสุ่มเข้าไปในเครื่องซีลตัวเลขนั้น แล้วมาลองเทียบดูไปเรื่อยๆ ว่าค่า input ที่ใส่ไปนั้นให้ค่ามาถูกกับ output ที่เราต้องการตรวจสอบไหม
common sense ของเราแม่งเกิดขึ้นมาทันทีว่า “เชี้ยเอ้ย นี่ต้องนั่งสุ่มค่า input ไปเรื่อยๆ จนกว่าจะได้ output เท่ากับค่านั้นหรือยังไงวะ?” ใช่แล้วครับ วิธีทำมันก็เป็นแบบนั้นนั่นแหละ สมมติอีกว่าเวลาผ่านไปเรื่อยๆ คุณใช้ความพยายามในการสุ่มค่าแล้วสัมฤทธิ์ผล ใส่ค่า input เป็นคำว่า “นาฬิกาเรือนละสี่ล้าน” แล้วได้ output ออกมาเป็น “312000238f0” สมใจ นั่นแปลว่าคุณได้ทำการแก้สมการการซีลกล่องเรียบร้อยแล้วนั่นเอง จะเห็นว่าวิธีที่เราทำเนี่ย
มันยากมากในการหาคำตอบ แต่มันจะง่ายมากในการตรวจคำตอบว่าถูกหรือผิด
สมมติต่อว่าคุณมีกล่องข้อมูลสองกล่อง กล่องแรกนั้นมีข้อมูลถูกต้องได้รับการซีล และยอมรับจากเพื่อนๆ ในกลุ่มเรียบร้อย โดยกล่องแรกได้ค่าซีลคือ 20893 คุณต้องการเอากล่องข้อมูลกล่องที่สองต่อจากกล่องแรกที่ได้รับการซีลว่าถูกต้องแล้วจะต้องทำยังไง? แน่นอนเราก็ย้อนกลับมาที่เครื่องสุ่มเลขมหัศจรรย์ของเราเหมือนเคย
คำตอบที่ได้เมื่อนำกล่องที่หนึ่ง(ซีลถูกต้องด้วยค่า 20893) บวกกับค่า (?) ของกล่องที่สอง เข้าเครื่องแล้วได้ output ออกมาเป็น 00078 หลักการของมันก็ยังเหมือนเดิม คือ input ต้องสัมพันธ์กับค่า output ที่นี่เราก็ต้องมาสุ่มหาเลขปริศนาของเราไปเรื่อยๆ ว่าบวกกับค่าซีลของกล่องแรกแล้วได้ผลลัพธ์เป็น 00078 นั้นคืออะไร จนเมื่อเวลาผ่านไป…
ก็สุ่มออกมาสำเร็จ
ค่าที่สุ่มออกมาได้คือ 21191 รวมกับค่าของกล่องแรกคือ 20893 เข้าเครื่องแล้วได้ผลลัพธ์ออกมาเป็น 00078 ตามที่ต้องการ ในกรณีนี้เองเราจะสามารถบอกได้ว่าค่า 21191 นั้นเป็นค่าที่เช็คความถูกต้องของกล่องแรก และแปะป้ายซีลลงไปที่กล่องแรกเพื่อยืนยันความถูกต้องของข้อมูลต่อกันได้เลย
นั่นจึงเป็นที่มาของการ chain หรือนำกล่อง(block) มาต่อกันไปเรื่อยๆ นั้นเองครับ เพื่อยืนยันความถูกต้องของข้อมูล เราจะมีตราซีลกล่องใหม่ต่อท้ายกับค่าของกล่องเก่า และการที่หาค่าซีลนั้นก็เปรียบเสมือนกับการขุดเพื่อหา input เพื่อยันยืนความถูกต้องกับ output ซึ่งใครที่หาค่าดังกล่าวได้ก่อนจะถือว่าเป็นรางวัลสำหรับผู้ที่แก้สมการนั้นได้ ซึ่งในโลกความเป็นจริงตัวเลขจะเยอะกว่านี้มาก ซึ่ง hash ของจริงจะมีความยาวประมาณ “000dc75a315c77a1f9c98fb6247d03dd18ac52632d7dc6a9920261d8109b37cf” นี้ และความยากง่ายจะในการถอดสมการจะขึ้นอยู่กับสถานการณ์ตอนนั้นด้วยว่ามีคนแก้ได้ช้าหรือเร็ว ถ้าแก้สมการได้ช้า ดูเหมือนจะยากเกินไป อัลกอริทึมจะเปลี่ยนความยากให้ง่ายลง กลับกันถ้ามันถูกขุดได้เร็วเกินไป หรือแก้สมการได้ง่าย ระบบก็จะเปลี่ยนค่าให้สมการนั้นยากขึ้น คนจะขุดเหรียญเพื่อเอารางวัลได้ยากขึ้นนั่นเอง
เราจึงสังเกตได้ว่า คนที่จะขุดได้นั้นต้องมีคอมพิวเตอร์ที่มีการประมวลผลที่เร็ว เพื่อใช้ในการถอดรหัสตัวเลข หรือใช้ในการสุ่มค่าต่อวินาทีได้ครั้งละมากๆ ต่อวินาที ค่าไฟฟ้าจึงขึ้นมหาศาล การขุดก็ยากขึ้น เพราะเหรียญที่ถูกจำกัดของบิทคอยน์ก็เกือบจะถูกขุดจนครบ 21 ล้านเหรียญแล้ว
สำหรับใครที่ต้องการหาข้อมูลการใช้งาน blockchain อย่างจริงจังมากขึ้น หรืออยากจะเข้าใจ hash function มากขึ้น ผมแนะนำให้เข้าไปเล่นผ่าน tutorial ออนไลน์ที่เว็บไซต์ https://blockchaindemo.io ครับ จนมาถึงตอนนี้อาจจะเห็นว่าเนื้อหามันค่อนข้างเยอะ และมีความซับซ้อนมากประมาณหนึ่ง ถึงแม้จะเขียนเป็นภาษาที่ไม่ใช่เชิงเทคนิคแล้วก็ตาม ไหนจะยังมีเรื่องของ smart contract (ที่ผมชอบมาก ถือเป็น automation ของการทำ transaction บนโลกออนไลน์ได้สบายๆ ) ของ ethereum อีก แต่ช่างมันเถอะครับ ผมเองก็ยังไม่ได้เข้าใจมันมากพอสมควร เอาเป็นว่าแค่คอนเซปพื้นฐานการทำงาน และการขุดก่อนแค่นี้ก็เหนื่อยมากแล้ว
ถ้าถามว่ามันเป็นฟองสบู่มั้ย ผมว่าน่าจะเป็นแน่นอน แต่ยังไม่ใช่ในเร็วๆ นี้ สำหรับคนที่ยังอยากจะทำกำไรกับการลงทุนอยู่ก็ศึกษาให้ดีสักนิดนึง อย่าขายรถขายบ้านเพื่อมาลงทุนเลยครับ ลงขำๆ สัก 5% – 10% ของเงินเก็บเพื่อศึกษาดูไว้สนุกๆ จะดีกว่า และต้องอย่าลืมนะครับ ว่าบิทคอยน์มันไม่มีตัวตน ไม่มีอะไรที่จับต้องได้เลยถ้ายังไม่ได้ขายเปลี่ยนเป็นเงินจริงๆ การลงทุนมีความเสี่ยงครับ.. อาจารย์สอนมา 🦄