ระบบเง ิน สดอิเ ล ... - bitcoin · t r ansl ati on i n t hai by p e e r...

12
Bitcoin: A Peer-to-Peer Electronic Cash System บิทคอยน : ระบบเงินสดอิเล็คทรอนิคส แบบ Peer-to-Peer Satoshi Nakamoto [email protected] www.bitcoin.org Translation in Thai by Peeraphat Hankongkaew [email protected] www.blockchain-review.co.th Abstract. เงินสดอิเล็คทรอนิคส์ที เป็นแบบ peer-to-peer ที แท จริงนั นจะสามารถท าให การจ ายเงินออนไลน จากคนหนึ งไปอีกคนเกิดขึ นได โดยไม าเป็นต องมีสถาบันทางการ เงิน เช่น ธนาคาร มาเป็นตัวกลางในการจัดการ Digital Signature เป็นส่วนหนึ งที จะ าให การจ ายเงินออนไลน รูปแบบนี เกิดขึ นได แต มันคงเป็นไปไม ได าสุดท ายระบบยัง องการความน าเชื อถือจากตัวกลางต างๆ เพื อตรวจสอบและป้องกันข อผิดพลาดอย าง Double spending (การใช้เงินซ ) เราขอน าเสนอวิธีการแก ไขปัญหา Double spending โดยใช้เครือข ายแบบ peer-to-peer ซึ งสามารถท าได โดยเครือข ายนี จะท าการบันทึกเวลา ในทุกๆธุรกรรมการโอนเงินที เกิดขึ นว าเกิดขึ นที เวลาใด รวมถึงท าการ hash ธุรกรรมนี ธุรกรรมที โดนเข ารหัสแล วเข าไปต อกับห วงโซ่ของธุรกรรมอื นๆเป็นทอดๆ การจะบันทึก ธุรกรรมเหล านี ได จะต องผ านการ Proof-of-work เท านั นห วงโซ่ที ที ยาวที สุดไม ใช่การ แค พิสูจน ามีคนตรวจสอบกระบวนการแล วเท านั แต ยังบอกถึงว าห วงโซ่นั นถูกสร าง จากพลังงานที มากที สุดที มากจากการประมวลผลของ CPU อีกด วย แต มันเป็นประกอบไป วยบันทึกของธุรกรรมที ยาวที สุดคือผลงานที มาจากกระบวนการ Proof-of-work ของ Node (คอมพิวเตอร ในเครือข าย) หลาย Node ที รวมตัวกันและใช้ CPU ในแก โจทย เพื ยืนยันความถูกต องของธุรกรรมที เกิดขึ น ตราบใดที าลั ง CPU ของ Node ส่วนใหญ ไม ได ถูกน ามาใช้โจมตีระบบ ห วงโซ่นี ก็จะยาวไปเรื อยๆ และจะท าให ผู ที คิดจะโจมตีระบบไม สามารถสร างห วงโซ่ตามทัน ระบบของเครือข ายนี ไม าเป็นที จะต องมีโครงสร างการท างาน ที ซับซ้อน วิธีการสื อสารภายในเครือข ายจะเป็นแบบ best effort (ส่งข อมูลแบบไม สนใจ าจะถึงผู รั บ) แต ละ Node สามารถออกจากเครือข าย และกลับเข ามาเมื อไรก็ได เพราะว วงโซ่ที ยาวที สุดจะคอยบอกเสมอว าเกิดอะไรขึ นบ างในช่วงที Node เหล านั นหายไป 1

Upload: others

Post on 29-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

Bitcoin: A Peer-to-Peer Electronic Cash System

บทคอยน:ระบบเงนสดอเลคทรอนคสแบบ Peer-to-Peer

Satoshi Nakamoto [email protected]

www.bitcoin.org

Translation in Thai by Peeraphat Hankongkaew [email protected] www.blockchain-review.co.th

Abstract. เงนสดอเลคทรอนคสทเปนแบบ peer-to-peer ทแทจรงนนจะสามารถทาให การจายเงนออนไลนจากคนหนงไปอกคนเกดขนไดโดยไมจาเปนตองมสถาบนทางการเงน เชน ธนาคาร มาเปนตวกลางในการจดการ Digital Signature เปนสวนหนงทจะ ทาใหการจายเงนออนไลนรปแบบนเกดขนได แตมนคงเปนไปไมไดถาสดทายระบบยง ตองการความนาเชอถอจากตวกลางตางๆ เพอตรวจสอบและปองกนขอผดพลาดอยาง Double spending (การใชเงนซา) เราขอนาเสนอวธการแกไขปญหา Double spending โดยใชเครอขายแบบ peer-to-peer ซงสามารถทาไดโดยเครอขายนจะทาการบนทกเวลา ในทกๆธรกรรมการโอนเงนทเกดขนวาเกดขนทเวลาใด รวมถงทาการ hash ธรกรรมน ธรกรรมทโดนเขารหสแลวเขาไปตอกบหวงโซของธรกรรมอนๆเปนทอดๆ การจะบนทก ธรกรรมเหลานไดจะตองผานการ Proof-of-work เทานน หวงโซททยาวทสดไมใชการ แคพสจนวามคนตรวจสอบกระบวนการแลวเทานน แตยงบอกถงวาหวงโซนนถกสราง จากพลงงานทมากทสดทมากจากการประมวลผลของ CPU อกดวย แตมนเปนประกอบไป ดวยบนทกของธรกรรมทยาวทสดคอผลงานทมาจากกระบวนการ Proof-of-work ของ Node (คอมพวเตอรในเครอขาย) หลาย Node ทรวมตวกนและใช CPU ในแกโจทยเพอ ยนยนความถกตองของธรกรรมทเกดขน ตราบใดทกาลง CPU ของ Node สวนใหญไม ไดถกนามาใชโจมตระบบ หวงโซนกจะยาวไปเรอยๆ และจะทาใหผทคดจะโจมตระบบไม สามารถสรางหวงโซตามทน ระบบของเครอขายนไมจาเปนทจะตองมโครงสรางการทางาน ทซบซอน วธการสอสารภายในเครอขายจะเปนแบบ best effort (สงขอมลแบบไมสนใจ วาจะถงผรบ) แตละ Node สามารถออกจากเครอขาย และกลบเขามาเมอไรกได เพราะวา หวงโซทยาวทสดจะคอยบอกเสมอวาเกดอะไรขนบางในชวงท Node เหลานนหายไป

1

Page 2: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

1. บทนา

โดยทวการคาขายแลกเปลยนในอนเตอรเนตจาเปนจะตองพงพาสถาบนทางการเงนเปนเสมอนบคคลทสามทมเครดต หรอมความนาเชอถอ ในการยนยนความถกตองของธรกรรมออนไลนนนๆ แมวาระบบ ตวกลางนจะทางานไดดสาหรบธรกรรมทเกดขนสวนใหญ แตมนกยงมจดออนวาระบบนยงตองการ trust (เครดต หรอความเชอถอในเชงของการเงน) เขามาเกยวของ การใชจายผานตวกลางเหลาน ม โอกาสทธรกรรมอาจเกดความผดพลาด หรอถกยกเลกได เนองจากสถาบนการเงนทเปนตวกลางอาจจะ พบเจอกบปญหาความขดแยงระหวางตวกลางกนเอง (เชน การจายเงนไมถกอนมต เชคเดง หรอ บตร เครดตหมดอาย) การมตวกลางนนทาใหเกดคาใชจายและตนทนในการทาธรกรรมทเพมขน และคาใช จายนทาใหผใชงานไมสามารถทาธรกรรมในขนาดเลกๆได (เนองจากตนทนในการทาธรกรรมแพงกวา จานวนเงนในการทาธรกรรม) และมนยงมตนทนทเราอาจจะตองเสยไป จากโอกาสทการจายเงนของเรา จะไมสาเรจ ทาใหเปนการยากทเราจะใชจายเงนใหกบบรการการจายเงนออนไลนเพอแลกกบบรการการ จายเงนทมโอกาสทธรกรรมอาจจะผดพลาดรวมถง ไมสามารถยอนกลบคนได (ถาเราใชบรการอยางหนง และจายดวยเชค แลวเชคนนเดง แตเราไดรบบรการมาแลว อาจจะทาใหเราตองสญเสยเงน เวลา และ เครดต) เมอการทาธรกรรมของเรามสทธทจะไมสาเรจ ไมถกยนยน หรอไมถกอนมตโดยตวกลางท ดาเนนธรกรรมนน ความนาเชอถอของตวกลางจงเปนเรองทสาคญมากขนไปอก แมแตผคาขายเองกตอง พบเจอปญหามากขน เมอลกคาสอบถามหาขอมลตางๆทมากเกนความจาเปนเพอเปนสงทยนยนความนา เชอถอ (เชน การขอขอมลสวนตวของผคาขาย ซงเปนสงทสามารถนาไปตอยอดเพอกออาชญากรรมได) เนองจากผซอมองวาการโกงนนอาจเกดขนได ซงตนทนทอาจจะเพมขนจากการทระบบจายเงนออนไลน อาจจะผดพลาดนนสามารถถกแกไขไดโดยการใชเงนสดของสกลเงนจรงทจบตองไดแทน แตการใชเงน จรง หรอวธไหนกไมสามารถกาจดตวกลางไดในการจายเงนได (ตวกลางสาหรบเงนจรง คอ รฐบาลท กาหนดมลคาเงน) และเมอยงกาจดตวกลางไมได เรากจะตองเสยเงนคาทาธรกรรมอยางไมจาเปน อสระ ในการทาธรกรรม และการจบจายเงนออนไลนจงถกจากด

สงทเราตองการคอระบบการจายเงนแบบอเลกทรอนกสทตงอยบน cryptographic แทนทใช ความนาเชอถอตวกลางทางการเงน ซงมนจะทาใหทาใหบคคลสองคนทาธรกรรมตอกนไดโดยไมตองม ตวกลางมาจดการ ธรกรรมทถกยนยนแลวจะไมสามารถถกยอนคนหรอถกยกเลกได ซงจะชวยปกปองผ ขายจากการหลอกลวงในรปแบบตางๆ และระบบการใชงานสญญาขายแบบอตโนมตแบบไมมคนกลาง (escrow) นนกจะถกพฒนาขนอยางงายดายเพอปกปองผซอ ในเอกสารน เราไดนาเสนอวธการปองกน การใชเงนซา (Double spending) โดยการตงตวอยในระบบ peer-to-peer ทจะลงบนทกเวลาการเกด ของธรกรรมนน และจะสรางโจทยทตองใชกาลง CPU ในการแกปญหาเพอยนยนการเกดขนจรงและ เกดขนในลาดบเวลาทถกตอง ไมไดถกแกไข หรอถกนามาแทรกแซงจากผตองการโจมตระบบ ระบบจะ ปลอดภย ถา Node สวนใหญยงใชกาลงของ CPU เพอใชเพอยนยนการทาธรกรรม ไมใชถกใชเพอหน มาโจมตระบบเอง

2. ธรกรรม (Transactions)

2

Page 3: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

ถาเราจะกาหนดใหเหรยญเงนอเลคทรอนคสนนเปนเหมอนหวงโซของลายเซนดจทล (digital signature) โดยเจาของเหรยญแตละคนจะสงเหรยญไปใหคนถดไปโดยการลงนามแบบดจทล (digitally sigining) ไปในเลข hash ของธรกรรมทผานมาและกญแจสาธารณะ (public key) ของคนถดไปโดนเพมสงเหลานลงทสวนสดทายของเหรยญ ซงผรบเงนจะสามารถตรวจสอบลายเซนเพอตรวจสอบหวงโซของความเปนเจาของ (chain of ownership)

ปญหาคอผรบเงนไมสามารถตรวจสอบไดวา เจาเหรยญของไมไดนาเหรยญนนไปใชซา (double-spend) ซงวธททวไปในการแกปญหานคอการใช ตวกลางในการตรวจสอบทเชอถอไดแบบรวมศนย (trusted central authority) หรอ Mint (ตวกลาง) ในการตรวจสอบทก ๆ ธรกรรมวามการใชซา (double-spend) หรอไม ซงในทกๆธรกรรมเหรยญนนจะตองกลบไปสตวกลางในการทจะสรางเหรยญใหม และเฉพาะเหรยญทถกสรางจากตวกลางเทานนทเราจะเชอไดวามนไมไดถกนาไปใชซา (Double-spend) ซงปญหาของวธนคอทกอยางของระบบการเงนจะขนอยกบองคกรตวกลางททางานอย ซงทก ๆ ธรกรรมจะตองผานตวกลางนเหมอนกบระบบธนาคาร ซงเราตองการระบบทผรบเงนสามารถรไดวาไมไดนาเงนไปใชกอนหนาน ดวยเหตผลน เราจะนบธรกรรมแรกสดเปนธรกรรมแรก ซงเราจะไมสนใจวาธรกรรมนจะถกใชซาหรอไม ซงวธเดยวทเราจะยนยนไดวาไมมธรกรรมทหายไปคอการตรวจสอบธรกรรมทงหมด โดยในระบบทใชรปแบบตวกลาง ตวกลางจะคอยดการทาธรกรรมทงหมดและตดสนใจวาอนไหนมากอน ในทางกลบกนการจะทาใหมนสาเรจไดโดยไมตองใชตวกลางทมความเชอถอ การทาธรกรรมทงหมดจะตองถกประกาศแกสารธารณะ [1] และเราจงตองการระบบทเพอใหผเขารวมสามารถตรวจสอบธรกรรมจากประวตธรกรรมไดทนททไดรบ โดยผรบตองตรวจในขณะททาธรกรรมแตละครง โดยโหนดสวนใหญจะตองเหนดวยวานเปนการไดรบเหรยญครงแรก+ 3. เวลาทบนทก (Timestamp Server)

3

Page 4: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

ในการแกปญหานเราจะใชประโยชนจากจาก timestamp server (เวลาทถกบนทก) โดย timestamp server ทบนทกจะเอามาจากเลข Hash ของ block รายการทถกบนทกเวลาไวและจะกระจายเลขนออกไป เหมอนกบระบบของ newspaper หรอ Usenet post (คลายกบระบบโพสขอความททกคนจะเหนขอมล) [2-5] โดย timestamp จะแสดงใหเหนวาขอมลนนมเวลาบนทกไว ซงในการทจะไดเลข Hash น timestamp แตละอนจะตองม timestamp อนกอนหนาเกบไวในรปแบบเลข hash ของสายโซ ซง timestamp แตละอนจะม timestamp กอนหนานเกบไว 4. Proof-of-Work ในการสรางระบบ distributed (ระบบกระจาย) timestamp server ทเปนแบบ peer to peer เราตองใชระบบ Proof of-work ซงคลายกบ Adam Back's Hashcash [6] (ระบบ Proof of work ทใชในอเมลเพอปองกน Ddos) แทนทจะใชรปแบบ newspaper หรอ Usenet posts โดย Proof of work จะถกนามาใชในสวนของการตรวจสอบคาทถก Hash เชนอลกอรทม SHA-256 ทคา Hash จะเรมตนดวยเลข 0 โดย work หรอกาลงประมวลผลทใชจะเพมขนแบบ Exponential ในทกๆเลข 0 ในการดาเนนการตรวจสอบ

ซงสาหรบเครอขาย timestamp เราจะสราง Proof of work โดยเพมจานวน Nonce ใน block จนกวาจะเจอคาททาให Block hash กลายเปนเลข 0 ซงกาลงประมวลผลท CPU ใชกจะมากขนจนกวาจะเพยงพอกบ Proof of work โดย Block จะไมสามารถเปลยนแปลงไดโดยปราศจากการประมวลผลซา เมอ Block จะถกเชอมกบสายโซหลงจากประมวลผลแลว กาลงประมวลผลทใชในการเปลยนแปลง Block นนจะถกเพมรวมไปกบการประมวลผล Block หลงจากนน ระบบ Proof of work นนยงชวยแกปญหาในเรองการหาเสยงสวนใหญทจะเปนสงทตดสนใจในระบบดวย ถาการคดเลอกเสยงสวนใหญนนเปนระบบ 1 ip 1 vote มนอาจจะมโอกาสทใครซกคนจะสราง ip จานวนมากขนมาเพอควบคมระบบ แตระบบ Proof of work นนเปนระบบ 1 CPU 1 vote เสยงสวนใหญในระบบนนจะอางองกบหางโซทยาวทสด ทถกสรางจากการประมวลผลของ Proof of work ทมากทสดเชนกน ถากาลงขดของ CPU ยงถกควบคมโดย Node ทซอสตย หวงโซทถกตองกเปนหวงโซทสามารถสรางสายโซทยาวทสดเมอเทยบกบคนอนๆทพยายามสรางสายโซ

4

Page 5: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

ในการทจะแกไข Block ทผานไปแลว attacker จะตองทาการประมวลผล Proof of work ใน Block นนใหมและตองสราง Block ใหเรวและจนมหวงโซทยาวกวาหวงโซท Node ทซอสตยสรางขนซงเราจะอธบายในภายหลงถงความเปนไปไดท Attacker จะสราง Block ไดทนนนจะนอยลง Exponential ในทกๆ Block ทเพมขนมาใน Chain และดวยการทความเรวในการประมวลผล Proof of work ในแตละ Hardware นนจะแตกตางกนไปและในระยะยาวกาลงประมวลผลจะเพมขนเรอยๆ คาความยากในการทา Proof of work จะถกกาหนดโดนดจากคาเฉลยของจานวน Block ทถกสรางขนในแตละชวโมง ถามนถกสรางเรวเกนไป คาความยากกจะเพมขน 5. Network ระบบ Network ของ Bitcoin จะทาตามขนตอนดงน

1. เมอธรกรรมเกดขนมนจะถกกระจายไปยงทกๆ โหนด 2. แตละ Node จะนาธรกรรมใหมๆ เหลานลงไปเกบใน Block 3. แตละโหนดจะประมวลผลดวย Proof of work เพอหาคาตอบของคาใน Difficult ใน Block 4. เมอ Node สามารถหาคาตอบดวย Proof of work แลว Node จะกระจาย Block ของตวเองไปยทก

Node 5. Node ทเหลอจะยอบรบใน Block ทสงมาถาทกธรกรรมใน Block นนถกตรวจสอบแลววามนไมเคย

ถกใชมากอน (Double spending) 6. Node ทยอมรบ Block ทสงมาจะสราง Block นนๆลงบนหวงโซของตวเอง โดยใชเลย Hash ของ

Block ทสงมาใชเปนเลข previous hash (ทจะถกใชในการสราง Block ถดไป) Node ในระบบนนจะเชอวาสายโซทยาวทสดจะเปนสายโซทถกตองเสมอและจะสราง Block ถดไปๆจาก สายโซนนๆ ถาม Node 2 แหงทสามารถสราง Block ไดพรอมๆกนและกระจาย Block ไปยง Node อนๆ ซงอาจจะม Node บางแหงทจะไดรบขอมลจากจาก Block แหงใดแหงนงกอน ซงซงในกรณนอาจจะทาให Node แตละ Node อาจจะมขอมลทไมเหมอนกน ซงความแตกตางของขอมลของแตละ Node นจะหายไปเมอ Node ใด Node หนงสามารถสายโซไดยาวกวา Node ทมขอมลอกชดหนง และ Node สวนใหญกจะทางานตาม Node ทมสายโซทยาวทสด เวลาทมธรกรรมใหมเกดขนและกระจายไปในระบบนน ธรกรรมเหลานนไมจาเปนตองกระจายไปถง Node ทก Node ตราบใดทมนยงถกสงไปยง Node สวนใหญ ถาม Block ใดท Node ไดรบแลวมการสงมาซา Node กจะปฎเสธ Block นนๆ แตถามกรณท Node ไมไดรบ Block ทสงมา Node นนจะขอ Block ทเขาไมไดรบมาจาก Node อนๆในตอนทพวกเขาไดรบ Block ถดไป เพราะ Node เมอ Node รบ Block ใหมมา Node นนจะรวาม block ทหายไป 6. Incentive (แรงจงใจ, รางวล) โดยปกตแลวธรกรรมแรกใน Block จะเปนธรกรรมพเศษทจะมอบเหรยญทถกสรางขนใหมใหแกผทสามารถสราง Block ได การมอบเหรยญทสรางขนใหมนเปนการสรางแรงจงใจให Node ทงหลายยงคงสนบสนนระบบตอไป และยงเปนวธทจะแจกจายเหรยญไปในระบบอกดวย เนองจากในระบบนไมมตวกลางทจะผลตเหรยญเพมขน การเพมขนของเหรยญทถกสรางขนใหมนจะคลายคลงกบการขดทองทนกขดจะตองมตนทนในการการเพมทองใหมๆ ทไมเคยเจอมากอนเขาไปในระบบ ซงในกรณนคอเวลาของ CPU และพลงงานไฟฟาทจะตองใชเปนตนทน ซงรางวลนยงรวมถงคาธรรมเนยมของธรกรรมอกดวย โดยถามลคาของธรกรรมนนมคานอยกวาจานวนเงนทใสเขามาในธรกรรมตอนแรก จานวนเงนทเปนสวนตางนนคอคาธรรมเรยมทจะถกเพมเปนรางวลเพมเตมทจะอยใน Block ทมธรกรรม ถาเหรยญทใหมๆ ทถกสรางขนมาถกสรางจนหมดแลว รางวลทเหลออยกคอคาธรรมเนยมของธรกรรมตางๆ และระบบกจะไมมการสรางเหรยญใหมๆ อก ซงรางวลเหลานเปนสงทชวยกระตนให Node ทงหลาย

5

Page 6: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

ยงทางานอยางซอสตย ถาม Attacker ทมกาลง Cpu มากกวา Node อนๆททางานถกตองเขากตองเลอกวาเขาจะโกงทกคนในระบบโดยการทาใหธรกรรมของเขาไมเคยเกดขน หรอใชกาลงประมวลผลทเขามในการสรางเหรยญใหมๆ ซงเขาอาจจะคนพบวาเขาจะไดผลประโยชนมากกวาถาเขาชวยเหลอระบบ เชนถาเขานากาลงทมมากกวาคนทกคนมาชวยระบบและไดเหรยญใหมๆ เขาจะไดกาไรมากกวานากาลงเหลานนไปทาใหแคนาเงนของเขาทเคยใชไปกลบคนมา 7. Reclaiming Disk Space เมอธรกรรมสดทายนนถกใสลงใน Block แลว ธรกรรมทถกใชไปแลวอาจจะถกนาออกไปไดเพอประหยดพนทในการจดเกบขอมล ซงการทจะทาสงนไดโดยไมไดทใหเลข Hash ของ Block เปลยนนน ธรกรรมตางๆจะตองถก Hash ในรปแบบของ Markle Tree [7][2][5] ( การคขอมลแลว Hash ขนมาเปนลาดบขนสงขนเรอย ๆ แบบ Tree) ทเฉพาะ Root (สวนแรกของการเกบขอมลแบบ Tree) เทานนทจะมเลข hash ของ Block สาหรบ Block เกาๆนนอาจจะสามารถบบอดขอมลไดโดยนาตดกงของขอมลออกจาก Tree ซงกงนนไมจาเปนตองมเลข Hash เกบไว

ในสวน Header (ขอมลสวนแรกทถกเกบใน Block) ของ Block ทไมมธรกรรมนนจะมขนาดประมาณ 80 bytes ถาทก Block นนถกสรางขนในเวลาทกๆ 10 นาทกเทากบ 80 bytes * 6 * 24 * 365 = 4.2MB ตอปดวยระบบคอมพวเตอรทปกตจะมขนาดของ RAM ท 2GB ในป 2008 และตามกฎของ Moore (กฎของมวรอธบายถง ปรมาณ ของ ทรานซสเตอรบนวงจรรวม โดยจะเพมเปนเทาตวประมาณทก ๆ สองป ) ซงประมาณการณไววามนจะเพมขนปละ 1.2 GB ทาใหขนาดพนทของการเกบขอมลนนไมใชปญหาแมวา Header ของ Block จะถกเกบใน Memory 8. Simplified Payment Verification (การตรวจสอบธรกรรม)

การตรวจสอบธรกรรมนนสามารถทาไดโดยไมจาเปนตองเปน Full Node (Node ทมฟงชนทกอยางของระบบครบถวน) ผใชงานเพยงแคเกบสาเนา Header ของหวงโซทยาวทสด ซงผใชงานสามารถหาไดจากการดงขอมลจาก Node ใน Network จนกวาเขาจะไดหวงโซทยาวทสด และไดกงของ Markle ทเชอมธรกรรมไปยง Block ทมการบนทกเวาไว ( timestamped ) โดยปกตผใชงานจะไมสามาระตรวจสอบธรกรรมดวยตวเองได แตเมอเชอมขอมลไปยงหวงโซ ผใชงานจะสามารถเหนไดวา Node มการรบธรกรรมและสราง Block เพมทาใหผใชงานสามารถยนยนไดวาเนตเวรคมการยนยนธรกรรมแลว

6

Page 7: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

การตรวจสอบและยนยนธรกรรมนนจะสามารถเชอถอไดตราบเทาท Node ทซอสตยยงควาบคมเนตเวรคอย แตระบบกอาจจะออนแอลงไดถาถกโจมตจาก Attacker ทกาลงมาก ในขณะท Node สามารถตรวจสอบธรกรรมไดดวยตนเอง วธท Attacker สามารถหลอกระบบไดคอสรางธรกรรมปลอมๆขนมาตราบเทาทพวกเขามกาลงสวนมากในระบบ และวธทจะปองกนไดคอการท Node อนๆคอยแจงเตอน Node อนๆเมอเขาได Block ทไมถกตอง เปนการกระตนผใชงานให download ขอมล block ทงหมดเพอคอยแจงเตอนคนอนๆเมอเกดธรกรรมขนเพอปองกนความผดพลาด ธรกจทมจานวนการจายเงนมากๆอาจจะตองม Node เปนของตวเองเพอความปลอดภยและการตรวจสอบธรกรรมทรวดเรวขน 9. Combining and Splitting Value การรวมและการแบงมลคา

ถงแมวาระบบสามารถจดการเหรยญและธรกรรมไดอยางอสระ แตมนคงจะดแปลกๆถาเราตองแตกธรกรรมออกเปนหลายๆธรกรรมในเงนทกสวนทเราจะสง การทเราจะทาใหคาของเหรยญสามารถแตกธรกรรมหรอรวมธรกรรมได ธรกรรมจะตองมจานวนผสงและผรบทหลากหลาย ปกตแลวมนมความเปนไปไดทจะมเงนทมคามากในธรกรรมทผานมาแลวหรออาจจะเปนเงนกอนทเกดจากการรวมเงนกอนเลกๆหลายๆจานวนซงปกตจะมธรกรรมอยางมากสองธรกรรม คอสวนทเราจายเงน และสวนทเราจายเปนเงนทอน

ซงวธนเปนวธแบบ fanout เมอธรกรรมขนกบธรกรรมยอยๆจานวนมาก และธรกรรมเหลานนยงขนกบธรกรรมอนๆจานวนมากเชนกน กจะไมเกดปญหาขน การแตกธรกรรมจงไมใชสงทจาเปน 10. Privacy ความเปนสวนตว

7

Page 8: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

ในรปแบบธนาคารทวไปในเรองความเปนสวนตวนนจะมขอจากดอยเนองจากตวกลางผใหบรการนนมสทธทจะเขาถงขอมลของเรา การประกาศทกธรกรรมสสารธารณะจงดเหมอนวาเปนสงทขดแยงกบความเปนสวนตว แตดวยวธนการทจะคงความเปนสวนตวนนยงสามารถทาไดโดยการนาขอมลบางสวนออกไปจากกระบวนการของระบบ และวธนนคอการทาให Public key นนกลายเปนสงทไมมการระบตวตนลงไป (เนองจากไมมการใสขอมลสวนตวใดๆลงใน public key) ถามองจากมมมองขางนอกทกคนจะสามารถเหนไดวามใครบางคนกาลงสงเงนใหกบอกคนหนง แต public key จะไมมการระบขอมลสวนตวทจะเชอมโยงธรกรรมไปบคคลใดๆ วธนมนกคลายๆกบวธทการรกษาขอมลของตลาดหลกทรพย วาจะมการเทรดหรอแลกเปลยนเมอไหรแตจะไมบอกวาใครเปนกลมคนนน

และเพอความปลอดภยทมากขน ผใชงานควรสราง Public key (address) ใหมทกครงในทกๆการโอนเพอไมใหมขอมลทละเชอมโยงมาสผใช แตมนกจะมขอมลเชอมโยงบางอยางทไมสามามารถปกปดไดเชนธรกรรมทมจานวนเงนจากหลายๆแหง ซงมนอาจจะมขอมลทเชอมโยงวาเงนเหลานนมาจากคนๆเดยวกน ซงความเสยงนนคอหากมขอมลทเปดเผยวาคนๆนนเปนเจาของ Public key มนอาจจะเชอมโยงไปยงธรกรรมอนๆอกวามนเปนของคนๆนน (เชนเรารวา Address 1 อยางมใครเปนเจาของเราอาจจะสบตอไปวาเขาไดเงนจากใครหรอสงเงนใหใครบาง) 11. Calculations (การคานวณ)

ถาเรามองวาการโจมตของ Attacker คอการทเขาสามารถสรางหวงโซไดเรวกวาหวงโซทถกตอง แมวาเขาจะทาสาเรจ มนกไมไดแปลวาเขาจะสามารถเปลยนแปลงและแกไขระบบไดตามใจชอบ เชน Attacker กไมสามารถเสกเงนขนมาจากอากาศหรอหรอขโมยเงนทไมเคยเปนของ Attacker ได เนองจาก Node อนๆจะไมยอมรบธรรกรรมทไมถกตอง (เชนเราเขยนวามเงนเขากระเปาเราหรอเอาเงนจากคนอนเขากระเปปาเราแต Digital signature นนไมถกตอง Node อนกจะไมรบ) สงเดยวท Attacker สามารถทาไดคอการทสามารถแกไขวาธรกรรมและเงนทเขาเพงใชไปนนไมเคยเกดขนมากอน

ซงการแขงขนในการสรางหวงโซทถกตองและหวงโซของ Attacker จะเปนลกษณะของ Binomial Random Walk ททกครงทหวงโซทถกตองสราง Block ไดความนาจะเปนจะ +1 และถาหวงโซของ Attacker สราง Block ไดความนาจะเปนจะ -1

โอกาสท Atacker จะสรางหวงโซไดทนโดยดจากจานวน block ทขาดนนขนอยกบ Gambler's Ruin

problem สมมตวามนกพนนทมชปไมจากดและเขาพยายามพนนนบครงไมถวนเพอใหถงจด Breakeven หรอกคอจดท Acttacker จะสรางหวงโซทนหวงโซทถกตอง[8]

p = ความนาจะเปนท Node ทซอสตยจะเจอ Block ถดไป แลว q = ความนาจะเปนท Attacker จะเจอ Block ถดไป qz = ความนาจะเปนท Attacker จะสราง Block ทนหวงโซทถกตองโดย z คอจานวน Block ทตามกน

8

Page 9: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

ถาเราตงสมมตฐานวา p>q หมายความวา ความนาจะเปนจะตกลงแบบ Exponential ในทก Block ท Acttacker ตองตามใหทน ซงมนทาให Attacker นนเสยเปรยบ ถาเขาไมไดดวงดสามารถสราง Block ไดมากกวาหวงโซทถกตองตงแตแรก โอกาสทเขาจะตามทนจะนอยมากเมอเขาตามหลงหวงโซทถกตอง ถาเราลองพจารณาวาผรบจะตองรอนานเทาไหรถงจะมนใจไดวาธรกรรมทมาจากผสงจะเปลยนแปลงไมได ถาเราลองคดวา Attacker คอผสงเงนทตองการทาใหผทรบเงนเชอวาเขาสงเงนแลวหลงจากนน คอยทาใหธรกรรมนนถกเขยนทบหลงจากเวลาผานไป แมผรบจะรตวหลงจากนนแต Attacker กจะหวงวามนคงจะสายเกนไป

ถาผรบสราง Public key ใหมและเอามนใหแกผสงในทนทกอนทจะมการ Sign (การยนยนธรกรรมจาผสง) มนจะชวยปองกนความเสยงทผสงจะสรางหวงโซปลอมๆเตรยมไว หากเขาโชคดพอทจะสรางหวงโซไดทน และคดจะสงหวงโซไดทน เมอธรกรรมถกสงไปแลว attacker ทเปนผสงกจะเรมสรางหวงโซอกสายหนงทมขอมลไมเหมอนกบธรกรรมทเขาสงไปในตอนตน เมอผรบรอจนธรกรรมของเขาถกตอไป z block ซงเขาไมรวา attacker นนสามารถสราง block ของตวเองไปถงเทาไหรแลว ซงเราจะลองสมมตวาถา Block ทถกสรางอยางถกตองนนใชเวลาในการสรางตามคาเฉลย ประสทธภาพในการสราง Block ของ Attacker จะเปนการแจกแจงความนาจะเปนแบบปวซอง (Poisson distribution)

ในการทจะไดคาความนาจะเปนท attacker จะสราง block ตามไดทน เราตองคณคา poisson ในทกกระบวนการท attacker สรางดวยความนาจะเปนทเขาจะสามารถสราง block ตามไดทนจากจดๆนน

จดเรยงสตรเพอปองกนการบวกกนของคา infinite ในการกระจาย

เปลยนเปนภาษา C

9

Page 10: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

คานวณคา แลวเราจะเหนวาความเปนไปไดนนจะตกลงแบบ exponential ดวยคา z

หาคาตอบถา P นอยกวา 0.1%

10

Page 11: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

12. Conclusion สรป เราพยายามสรางระบบสาหรบธรกรรมอเลคทรอนคสทไมตองใชความนาเชอถอใดๆ เราเรมจากการทาโครงของเหรยญทสรางจาก Digital signature (ลายเซนตดจทล) ซงทาใหมนมจดเเขงในดานการเปนเจาของ(ownership) แตระบบนคงจะไมสาเรจหากไมสามารถปองกน Double spending ได ซงในการแกไขในจดนเราจงขอนาเสนอเครอขายแบบ peer-to-peer ทใชระบบ Proof of work ในการบนทกธรกรรมแบบสารธารณ ซงมนจะกลายเปนระบบททมกาลงประมวลผลมากจน Attacker ไมสามารถทาอะไรไดถา Node ทซอสตยยงควบคมกาลงของ CPU สวนใหญอย ระบบนจะมความแขงแรงแมจะมโครงสรางทซบซอน Node ทงหมดจะทางานดวยกนจากการประสานงานเลกๆ การระบตวตนจะไมเกดขนเพราะวาขอความหรอธรกรรมทถกสงออกไปนนไมไดพงไปทจดใดจดหนง และขอความแจะถกสงออกไปใหถง Node มากทสดเทาทจะทาได Node สามารถออกหรอเขารวมระบบเมอไหรกไดตามทตองการ เพราะหวงโซทเกดจาก Proof of work จะเปนสงทบอกวาเกดอะไรขนบางในชวงท Node หายไป ระบบนจะโหวตตามกาลง CPU โดยดจากการท Node รบ Block ทถกตองและตอเขากบหวงโซและปฎเสธ Block ทมขอมลไมถกตอง ซงกฎและรางวลตางๆจะถกใชงานในรปแบบ Consensus (ฉนทามต) อางอง [1] W. Dai, "b-money," http://www.weidai.com/bmoney.txt, 1998. [2] H. Massias, X.S. Avila, and J.-J. Quisquater, "Design of a secure timestamping service with minimal trust requirements," In 20th Symposium on Information Theory in the Benelux, May 1999. [3] S. Haber, W.S. Stornetta, "How to time-stamp a digital document," In Journal of Cryptology, vol 3, no 2, pages 99-111, 1991. [4] D. Bayer, S. Haber, W.S. Stornetta, "Improving the efficiency and reliability of digital time-stamping," In Sequences II: Methods in Communication, Security and Computer Science, pages 329-334, 1993. [5] S. Haber, W.S. Stornetta, "Secure names for bit-strings," In Proceedings of the 4th ACM Conference on Computer and Communications Security, pages 28-35, April 1997. [6] A. Back, "Hashcash - a denial of service counter-measure," http://www.hashcash.org/papers/hashcash.pdf, 2002. [7] R.C. Merkle, "Protocols for public key cryptosystems," In Proc. 1980 Symposium on Security and Privacy, IEEE Computer Society, pages 122-133, April 1980. [8] W. Feller, "An introduction to probability theory and its applications," 1957.

11

Page 12: ระบบเง ิน สดอิเ ล ... - Bitcoin · T r ansl ati on i n T hai by P e e r aphat H ankongkae w han@bl oc kc hai n-r e vi e w.c o.th oc kc hai n-r e vi e w.c

Technical Term Peer-to-peer: การสงตอขอมลหากนและกนเปนเครอขายแบบไมมตวกลาง เหมอน BitTorrent Digital Signature: การเขารหสโดยคอมพวเตอรทยากจะเลยนแบบและสามารถยนยนความถกตองของทมาของขอมลได เปรยบเสมอนการตรวจสอบลายเซนบนเอกสารสาคญ hash: คอการเขารหสเพอปกปดขอมล โดยการจะไขรหสเพอหาขอมลตงตนกอนการเขารหสนน ทาไดยาก Node: คอมพวเตอรในเครอขาย Best effort: สงขอมลแบบไมสนใจวาจะถงผรบ Trust: เครดต หรอความเชอถอ Double spending: การใชเงนซาทเปนหญหาเมอเงนกลายเปนขอมลดจทลเพราะวามนอาจจะถกเคยใชไปแลว Cryptographic: การเขารหสดวย public key และ private key ทาใหเกดการแลกเปลยนขอมลซงกนและกน โดยขอมลจะถกรกษาไวอยางปลอดภย Mint: ตวกลาง Block: กลองทเกบธรกรรม Attacker: คนทคดจะโกงหรอปลอมแปลงระบบ Consensus: ฉนทามต Proof-of-work: การพสจนดวยผลงาน เปนการแกไขโจทยจากการเขารหสทตองใชเวลาในการทางานของ CPU Note:เนองจากภาษาทใชใน White paper เปนภาษาวชาการทคอนขางเขาใจยากทางทมงานของเราจงไมไดแปลแบบตรงตวแตพยายามจบใจความและแปลใหรปประโยคดขนโดยทใจความยงคงเดมเทาททาได

12