# EP 3 : การบันทึกเวลา (Timestamp Server)

**URL:** <https://discuss.hashpire.io/t/ep-3-timestamp-server/505>\
**Category:** Content Board\
**Tags:** beginner, article\
**Created:** [November 22, 2022, 6:56am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505 "2022-11-22T06:56:12Z")\
**Posts on this page:** 9\
**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:56am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/1 "2022-11-22T06:56:12Z")

</div>

# Planning

* * *

## Outline-text

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

- EP 3 : การบันทึกเวลา (Timestamp Server)

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

- หัวข้อที่ 1 : เกริ่นนำ : จาก EP 2 : ธุรกรรม (Transactions) เมื่อเริ่มทำธุรกรรมแบบไม่มีตัวกลาง จนเกิดปัญหาที่เรียกว่า Double-spending ผู้สร้าง Bitcoin ได้หาวิธีการในการปัญหาดังกล่าวแล้ว แต่มันก็ยังไม่สามารถแก้ปัญหาทั้งหมด ใน EP 3 นี้เราจะมาดูกันต่อว่า Bitcoin Whitepaper มีวิธีการอะไรที่เพิ่มขึ้นมาเพื่อแก้ปัญหา Double-spend
- หัวข้อที่ 2 : การบันทึกเวลา (Timestamp Server) ถูกนำมาใช้ยังไง ในการแก้ปัญหา Double-spend (ขึ้นชื่อว่าเวลาแต่ไม่ใช่เวลา ไม่เกี่ยวข้องกับเวลา)
- หัวข้อที่ 3 : แต่การบันทึกเวลา (Timestamp Server) มันยังไม่จบแค่นั้น เพราะว่ามันต้องใช้ระบบ Proof-of-Work เข้ามาช่วย ช่วยยังไง ? ติดตามต่อใน [EP 4 : Proof-of-Work - Experimental 🌐 / Content Board - Hashpire Community](https://discuss.hashpire.io/t/ep-4-proof-of-work/506)

> Q 1 : จาก EP 2 ธุรกรรม (Transactions) ไม่สามารถยืนยันได้ 100 % ว่าจะไม่เกิดการ Double spending เพราะเรารู้แค่ว่าเราเป็นผู้รับเงินแล้วแน่ ๆ ไม่ได้ยืนยันว่าธุรกรรมของเราจะไม่ถูกปฏิเสธด้วยการทำ Double spending เราจะแก้ไขได้ยังไง  
> Q 2 : ถ้าใช้ timestamp ในการแก้ปัญหา เรื่อง Transactions ว่าอันไหนเกิดขึ้นก่อนหรือเกิดขึ้นที่หลัง แล้วมีเวลาบันทึกไว้ แบบนี้ time zone ของแต่ละประเทศที่ไม่ตรงกันจะมีผลไหม ?

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

- การบันทึกเวลา (Timestamp Server)

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

- เข้าใจการบันทึกเวลา (Timestamp Server) ของ Bitcoin

* * *

## Outline-graphic

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

- 

* * *

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

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

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

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

* * *

# 📝 Content text + graphic

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

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

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

**การบันทึกเวลา (Timestamp Server) คืออะไร**

จากชื่อหัวข้อที่เป็น การบันทึกเวลา (Timestamp Server) ทำให้หลายคนเข้าใจว่า Bitcoin นำเอาเวลาเข้ามาใช้ในการจัดอันดับธุรกรรมและอาจเกิดข้อสงสัยว่าจะมีปัญหาหรือไม่ เนื่องจากเวลาของแต่ละประเทศไม่เท่ากัน ซึ่งในความเป็นจริงแล้วการทำ Timestamp Server ในที่นี้ไม่ได้มีการนำเวลาจริงเข้ามาเกี่ยวข้อง

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

แต่เป็นการนำ Hash ของ Block ก่อนหน้ามารวมกับข้อมูลของ Block ปัจจุบัน จึงจะได้ผลรวมออกมาเป็น Hash ปัจจุบันและเผยแพร่ค่า Hash ออกไปให้ทุกคนในเครือข่ายได้รับทราบ โดยจะทำแบบนี้ต่อไปเรื่อย ๆ เป็น Chain

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

การทำ Timestamp Server สามารถช่วยจัดอันดับธุรกรรม ทำให้แต่ละ Node มีอันดับธุรกรรมที่จัดเรียงแบบเดียวกันและทราบว่าธุรกรรมใดมาก่อนหรือหลังได้ เนื่องจาก Hash ของ Block ปัจจุบันเกิดจากองค์ประกอบ 2 ส่วน คือ Hash ของ Block ก่อนหน้ากับข้อมูลของ Block ปัจจุบัน ดังนั้นเมื่อ “Hash ของ Block ก่อน” เป็นเป็นองค์ในการสร้าง Hash ของ Block ถัดไป เราจึงสามารถทราบลำดับของ Block ได้จาก Hash นั่นเอง

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

ปัญหาเก่าพึ่งแก้ไป ปัญหาใหม่มีมาต่อ!!! เนื่องจากในการใช้งานจริงมีการส่ง Block ไปมาจำนวนมาก ซึ่งทำให้แต่ละ Node อาจมี Timestamp Server ที่แตกต่างกันไป แล้วเราจะทราบได้อย่างไรว่า Timestamp Server ชุดใดถูกต้อง 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:** ![supanut](https://discuss.hashpire.io/user_avatar/discuss.hashpire.io/supanut/32/22_2.png) [@supanut](https://discuss.hashpire.io/u/supanut)\
**Post date:** [December 8, 2022, 8:49am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/2 "2022-12-08T08:49:56Z")

</div>

> [@Namtan](#):
>
> เวลาที่บันทึก (Timestamp Server)

- อันนี้แปลถูกใช่ไหมครับ ไม่มั่นใจว่าชื่อไทยควรใช้ยังไง แต่อยากให้อิงกับ PDF ที่แปลไทยตัว Bitcoin white paper ครับ ฝากลองเช็คอีกทีครับ

> [@Namtan](#):
>
> ตัว Bitcoin Whitepaper

- ใช้คำแทนว่า “ผู้สร้าง Bitcoin” \*\*\*ฝากแก้จุดอื่นๆ ด้วย

---

<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:** [December 12, 2022, 5:51am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/3 "2022-12-12T05:51:42Z")

</div>

เขาใช้คำนี้ค่ะ เลยใช้ตามไม่แน่ใจว่าควรปรับยังไงมั้ย

 ![image](https://discuss.hashpire.io/uploads/default/original/2X/2/20aa21fe5eabf739241f9d7895d9d22eb93d6c5e.png)

---

<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:37am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/4 "2022-12-21T04:37:13Z")

</div>

> [@Namtan](#):
>
> แต่การทำ เวลาที่บันทึก (Timestamp Server) มันยังไม่จบแค่นั้น เพราะว่ามันต้องใช้ระบบ Proof-of-Work เข้ามาช่วย ช่วยยังไง ? ติดตามต่อใน

สำหรับหัวข้อนี้คิดว่าน่าจะเข้าใจตรงกับพี่น้ำตาลคือเจาะ 2 ประเด็นถูกต้องไหมคะ

1. ทำไมการใช้ timestamp server ถึงยังไม่พอ – เกิดปัญหา / ช่องโหว่อ่ะไร ถึงต้องคิดค้น concept : Proof-of-work เข้ามา
2. ช่วยแก้ไขปัญหาอย่างไร

---

<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, 7:09am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/5 "2022-12-21T07:09:18Z")

</div>

ควรเพิ่มเนื้อหา timestamp timezone ดีไหมครับ

---

<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 10, 2023, 5:50am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/6 "2023-01-10T05:50:26Z")

</div>

@Namtan พี่มีแก้รูปประโยคไป น้องลองอ่านอีกที พี่พิมพ์ตกไหม ถ้าโอเคแล้วถือว่าโอละครับ ฝาก @Pantitas@parinyar@anakornk รีวิวอีกทีครับ

---

<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 11, 2023, 9:16am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/7 "2023-01-11T09:16:59Z")

</div>

> [@Namtan](#):
>
> แต่เป็นการนำเลข Hash ของ Block ก่อนหน้ามารวมกับ Hash ของ Block ปัจจุบัน จึงจะได้ผลรวมออกมาเป็น Hash ของ Block ล่าสุด และเผยแพร่ค่า Hash ออกไปให้ทุกคนในเครือข่ายได้รับทราบ (คล้ายกับการโพสต์ข้อมูลลงกลุ่มในเฟซบุ๊ก) โดยจะทำแบบนี้ต่อไปเรื่อย ๆ เป็น Chain

Review !!!

---

<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:** [January 25, 2023, 8:15am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/8 "2023-01-25T08:15:41Z")

</div>

> [@Namtan](#):
>
> ![ภาพถ่ายหน้าจอ 2565-12-26 เวลา 12.52.45](https://discuss.hashpire.io/uploads/default/original/2X/0/07a472d181ad9e56263d92b5b1c09126bcdf163b.png)

 ![image](https://discuss.hashpire.io/uploads/default/original/2X/b/b236c8ae44385f9684042c7365ab247c8938439d.jpeg)

---

<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 28, 2023, 8:25am UTC](https://discuss.hashpire.io/t/ep-3-timestamp-server/505/9 "2023-01-28T08:25:46Z")

</div>

@Namtan

1. ว่านี้ !!! ไม่เอาประโยคติดปากนะครับ ลองอ่านแล้วรีวิวใหม่ 55555

> [@Namtan](#):
>
> ในเครือข่ายเป็นผู้ตัดสินว่านี้เป็นการได้รับธุรกรรมครั้งแรกจริง

1. พี่ว่ามันดีแล้วแหละ แต่ไม่ใช่ทุกคนจะเข้าใจว่าแล้วอะไรที่มันทำให้มันจัดอันดับธุรกรรมว่าอะไรมาก่อนมาหลังได้ ตอนต้นเราบอกแค่ว่า Hash ของ block ปัจจุบันเกิดจากวัตถุดิบ 2 ส่วนคือ hash ของ block ก่อนหน้ากับข้อมูลของ block ปัจจุบัน ดังนั้นเมื่อ “hash ของ block ก่อน” มันเป็นวัตถุดิบในการสร้าง hash ของ block ถัดไป เราจึงสามารถรู้ลำดับของ block ได้จาก hash นั่นเอง ลองไปปรับให้อธิบายเข้าใจง่ายๆ ดูนะครับ

> [@Namtan](#):
>
> การทำ Timestamp Server สามารถช่วยจัดอันดับธุรกรรม ทำให้แต่ละ Node มีอันดับธุรกรรมที่จัดเรียงแบบเดียวกันและทราบว่าธุรกรรมใดมาก่อนหรือหลัง ซึ่งทำให้สามารถแก้ปัญหาการทำธุรกรรมซ้ำ (Double-spending) ได้

ปรับอีกนิดครับ อันนี้เป็นบทความที่ดีมาก อ่านแล้วเข้าใจง่ายมาก ง่ายมากขึ้นกว่าตอนแรกที่เขียนเยอะ อยากให้นำไปปรับกับบทความหลังๆ ที่เขียนมาเพราะพี่อ่านแล้วแอบงงเยอะมาก 5555
