Bitcoin คืออะไร?

what-is-bitcoin

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

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

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

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

ใครๆ ก็สามารถใช้งานโปรแกรมหรือเข้ามาในระบบได้

วิธีการใช้งานจะถูกอธิบายอย่างง่ายๆ ดังต่อไปนี้

Bitcoin คืออะไร?

Bitcoin เป็นเพียงแค่โปรแกรมคอมพิวเตอร์ คุณสามารถดาวน์โหลดและใช้งานบนคอมพิวเตอร์ของคุณได้

เอาล่ะ มาลองดาวโหลดโปรแกรมกันเลย

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

1_2_network

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

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

Bitcoin สามารถแก้ปัญหาด้านไหนได้บ้าง?

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

การกระทำเช่นนี้จะถูกเรียกว่า “การทำธุรกรรมซ้ำซ้อน (Double-spend)”

2_1_why_double_spend

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

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

Bitcoin จะเข้ามาแก้ไขปัญหาดังกล่าวโดยการบังคับให้ Node เก็บข้อมูลการทำธุรกรรมทั้งหมดที่ได้รับในหน่วยความทรงจำ (Memory) ก่อนที่จะบันทึกข้อมูลดังกล่าวลงไปในไฟล์ข้อมูล จากนั้น หลังจากใช้เวลาดำเนินการเป็นระยะเวลา 10 นาที Node ที่ได้รับการสุ่มเลือกจะเพิ่มรายการธุรกรรมจากหน่วยความทรงจำของคอมพิวเตอร์เครื่องนั้นๆ ลงไปในไฟล์ข้อมูล

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

2_3_why_solved

กระบวนการในการเพิ่มรายการธุรกรรมบนไฟล์ข้อมูลจะเรียกว่าการขุดและมันจะเป็นการแข่งขันกันเองภายในระบบเครือข่ายที่ไม่อาจจะถูกควบคุมโดย Node ใดๆ ก็ตามบนเครือข่าย

การขุดมีการทำงานอย่างไร?

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

ในการทำรายการดังกล่าว Node จะรวบรวมรายการธุรกรรมจากจุดรวบรวมหน่วยความทรงจำไปยังที่เก็บที่เรียกว่าบล็อก (Block) และจากนั้นก็จะใช้กำลังประมวลผลในการลองขุดและเพิ่มบล็อกของรายการธุรกรรมนี้เข้าไปใน Blockchain

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

3_2_hash_function

เพื่อให้การเพิ่มบล็อกลงไปใน Blockchain สามารถดำเนินการได้อย่างเสร็จสิ้นสมบูรณ์ ตัวเลขนี้ (เลข Hash ของบล็อกหรือ Block hash) จะต้องต่ำกว่าเป้าหมาย ซึ่งจะเป็นตัวเลขจุดเริ่มต้นที่ทุกคนในเครือข่ายเห็นพ้องต้องกัน

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

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

Bitcoin มาจากไหน?

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

3_5_mining_block_reward

รางวัลของ Bitcoin ใหม่จะถูกเรียกว่ารางวัลจากการสร้างบล็อก (Block reward) และเป็นเหตุผลที่กระบวนการดังกล่าวถูกเรียกว่า “การขุด”

ทำไมไฟล์ข้อมูลถึงถูกเรียกว่า Blockchain?

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

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

4_2_blockchain_longest

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

ผลก็คือ ความพยายามของเครือข่ายทั้งหมดรวมกันจะทำให้การหลอกลวงเครือข่ายและเขียน Blockchain แยกขึ้นมาใหม่กลายเป็นเรื่องที่ยากอย่างมาก

การทำธุรกรรมจะประสบผลสำเร็จได้อย่างไร?

คุณสามารถนึกภาพ Blockchain เป็นเครื่องอำนวยความสะดวกในการเก็บข้อมูลใน กล่องเงินฝากที่ได้รับการรักษาความปลอดภัย หรือที่เราเรียกอีกอย่างว่าข้อมูลที่แสดงออกมาจากคอมพิวเตอร์ (Outputs) โดยข้อมูลที่ได้มานี้เป็นแค่เพียงอุปกรณ์ในการเก็บ Bitcoin จำนวนมาก

เมื่อคุณดำเนินธุรกรรม Bitcoin คุณจะเลือกข้อมูลที่แสดงออกมาจากคอมพิวเตอร์ (Outputs) ขึ้นมาและปลดล็อกมัน จากนั้นก็สร้างข้อมูลที่แสดงออกมาจากคอมพิวเตอร์ (Outputs) ขึ้นมาและล็อกมันไว้ใหม่

เพราะฉะนั้น เมื่อคุณ “ส่ง” Bitcoin ให้ใครสักคน คุณจำเป็นที่จะต้องวาง Bitcoin ในจำนวนเพียงพอที่จะส่งไปยังกล่องเงินฝากที่ได้รับการรักษาความปลอดภัยและล็อกกล่องเอาไว้เพื่อให้ผู้ที่คุณ “ส่ง” Bitcoin ให้เท่านั้นมาปลดล็อกมันออก

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

5_3_transaction_change

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

5_4_transaction_graph

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

5_5_transaction_blockchain_outputs

คุณจะเป็นเจ้าของ Bitcoin ได้อย่างไร?

ในการเตรียมตัวสำหรับการ “รับ” Bitcoin คุณจำเป็นที่จะต้องมีชุดกุญแจ(Keys) ของตัวเอง โดยชุดกุญแจ (Keys) ดังกล่าวจะเหมือนกับหมายเลขบัญชีและรหัสเข้าบัญชีของคุณ เพียงแค่ว่าใน Bitcoin หมายเลขเหล่านี้จะถูกเรียกว่า “Public Key” และ “Private Key” ตามลำดับ

ยกตัวอย่างเช่น หากผมต้องการที่จะส่ง Bitcoin ให้กับคุณ ก่อนอื่นคุณจะต้องมอบ Public Key ให้กับผมก่อน เมื่อผมสร้างรายการธุรกรรมขึ้นมา ผมจะวาง Public Key ลงไปและล็อกข้อมูลที่แสดงออกมาจากคอมพิวเตอร์ (Output) หรือกล่องเงินฝากที่ได้รับการรักษาความปลอดภัย คุณก็จะใช้ Private Key ของตัวเองในการปลดล็อกข้อมูลนี้เมื่อคุณต้องการที่จะส่ง Bitcoin ไปหาคนอื่น

6_1_keys

แล้วคุณจะหา public key และ private key ได้ที่ไหน? เอาล่ะ ด้วยการช่วยเหลือของวิทยาการเข้ารหัสลับหรือที่เรียกว่า cryptography คุณสามารถสร้างมันได้ด้วยตัวเอง

อธิบายสั้นๆ ก็คือ private key ของคุณคือตัวเลขสุ่มขนาดใหญ่และ public key คือตัวเลขที่คำนวณมาจาก private key ของคุณนั่นเอง ส่วนที่น่าสนใจอย่างมากก็คือคุณสามารถมอบ public key ให้คนอื่นได้ แต่พวกเขาไม่สามารถค้นหา private key จากมันได้

6_2_keys_generate

ตอนนี้เมื่อคุณต้องการที่จะปลดล็อก Bitcoin ที่ถูกมอบหมายให้ส่งไปยัง Public Key ของคุณ คุณจะใช้ Private Key ในการสร้างสิ่งที่เรียกว่าลายเซ็นดิจิทัล (Digital Signature) ซึ่งลายเซ็นดิจิทัลจะพิสูจน์ว่าคุณเป็นเจ้าของของ Public Key (และจากนั้นก็สามารถปลดล็อก Bitcoin) โดยไม่จำเป็นต้องเปิดเผย Private Key ของคุณเลย ลายเซ็นดิจิทัล (Digital Signature) นี้จะสามารถใช้งานได้กับธุรกรรมที่ถูกสร้างขึ้นมาเฉพาะเท่านั้น เพราะฉะนั้นมันจะไม่สามารถใช้ปลดล็อก Bitcoin อื่นๆ ที่ถูกล็อกไว้โดยใช้ Public Key เดียวกัน

6_3_keys_digital_signature

ระบบนี้เป็นที่รู้จักในชื่อ “Public Key Cryptography” หรือวิทยาการเข้ารหัสลับสำสำหรับ Public Key ซึ่งเป็นที่รู้จักตั้งแต่ปี 1978 Bitcoin จะช่วยทำให้มั่นใจว่าระบบนี้จะทำให้ทุกคนสามารถสร้างกุญแจ (Key) สำหรับรับและส่ง Bitcoin ได้อย่างปลอดภัย โดยปราศจากตัวกลางควบคุมการเปิดบัญชีและตั้งค่ารหัสผ่าน

สรุปภาพรวมการทำงานของ Bitcoin

ในการเริ่มใช้งาน Bitcoin คุณจำเป็นต้องสร้าง Private key และ Public Key ของตัวเองขึ้นมา โดย Private Key ของคุณจะเป็นเพียงแค่ตัวเลขสุ่มขนาดใหญ่และ Public Key ของคุณจะคำนวณมาจากตัวเลขดังกล่าว กุญแจ (Key) เหล่านี้ถูกสร้างได้อย่างง่ายดายด้วยคอมพิวเตอร์ของคุณ เป็นอะไรที่ง่ายเหมือนการใช้อุปกรณ์คำนวณ ผู้คนส่วนมากจะใช้กระเป๋าสตางค์ Bitcoin เพื่อที่จะช่วยสร้างและจัดการกุญแจ (Key) ของพวกเขา

เพื่อที่จะรับ Bitcoin คุณจะต้องมอบ Public Key ของคุณให้ใครสักคนหนึ่งที่ต้องการจะส่ง Bitcoin ให้กับคุณ บุคคลนี้จะทำการสร้างรายการธุรกรรมโดยจะล็อก Bitcoin ที่เขาถือครองอยู่เอาไว้ และสร้าง “กล่องเงินฝากที่ได้รับการรักษาความปลอดภัย” สำหรับเก็บ Bitcoin ขึ้นมาและใส่ล็อก Public Key เอาไว้

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

กระบวนการขุดนี้จะเกี่ยวข้องกับการเก็บสะสมรายการธุรกรรมของ Node จากแหล่งรวมหน่วยความทรงจำ(Memory Pool) ของ Node เข้าไปในบล็อก(Block) และใส่ข้อมูลบล็อกเข้าไปในฟังก์ชั่น Hash ซ้ำๆ (ด้วยการปรับเปลี่ยนเล็กๆ น้อยๆ ในทุกครั้ง)  และพยายามที่จะได้เลข Hash ของบล็อกต่ำกว่าค่าเป้าหมาย

นักขุดแรกที่หาเลข Hash ที่ต่ำกว่าค่าเป้าหมายจะสามารถเพิ่มบล็อกเข้าไปใน Blockchain ได้สำเร็จและกระจายบล็อกนี้กับ Node อื่นๆ บนเครือข่าย Node แต่ละตัวจะเพิ่มบล็อกนี้เข้าไปใน Blockchain (ลบการทำธุรกรรมที่มีความขัดแย้งต่างๆ จากแหล่งรวบรวมหน่วยความทรงจำ) และเริ่มต้นกระบวนการขุดใหม่และพยายามที่จะสร้างบล็อกใหม่ทับบล็อกเดิมต่อไปเรื่อยๆ เป็นห่วงโซ่

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

7_1_bitcoin_system

สรุป

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

ระบบเครือข่าย Bitcoin ทำงานอย่างราบรื่นตั้งแต่ระบบถูกเปิดให้ใช้งานในเดือนมกราคม 2009 ในปี 2019 เครือข่าย Bitcoin ได้สร้างรายการธุรกรรมไปแล้วมากกว่า 112 ล้านรายการ ทั้งหมดมีมูลค่ากว่า 15,577,763,114,629.34 ดอลลาร์ (15.58 ล้านล้านดอลลาร์)

โปรแกรม Bitcoin เองก็มีการพัฒนาอยู่เสมอ ด้วยโค้ดมากกว่า 600 โค้ดที่สนับสนุนระบบเครือข่ายตั้งแต่มีการเปิดให้ใช้งาน นี้มาจากข้อเท็จจริงที่ว่าซอร์ฟแวร์เป็น “Open Source” หรือมีการเปิดข้อมูลโค้ดให้เป็นสาธารณะ หมายความว่าทุกคนสามารถเข้ามาดูโค้ดและมีส่วนในการพัฒนาระบบดังกล่าว

Bitcoin Whitepaper (ภาษาไทย)

Bitcoin Source Code

Source: learnmeabitcoin