# EP 2 : ธุรกรรม (Transactions)

**URL:** <https://discuss.hashpire.io/t/ep-2-transactions/504>\
**Category:** Content Board\
**Tags:** beginner, article\
**Created:** [November 22, 2022, 6:54am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504 "2022-11-22T06:54:47Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Namtan](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/namtan/32/23_2.png) [@Namtan](https://discuss.hashpire.io/u/Namtan)\
**Post date:** [November 22, 2022, 6:54am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/1 "2022-11-22T06:54:47Z")

</div>

# Planning

* * *

## Outline-text

### ชื่อหัวข้อที่จะนำเสนอ

- EP 2 : ธุรกรรม (Transactions)

### โครงสร้างของเนื้อหา

- หัวข้อที่ 1 : เกริ่นนำ \> จาก EP : 1 [บทนำ เราได้ตอบคำถามกันไปแล้วว่า Bitcoin เกิดขึ้นมาเพื่ออะไร และจะเข้ามาแก้ปัญหาอะไรบ้าง มาใน EP : 2 เราจะมาเจาะประเด็นแรกของ Bitcoin Whitepaper นั่นก็คือ “ธุรกรรม (Transactions)” กันว่าจุดเริ่มต้นของการแก้ปัญหาที่ Bitcoin ต้องการจะสร้าง เป็นอย่างไร
- หัวข้อที่ 2 : การทำธุรกรรม (Transactions) ของ Bitcoin ใช้วิธีการยังไง
- หัวข้อที่ 3 : ปัญหาที่พบในการทำธุรกรรม (Transactions) ส่งผลให้จะต้องมีวิธีการต่อไปมาช่วยแก้ปัญหานี้ วิธีการนั้นคืออะไร ติดตามต่อได้ใน [EP 3 : เวลาที่บันทึก (Timestamp Server) - Experimental 🌐 / Content Board - Hashpire Community](https://discuss.hashpire.io/t/ep-3-timestamp-server/505)

> Q 1 : ถ้าระบบการจ่ายเงินแบบไม่มีตัวกลาง การทำธุรกรรมจะต้องทำยังไง  
> Q 2 : เราจะรู้ได้อย่างไรว่า เจ้าเหรียญของไม่ได้นำเหรียญนั้นไปใช้ซ้ำ (Double-spend)

### ประเด็นสำคัญของบทความ

- วิธีการที่ Bitcoin ใช้ทำธุรกรรม (Transactions)

### สิ่งที่ผู้อ่านจะได้รับจากบทความ

- เข้าใจวิธีการทำธุรกรรม (Transactions) ของ Bitcoin

* * *

## Outline-graphic

### รูปแบบของกราฟฟิค + โครงสร้าง

- 

* * *

คำถามที่รบกวนให้ Reviewer ช่วยตอบค่ะ

#### 1. ต้องการรู้ประเด็นไหนเพิ่มเติมไหม เพราะอะไร

#### 2. คิดว่าเรียงลำดับการนำเสนอได้ดีรึยัง ถ้าไม่ดี มีไอเดียอย่างไร

#### 3. มีประเด็นไหนควรตัดทิ้งไหม เพราะอะไร

* * *

# 📝 Content text + graphic

EP 2 : ธุรกรรม (Transactions)

> คำศัพท์ที่ควรรู้ก่อนอ่านบทความ  
> Node : ผู้ที่มีส่วนร่วมในเครือข่าย หมายถึงคอมพิวเตอร์หรืออุปกรณ์ที่เชื่อมต่อเข้ากับเครือข่าย Blockchain

จาก EP : 1 บทนำ เราได้อธิบายไปแล้วว่า Bitcoin ถูกสร้างขึ้นมาเพื่อวัตถุประสงค์อะไรและจะเข้ามาแก้ปัญหาอะไรบ้าง ใน EP นี้เราจะมาเจาะประเด็นแรกของ Bitcoin Whitepaper ซึ่งก็คือ “ธุรกรรม (Transactions)” กัน

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

 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.16.53](https://discuss.hashpire.io/uploads/default/original/2X/e/e1e76ea5d56ead12dc7b1cab2bd19bb4263676ba.jpeg)  
 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.17.06](https://discuss.hashpire.io/uploads/default/original/2X/b/b8eca1a73c033568b14108a28d6102294db21af0.png)  
 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.17.14](https://discuss.hashpire.io/uploads/default/original/2X/c/ce544b13721a587bac853de65bd96c77a491228a.png)

**ปัญหาคือผู้รับไม่สามารถตรวจสอบได้ว่าธุรกรรมที่ได้รับมีการทำซ้ำ (Double-spending) หรือไม่**  
วิธีแบบเดิมที่ใช้ในการแก้ไขปัญหานี้คือ การใช้ตัวกลางที่เชื่อถือได้ในการตรวจสอบแบบรวมศูนย์ (Trusted central authority) โดยการตรวจสอบทุกธุรกรรมว่ามีการทำซ้ำหรือไม่ ซึ่งในทุก ๆ ธุรกรรมเหรียญจะต้องกลับไปสู่ตัวกลางเพื่อสร้างเหรียญใหม่ และเฉพาะเหรียญใหม่ที่ถูกสร้างจากตัวกลางนี้เท่านั้น ที่จะเชื่อถือได้ว่ามันไม่ได้ถูกนำไปใช้ซ้ำ แต่ท้ายที่สุดแล้วปัญหาของวิธีนี้คือทุกอย่างจะขึ้นอยู่กับตัวกลางเท่านั้น

 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.17.20](https://discuss.hashpire.io/uploads/default/original/2X/2/26411b2c98f4db9366e68462c14f5f1e79137bd8.png)

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

 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.17.34](https://discuss.hashpire.io/uploads/default/original/2X/f/f9aec1e005638e41adda45a9e7a41b502a0c4264.png)

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

 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.31.32](https://discuss.hashpire.io/uploads/default/original/2X/2/2b2e03c40fae7b345c750b23823eb6cf189f845f.png)

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

 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.31.39](https://discuss.hashpire.io/uploads/default/original/2X/3/310519a930a0ad5e09a88f80c40baecd449f29dd.png)

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

 ![ภาพถ่ายหน้าจอ 2566-02-01 เวลา 11.44.53](https://discuss.hashpire.io/uploads/default/original/2X/d/d2d0a1b4ca237b6c08736f855d2e0ee556089112.png)

จากรายละเอียดที่เราได้อธิบายไว้ทั้งหมด จะเห็นได้ว่า Bitcoin ต้องการสร้างระบบที่ผู้ได้รับธุรกรรมสามารถรู้ได้ว่าธุรกรรมนั้นไม่ได้ถูกทำซ้ำ (Double-spending) โดยการตัดตัวกลางแบบรวมศูนย์ออกไปและใช้วิธีประกาศธุรกรรมทั้งหมดต่อสาธารณะ ให้ Node ส่วนใหญ่ยอมรับว่าเป็นการได้รับธุรกรรมครั้งแรก ไม่ใช่ธุรกรรมที่ถูกทำซ้ำ แต่ Bitcoin จะใช้วิธีการใดในการจัดอันดับว่าธุรกรรมใดมาก่อน-หลัง วันที่ ? เวลา ? หากอยากรู้ว่า Bitcoin ทำอย่างไร ติดตามต่อได้ใน Series : Bitcoin Whitepaper EP ต่อไป

# Reference

- [Weekly Meetup 21 July 2022 | 20.30 PM - ไทย 🇹🇭 / พูดคุยเรื่องทั่วไป 🗣 - Hashpire Community](https://discuss.hashpire.io/t/weekly-meetup-21-july-2022-20-30-pm/262)

---

<div class="post-metadata">

**Author:** ![Pantitas](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/pantitas/32/4_2.png) [@Pantitas](https://discuss.hashpire.io/u/Pantitas)\
**Post date:** [December 21, 2022, 4:27am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/3 "2022-12-21T04:27:27Z")

</div>

> [@Namtan](#):
>
> แต่ในทางกลับกันถ้าเราต้องการกำจัดตัวกลางที่มีความน่าเชื่อถือออกไป และยังต้องการตรวจสอบธุรกรรมให้ได้เหมือนกับการใช้ตัวกลางอยู่ “การทำธุรกรรมทั้งหมดจะต้องถูกประกาศแก่สาธารณะ” เพื่อให้ผู้เข้าร่วมสามารถตรวจสอบธุรกรรมจากประวัติธุรกรรมได้ทันทีที่ได้รับ โดยผู้รับต้องตรวจในขณะที่ทำธุรกรรมแต่ละครั้ง และ Node ส่วนใหญ่จะต้องเห็นด้วยว่านี่เป็นการได้รับเหรียญครั้งแรก

“The only way to confirm the absence of a transaction is to  
be aware of all transactions.”

ส่วนตัวปันว่าประโยคนี้น่าจะมีใน para นี้เพื่อช่วยให้เห็นภาพมากขึ้นว่า “ทำไมต้องประกาศ” ก็เพราะว่าการที่เราจะรู้ได้ว่ามีการทำธุรกรรมซ้ำหรือไม่คือการที่ network เข้าถึงทุกธุรกรรมที่เกิดขึ้น

อะไรประมารนี้ค่ะ

---

<div class="post-metadata">

**Author:** ![parinyar](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/parinyar/32/127_2.png) [@parinyar](https://discuss.hashpire.io/u/parinyar)\
**Post date:** [December 21, 2022, 6:54am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/4 "2022-12-21T06:54:00Z")

</div>

> [@Namtan](#):
>
> ในการทำธุรกรรม ถ้าเรากำหนดให้เหรียญเงินอิเล็กทรอนิกส์เป็นเหมือนห่วงโซ่ (Chain) ของลายเซ็นดิจิทัล (Digital Signature) [1] ซึ่งเจ้าของเหรียญแต่ละคนจะส่งเหรียญให้คนถัดไปโดยการเซ็นลายเซ็นแบบดิจิทัล (Digitally Signing) ไปในเลข Hash [2] ของธุรกรรมที่ผ่านมาและกุญแจสาธารณะ (Public Key) [3] ของคนถัดไป โดยเพิ่มสิ่งเหล่านี้ลงที่ส่วนสุดท้ายของเหรียญ ซึ่งผู้รับเงินจะสามารถตรวจสอบลายเซ็นเพื่อตรวจสอบห่วงโซ่ของความเป็นเจ้าของ (Chain of ownership) ได้

ส่วนตัวผมคิดว่า paragraph นี้เข้าใจยากไปหน่อยครับ

---

<div class="post-metadata">

**Author:** ![anakornk](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/anakornk/32/3_2.png) [@anakornk](https://discuss.hashpire.io/u/anakornk)\
**Post date:** [December 21, 2022, 7:52am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/5 "2022-12-21T07:52:04Z")

</div>

> [@Namtan](#):
>
> Hash : การเข้ารหัสเพื่อปกปิดข้อมูล

* * *

ปกติความนี้ควรเชื่อมกับ Digital Signature + Hash Function （มีลิ้งไปหา）

---

<div class="post-metadata">

**Author:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [January 4, 2023, 7:16am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/6 "2023-01-04T07:16:16Z")

</div>

@Namtan Feedback

- เนื่องจากน้องไม่อยู่พี่เลยมานั่งรีวิวและแก้ไขปรับบทความใหม่ไปเล็กน้อยนะครับ

---

<div class="post-metadata">

**Author:** ![Pantitas](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/pantitas/32/4_2.png) [@Pantitas](https://discuss.hashpire.io/u/Pantitas)\
**Post date:** [January 4, 2023, 7:41am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/7 "2023-01-04T07:41:38Z")

</div>

> [@Namtan](#):
>
> นการทำธุรกรรมบน Bitcoin เราจะใช้ห่วงโซ่ของลายเซ็นดิจิทัล (Chain of Digital Signature) ในการขยับธุรกรรมจากบุคคลหนึ่งไปสู่อีกบุคคลหนึ่ง ซึ่งเจ้าของธุรกรรมแต่ละคนจะส่งธุรกรรมให้คนถัดไปโดยการเซ็นลายเซ็นแบบดิจิทัล (Digitally Signing) ไปในส่วนสุดท้ายของธุรกรรม ซึ่งทำให้ผู้รับธุรกรรมสามารถตรวจสอบความเป็นเจ้าของห่วงโซ่ (Chain of ownership) ได้

เสนอว่ามีการอธิบายก่อนดีไหมคะว่าใน 1 transaction ของ bitcoin หมายถึงอะไร และมีอะไรอยู่ในนั้นบ้าง (ประกอบไปด้วยอะไรบ้าง) แล้วจึงอธิบายว่าทำงานอย่างไร

---

<div class="post-metadata">

**Author:** ![Pantitas](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/pantitas/32/4_2.png) [@Pantitas](https://discuss.hashpire.io/u/Pantitas)\
**Post date:** [January 4, 2023, 7:45am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/8 "2023-01-04T07:45:40Z")

</div>

> [@Namtan](#):
>
> แต่ !! ปัญหาคือผู้รับไม่สามารถรู้ได้ว่าผู้ส่งจะทำธุรกรรมซ้ำ (Double-spending) หรือไม่

ก่อนเข้าปัญหานี้ อาจจะมีการยกตัวอย่างเหตุการดีไหมคะ เพื่อเพิ่มภาพให้กับผู้อ่านว่าการทำ transaction บน bitcoin มีช่องโหว่อย่างไรจึงทำให้เกิด double spending ได้

---

<div class="post-metadata">

**Author:** ![Pantitas](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/pantitas/32/4_2.png) [@Pantitas](https://discuss.hashpire.io/u/Pantitas)\
**Post date:** [January 6, 2023, 6:57am UTC](https://discuss.hashpire.io/t/ep-2-transactions/504/9 "2023-01-06T06:57:17Z")

</div>

# Artwork Outline

@supanut @Namtan ลอง outline มาคร่าวๆ จากโครงสร้าง content ด้านบนค่ะว่าจะเล่าเรื่องอย่างไรบ้าง หากมีไอเดียในการนำเสนอแต่ละรูปเสนอกันมาได้เลยนะค่า

 ![image](https://discuss.hashpire.io/uploads/default/original/2X/1/111d6080d396ccc24ffe9caa947aff4d4170df23.png)
