Why Nostr? What is Njump?
2023-11-24 13:15:31

Konglife on Nostr: ![image]() #### Cash / Digital cash ...

image

Cash / Digital cash

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

image

Cash transactions

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

image

Digital cash transactions

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

image

Digital cash transactions (payment processors)

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

image

Centralization Problem

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

ปัญหาของการรวมศูนย์

  • Too Big To Fail ใหญ่เกินไปที่จะปล่อยให้ล้ม อย่างเช่น วิกฤตแฮมเบอร์เกอร์ ปี 2008 ที่นายแบงค์ทำเรื่องที่ผิดผลาด แทนที่พวกเขาจะถูกลงโทษ แต่ระบบที่ใหญ่เกินไปไม่สามารถปล่อยให้ล้มลงได้ ธนาคารกลางต้องออกมาแก้วิกฤตโดยการพิมพ์เงินออกมาช่วยเหลือ
  • Private gain Social lost ตอนรวยๆคนเดียว พอมีปัญหาต้องรับผิดชอบร่วมกัน ที่ผ่านมาเราคงได้ยินข่าว “นายธนาคารยังได้รับโบนัสทุกปี แต่ยังมีประชาชนอดอยากทั่วโลกหลายล้านคน”
  • Corruption เนื่องจากอำนาจมีการรวมศูนย์มากจนเกินไป จนเป็นเหตุของการคอรัปชั่น ไม่ว่าจะเป็น เรื่องการเงิน นโยบาย หรือกฎหมายต่างๆ ที่ไม่เป็นธรรม

image


image

Bitcoin Transaction : UTXO Model

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

image

Transaction Basic

ธุรกรรมของบิตคอยน์จะประกอบด้วยส่วนสำคัญคือ input และ output เราอาจเรียกว่าการทำดุลบัญชีระหว่าง input กับ output ก็ได้ครับ โดยหลักการพื้นฐานของธุรกรรมบิตคอยน์ มีดังนี้

  • ธุรกรรมบิตคอยน์ (Bitcoin transaction) ต้องประกอบด้วย input และ output สองข้างเสมอ
  • UTXO ที่นำมาใช้ใช้เป็น input สามารถใช้งานได้แค่ครั้งเดียว
  • input และ output สามารถมีได้มากกว่าหนึ่ง
  • ผลรวมของ input ต้องมากกว่าหรือเท่ากับ ผลรวมรวมของ output

image

Bitcoin User Stories

เพื่อให้ง่ายต่อการอธิบายเรื่องราวเกี่ยวกับธุรกรรมของบิตคอยน์ ผมขอยกตัวอย่างเรื่องราวการใช้งานบิตคอยน์ผ่านตัวละครสามตัวซึ่งอาศัยอยู่คนละซีกโลกกัน

image

โครงเรื่อง (storyline)

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

Bob : Bob อาศัยอยู่ที่สหรัฐอเมริกา เขาเปิดร้านขายหนังสือออนไลน์ และมีลูกค้าจำนวนมากนอกสหรัฐ เขายังรับชำระด้วยหลายสกุลเงินรวมถึง บิตคอยน์

Catalina : Catalina อาศัยอยู่ที่อาร์เจนตินา มีอาชีพเป็นนักพัฒนาซอฟต์แวร์ เขามีลูกค้าใช้บริการจากทั่วโลก และ Bob เป็นหนึ่งในลูกค้าของเธอ

image

เหตุการณ์ (event timeline)

เราจะทำความเข้าใจผ่านเหตุการณ์ตัวอย่าง 3 เหตุการณ์

  • Alice ใช้เงินสดไปซื้อบิตคอยน์จากตู้เอทีเอ็มบิตคอยน์ (Bitcoin ATM)
  • Alice ใช้บิตคอยน์ (bitcoin) ไปซื้อหนังสือจากร้านขายหนังสือออนไลน์ของ Bob
  • Bob ใช้บิตคอยน์ (bitcoin) เพื่อชำระใบแจ้งหนี้ของ Catalina สำหรับการออกแบบเว็บไซต์

Alice ซื้อบิตคอยน์จากเอทีเอ็มบิตคอยน์ (Bitcoin ATM)

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

image

ผู้คนได้รับ bitcoin อย่างไร

  • Earn : การเลือกรับเงินเป็นบิตคอยน์ (bitcoin) เช่นการให้บริการ, การขายสินค้า หรือการรับค่าแรงเป็นบิตคอยน์
  • Buy : การนำเงิน Fiat ไปแลกเปลี่ยนกับบิทคอย์ จากผู้ให้บริการเว็บไซต์แลกเปลี่ยนบิตคอยน์ (Exchange), จากตู้เอทีเอ็มบิตคอยน์ (Bitcoin ATM) หรือซื้อจากบุคคลอื่นโดยตรง
  • Trade : การนำสิ่งของที่เรามีไปแลกเปลี่ยนเป็นบิตคอยน์ เช่น ขายรถ, ขายบ้านแล้วเลือกรับเป็นบิตคอยน์ (bitcoin)
  • Mine : การขุดบิตคอยน์ก็คือ การทำงานให้กับระบบบิตคอยน์ เพื่อสร้างความแข็งแกร่งมั่นคงของระบบบิตคอยน์ (ฺBitcoin) แลกกับการได้รับบิตคอยน์ที่เกิดใหม่

image

Bitcoin ATM

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

image Alice ได้ทำการโหลดซอฟต์แวร์กระเป๋าบิตคอยน์พร้อมกับติดตั้งไว้ในโทรศัพท์มือถือ ภายในซอฟต์แวร์กระเป๋าเงินบิตคอยน์จะแสดงที่อยู่บิตคอยน์ (Bitcoin address) ของอลิซ และรหัสคิวอาร์ (QR code) ของที่อยู่บิตคอยน์ของเธอ Alice ได้ใส่เงินเข้าไปในตู้เอทีเอ็มบิตคอยน์ จำนวน 80 ยูโร ซึ่งในขณะนั้นอัตราแลกเปลี่ยนคือ 1BTC = 3,000 ยูโร จากนั้นอลิซได้แสดงคิวอาร์โค้ดที่หน้าตู้เอทีเอ็มบิตคอยน์ เพื่อรับบิตคอยน์จำนวน 0.026845 BTC

image

Bitcoin Transaction

ถ้าเรามาดูในตัวอย่างธุรกรรมเบื้องต้นตามรูป ฝั่ง input คือบิตคอยน์จากตู้เอทีเอ็มที่ยังไม่ได้ใช้งาน ส่วน output คือบิตคอยน์ที่อยู่ในกระเป๋าบิตคอยน์ของ Alice จำนวน 0.026845 BTC หรือ 2,684,500 satoshi

image

Bitcoin Unit

ในระบบของบิตคอยน์ มีหน่วยเดียวคือ หน่วยซาโตชิ (satoshi) ทุกอย่างถูกเก็บไว้ในปริมาณ satoshi ซาโตชิเป็นหน่วยสกุลเงินที่เล็กที่สุดในระบบบิตคอยน์ ซึ่ง 1 bitcoin จะเท่ากับ 100 ล้านซาโตชิ ชื่อนี้ตั้งตามนามแฝงของผู้สร้างบิตคอยน์คือ Satoshi Nakamoto ถ้าเราลองมองกลับไปที่สกุลเงินดอลล่าร์นั้น สามารถแบ่งย่อยเป็นทศนิยม 2 ตำแหน่ง ที่เราเรียกว่า เซ็นต์ ส่วนบิตคอยน์สามารถแบ่งย่อยเป็นทศนิยม 8 ตำแหน่ง แต่ซอฟต์แวร์กระเป๋าบิตคอยน์ส่วนใหญ่จะแสดงอยู่ในรูปแบบหน่วย bitcoin ทำให้หลายคนเข้าใจผิดกับสิ่งนี้


Alice ซื้อหนังสือจากร้านขายหนังสือออนไลน์ของ Bob เมื่อ Alice ได้รับบิตคอยน์จากตู้เอทีเอ็มบิตคอยน์แล้ว เธอได้ทำการสั่งซื้อหนังสือจากร้านขายหนังสือออนไลน์ของ Bob

image

หลังจาก Alice เพิ่มหนังสือลงไปในตะกร้าสินค้าของเว็บไซต์ เมื่อเธอดำเนินการไปถึงหน้าชำระเงิน ระบบเว็บไซต์ร้านขายหนังสือออนไลน์ของ Bob ได้สร้าง QR code ของคำขอชำระเงิน ในขั้นตอนนี้ Alice ได้ใช้โทรศัพท์มือถือทำการสแกนเพื่อชำระค่าหนังสือเป็นจำนวน 0.1123458 BTC (1,123,458 satoshi )

image

Bitcoin Transaction

ตามรูปตัวอย่างธุรกรรมที่ 2 ของเรื่องราวนี้ ฝั่งของ input คือ UTXO หรือผลลัพธ์ของธุรกรรมก่อนหน้าที่ยังไม่ได้ใช้ กรณีนี้ก็คือ บิตคอยน์ที่ Alice ได้รับมาจากตู้เอทีเอ็มก่อนหน้านี้ ส่วนฝั่ง output จะเป็นการสั่งจ่ายไปที่ Bob

image

Transactions and Change

ตามหลักที่ถูกต้องของธุรกรรมบิตคอยน์ UTXO ที่นำมาใช้นั้นสามารถใช้งานได้แค่ครั้งเดียว และต้องใช้ให้หมด จากรูปด้านบน UTXO ของ Alice ที่นำมาใช้นั้น ต้องจ่ายไปที่ Bob จำนวน 0.01123458 BTC และอีกส่วนจะส่งกลับมาที่ Alice เปรียบเสมือนเงินทอน เหมือนตอนที่เราใช้เงินสดในการแลกเปลี่ยน

image

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

  • blockstream.info
  • live.blockcypher.com/btc
  • blockchain.com/explorer

*สามารถดูรายละเอียด bit.ly/Alice_Tx หรือแสกน QR รูปภาพด้านบน

image

Transaction Free

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

image

Change and Fees

ถ้าหากเราไม่ได้ใส่เงินทอนไปใน output ของธุรกรรมนี้ ส่วนต่างของผลลัพท์ระหว่าง input กับ output ทั้งหมดจะถือเป็นค่าธรรมเนียมสำหรับนักขุดโดยอัตโนมัติ จากรูปด้านบนคือจำนวน 0.01561042 BTC ค่าธรรมเนียมของธุรกรรมที่จ่ายให้นักขุดนั้น อาจมองเป็นค่าสำหรับรักษาความปลอดภัยของระบบ

ทำไมต้องมีค่าธรรมเนียม ?

  • บล็อกหนึ่งบล็อกที่บรรจุธุรกรรมไว้นั้น มีขนาดจำกัดแค่ 1 เมกะไบต์ ซึ่งอะไรที่มีจำกัดย่อมมีมูลล่าในตัวเอง
  • ค่าธรรมเนียมเป็นตัวกำหนดว่า ใครให้ความสำคัญกับการทำธุรกรรมของเขาเพียงไร
  • สำหรับการรักษาความปลอดภัยนั้น ของฟรีมักจะโดนโจมตีได้ง่าย เป็นการป้องกันการสแปม และการโจมตีระบบ

เกร็ดความรู้ ค่าธรรมเนียมการทำธุรกรรมของระบบบิตคอยน์นั้น ไม่มีการกำหนดค่าที่ตายตัว (Dynamic) และยังส่งต่อเวลาที่ใช้ในการทำธุรรม

image

เมื่อเราใช้ block explorer ดูธุรกรรมของ Alice ในรายละเอียดตามรูป เราจะเห็นว่าธุรกรรมนี้รวมอยู่ในบล็อคที่ #560344 และยังสามารถดูค่าธรรมเนียมของการทำธุรกรรมทั้งหมดในบล็อกนี้

*สามารถดูรายละเอียด bit.ly/BlockBTC_560344 หรือแสกน QR รูปภาพด้านบน

รูปแบบที่แสดงให้เห็นถึงค่าธรรมเนียมนั้นเป็นแค่การคำนวณและการแสดงผลของเว็บไซต์ block explorer เท่านั้น ในหน้ารายละเอียดของบล็อกเราสามารถกดไปยังหน้ารายละเอียดของบล็อกก่อนหน้า และบล็อกถัดไป ตามรูปด้านบน


Bob ชำระใบแจ้งหนี้สำหรับการพัฒนาเว็บของ Catalina

image

ตอนนี้เรามาดูตัวเลือกของ Bob ในการชำระใบแจ้งหนี้ของ Catalina ในส่วนนี้ Bob ต้องคำนวณว่า 1,000 ARS (เปโซอาร์เจนตินา) เท่ากับเท่าไหร่เมื่อเทียบกับ USD (ดอลลาร์สหรัฐ) เนื่องจาก Bob ต้องจ่ายภาษีเป็นเงินดอลลาร์สหรัฐ ทำให้ง่ายต่อการบันทึกค่าใช้จ่าย ตามรูปคือ 10,000 ARS ณ ตอนที่ Bob ทำธุรกรรม เท่ากับ 262.03 USD

ตัวเลือกของ Bob

  • โอนเงินระหว่างประเทศผ่านธนาคาร ทำให้เขาต้องจ่ายค่าธรรมเนียม \(20 — \)30 อาจจะต้องใช้เวลาหลายวันหรือหลายสัปดาห์ และอาจจะต้องจ่ายค่าธรรมเนียมการแลกเปลี่ยนจาก USD เป็น ARS นอกจากนั้น Bob ยังต้องแจ้งข้อมูลระบุตัวตนให้กับธนาคารที่เขาใช้บริการ
  • จ่ายผ่าน Western Union ซึ่งค่าธรรมเนียมมักจะคิดเป็นเปอร์เซนต์ ตามมูลค่าของจำนวนเงินที่โอน ส่วนฝั่ง Catalina จะต้องเตรียมเอกสารระบุตัวตน และมักจ่ายค่าธรรมเนียมเพื่อรับเงินในประเทศอาร์เจนตินา เธออาจจะต้องเดินทางไปที่ผู้ให้บริการ Western Union หากเธอยังไม่มีบัญชี
  • จ่ายเป็นเช็คกระดาษ อย่าลืมว่าบัญชีของ Bob ใช้สกุลเงินดอลลาร์สหรัฐ ส่วนของ Catalina ใช้สกุลเงิน เปโซอาร์เจนตินา นอกจากนี้ Bob ยังต้องจ่ายค่าธรรมเนียมที่สูงในการส่งเช็คแบบแร่งด่วน ส่วน Catalina อาจจะต้องรอหลายสัปดาห์ในการรอให้ธนาคารเติมเงินเข้าบัญชีของเธอ
  • Bob สามารถเลือกจ่ายด้วย bitcoin ซึ่งเขาแทบทำได้โดยทันที โดยไม่ต้องยืนยันตัวตน และมีค่าธรรมเนียมที่ต่ำในการส่งหรือโอน bitcoin และที่สำคัญ Bob ได้ตัดสินใจใช้ตัวเลือกนี้

เรามาดูกันว่า Bob ที่อยู่ในประเทศอเมริกาสามารถใช้ bitcoin เพื่อชำระใบแจ้งหนี้จาก Catalina ที่พัฒนาเว็บไซต์ในประเทศอาร์เจนติน่าได้อย่างไร

image

Bob ได้ใช้บริการเว็บไซต์คำนวณอัตราการแลกเปลี่ยน เพื่อคำนวณ BTC ที่จะต้องจ่ายให้ Catalina มีมูลค่าเท่ากับ 262.03 USD ซึ่ง Bob ต้องจ่ายจำนวน 0.07811758 BTC ตามรูปด้านบน

image

การรวมธุรกรรม

อย่างที่เราทราบว่า Bob ได้รับบิตคอยน์จำนวนเล็กๆ น้อยๆ จากการขายหนังสือออนไลน์ รวมถึงที่ขายให้กับ Alice ด้วย ซอฟต์แวร์กระเป๋าเงินของ Bob จะสร้างที่อยู่ของบิตคอยน์ที่แตกต่างกันสำหรับการขายแต่ละครั้ง ทำให้ง่ายต่อการติดตามสถาณะการสั่งซื้อแต่ละรายการว่า ได้รับการชำระเงินแล้วหรือยัง แต่การใช้งานลักษณะนี้ ในการชำระเงินแต่ละคำสั่งซื้อจะเป็น UTXO ที่แยกกัน เมื่อ Bob ต้องการชำระเงินที่มากขึ้น เพื่อชำระใบแจ้งหนี้ของ Catalina กระเป๋าเงินของเขา จะรวม input หลายรายการเข้าด้วยกันเพื่อให้มี BTC เพียงพอต่อการชำระ

image

จากรูปด้านบนเป็นตัวอย่างธุรกรรมจริง เมื่อเราลองคำนวณค่าธรรมเนียมที่ Bob ต้องจ่ายให้กับนักขุดสูงถึง 6,123 satoshi มาถึงตอนนี้หลายคนอาจมองว่าทำไมค่าธรรมเนียมสูงเกินไป เนื่องจากระบบบิตคอยน์ไม่ได้คำนวณตามมูลค่าของธุรกรรม แต่จะคำนวณตามขนาดของธุรกรรม โดยจะคิดเป็นไบต์ ธุรกรรมของ Bob ที่มีจำนวน input หลายรายการทำให้มีขนาดถึง 1,116 ไบต์

*สามารถดูรายละเอียด bit.ly/Bob_Tx หรือแสกน QR รูปภาพด้านบน


image

โครงสร้างหลักของธุรกรรมบิตคอยน์ จะต้องประกอบด้วย input และ output โดยธุรกรรมเหล่านี้จะถูกนำไปวางซ้อนกัน จากนั้นก็เอารายละเอียดธุรกรรมทั้งหมดมาครอบทับด้วย block header

รายละเอียดที่สำคัญใน block header

  • Merkel root ในส่วนนี้คือการนำ Transaction ทั้งหมดมาหาค่า hash ที่เปรียบเสมือนลายนิ้งมือของธุรกรรมทั้งหมดใน block นั้นๆ
  • Previous block hash คือ การนำค่า hash ของบล็อกก่อนหน้า มาใส่ไว้เป็นส่วงหนึ่งของ header

image

Merkel root

รูปด้านบนแสดงให้เห็นถึงการได้มาของค่า Merkle root คือการนำ Transaction มาจับคู่กัน เพื่อลดขนาดของธุรกรรม และสร้างการห่วงโซ่ของแฮช รวมถึงเป็นการสรุปคำสั่งการทำธุรกรรมในบล็อกเชน เหมือนกับรูปด้านบนเราสมุติว่าในบล็อกๆ นี้มีแค่ 4 Transaction ก็คือการนำ Txn 1 จับคู่กับ Txn 2 หาค่าแฮช จะได้เป็น Txn(1+2) และ Txn(3+4) ตามลำดับ จากนั้นนำ Txn(1+2) จับคู่กับ Txn(3+4) ค่าแฮชที่ได้นี้ ค่าแฮชที่ได้นี้คือ Merkle root ของบล็อกนั้นๆ

image

หัวข้อที่ผ่านมารายการธุรกรรมทั้งหมดจะถูกแฮชเพื่อสร้าง Merkle จากนั้นข้อมูลของทั้งบล็อกจะถูกแฮชอีกครั้งเพื่อสร้าง Block hash รูปด้านบนแสดงการเชื่อมโยงของบล็อกบนบล็อกเชนด้วยค่าแฮช คือการนำ Block hash ของบล็อกนั้นๆ ไปใส่ไว้ที่ส่วนหัวของบล็อกถัดไป


image

ในระบบบิตคอยน์ มีธุรกรรมพิเศษอยู่ชนิดหนึ่งเรียกว่า Coinbase Transaction คือธุรกรรมแรกของบล็อก ที่นักขุดบิตคอยน์สร้างขึ้นเพื่อรับรางวัลจากการขุด(block reward) และค่าธรรมเนียมของธุรกรรมทั้งหมดในบล็อกในช่วงแรกของระบบ bitcoin รางวัลจากการขุด(block reward) คือ 50 bitcoin ต่อบล็อก รางวัลจากการขุดนี้จะลดลงครึ่งหนึ่งหลังจากทุกๆ 210,000 บล็อก หรือประมาณทุกๆ 4 ปี ปัจจุบันรางวัลสำหรับการสร้างบล็อคสำเร็จนั้น อยู่ที่ 6.25 bitcoin และประมาณปี 2024 จะลดเหลือ 3.125 bitcoin

*สามารถดูรายละเอียด bit.ly/CoinbaseTX หรือแสกน QR รูปภาพด้านบน

image

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

ในส่วนเนื้อหาบทความนี้ ผิดผลาดตรงส่วนไหน สามารถแนะนำติชมมาได้เลยครับ ขอบคุณมากครับ 🙏🙏🙏

เนื้อหาและข้อมูลบางส่วนในบทความนี้มาจากคอร์ส Bitcoin Basics Workshop ของ Andreas M. Antonopoulos, คอร์ส อนุบาลบิตคอยน์ ของพี่วิชิต ซ้ายกล้า ผู้ที่เป็นแรงบันดาลใจให้ผมได้เขียนเป็นความนี้ขึ้นมา

Author Public Key
npub1ulpfe50mg8k8q5h4hzqpvghe8j22ggzq558l4fwka4xkw8mm3n8q2x6rwe