📙
[TH] The Book of Satoshi by Phil Champagne (beta)
[TH] bitcoin booksourceช่วยแปล
  • หนังสือแห่งซาโตชิ: ผลงานรวมการเขียนของผู้สร้างบิตคอยน์ ซาโตชิ นากาโมโตะ
  • เกี่ยวกับภาพปก
  • กิตติกรรมประกาศ
  • หนังสือเล่มนี้มีไว้สำหรับใคร
  • คำนำ
  • 1 บทนำ
  • 2 บิตคอยน์ทำงานอย่างไรและทำไม
  • 3 โพสต์แรกบนกระดานสนทนาเรื่องการเข้ารหัสลับ
  • 4 ข้อกังวลเรื่องความสามารถในการขยายตัว
  • 5 การโจมตีด้วยพลัง 51%
  • 6 เกี่ยวกับเครือข่ายที่ควบคุมโดยส่วนกลางเปรียบเทียบกับเครือข่ายแบบ Peer-to-Peer
  • 7 ซาโตชิพูดถึงอัตราเงินเฟ้อเริ่มต้นที่ 35%
  • 8 เกี่ยวกับธุรกรรม
  • 9 เรื่องบล็อกกำพร้า (Orphan Blocks)
  • 10 เกี่ยวกับการซิงโครไนซ์ธุรกรรม
  • 11 ซาโตชิพูดถึงค่าธรรมเนียมธุรกรรม
  • 12 เกี่ยวกับการยืนยันและเวลาของบล็อก
  • 13 ปัญหานายพลไบแซนไทน์
  • 14 เรื่องเวลาในการสร้างบล็อก, การทดสอบอัตโนมัติ, และมุมมองของพวกเสรีนิยม
  • 15 เพิ่มเติมเกี่ยวกับ Double Spend, Proof-of-Work, และค่าธรรมเนียมธุรกรรม
  • 16 เกี่ยวกับ Elliptic Curve Cryptography, การโจมตีแบบ Denial of Service, และการยืนยัน
  • 17 เพิ่มเติมเกี่ยวกับ TransactionPool, NetworkingBroadcast, และรายละเอียดการเขียนโค้ด
  • 18 เปิดตัว Bitcoin ครั้งแรก
  • 19 เกี่ยวกับวัตถุประสงค์สำหรับการใช้งาน Bitcoin ในระยะแรก
  • 20 โทเค็น "Proof-of-Work" และสแปมเมอร์
  • 21 ประกาศ Bitcoin บน P2P Foundation
  • 22 เรื่องการกระจายอำนาจเป็นกุญแจสำคัญสู่ความสำเร็จ
  • 23 เกี่ยวกับเรื่องปริมาณเงิน
  • 24 Release of Bitcoin Vo.1.3
  • 25 เรื่องการประทับเวลาเอกสาร
  • 26 ข้อความต้อนรับของเว็บบอร์ด Bitcointalk
  • 27 เรื่องการครบกำหนดของ Bitcoin
  • 28 Bitcoin มีความเป็นนิรนามแค่ไหน?
  • 29 คำถามและคำตอบจาก Satoshi
  • 30 เรื่อง "เงินฝืดตามธรรมชาติ"
  • 31 Bitcoin เวอร์ชัน 0.2 มาแล้ว!
  • 32 คำแนะนำวิธีการชำระเงินสำหรับการสั่งซื้อ
  • 33 เกี่ยวกับความยากของ Proof-of-Work
  • 34 เรื่องขีดจำกัดของ Bitcoin และความคุ้มค่าในการเป็นโหนด
  • 35 ความเป็นไปได้ที่จะเกิดการชนกันของ Bitcoin Address
  • 36 QR Code
  • 37 ไอคอน/โลโก้ของ Bitcoin
  • 38 ใบอนุญาต GPL เทียบกับใบอนุญาต MIT
  • 39 เรื่องกฎระเบียบการโอนเงิน
  • 40 ความเป็นไปได้ของจุดอ่อนทางการเข้ารหัส
  • 41 เกี่ยวกับความหลากหลายของประเภทธุรกรรม
  • 🚰42 ก๊อกน้ำ Bitcoin แห่งแรก
  • 43 Bitcoin 0.3 ปล่อยออกมาแล้ว!
  • 44 เกี่ยวกับการแบ่งส่วนหรือ "สวิตช์ตัดการเชื่อมต่ออินเทอร์เน็ต"
  • 45 เกี่ยวกับการครอบงำตลาด
  • 46 เรื่องความสามารถในการขยายตัวและไคลเอนต์แบบเบา
  • 47 เรื่องปัญหาการทำธุรกรรมเร็ว
  • 48 บทความวิกิพีเดียเกี่ยวกับบิตคอยน์
  • 49 เกี่ยวกับความเป็นไปได้ในการขโมยเหรียญ
  • 50 พบข้อบกพร่องสำคัญ
  • 51 เรื่องการป้องกันการโจมตีแบบน้ำท่วม
  • 52 การถ่ายเทของ Bitcoin Faucet
  • 53 การทำธุรกรรมไปยังที่อยู่ IP แทนที่จะเป็นที่อยู่บิทคอยน์
  • 54 เรื่องเอสโครว์และธุรกรรมแบบมัลติซิกเนเจอร์
  • 55 เรื่องการขุด Bitcoin เป็นการสิ้นเปลืองทรัพยากร
  • 56 เกี่ยวกับประเภทของบล็อกเชนทางเลือกที่มีเพียงบันทึกแฮช
  • 57 เกี่ยวกับต้นทุนที่สูงขึ้นของการขุด
  • 58 เกี่ยวกับการพัฒนาระบบแจ้งเตือน
  • 59 เกี่ยวกับคำนิยามของเงินและบิตคอยน์
  • 60 ว่าด้วยข้อกำหนดของค่าธรรมเนียมธุรกรรม
  • 61 On Sites with CAPTCHA and Paypal Requirements
  • 62 เกี่ยวกับข้อความสั้นๆ ใน Block Chain
  • 63 เกี่ยวกับการจัดการกับการโจมตีด้วยการทำธุรกรรมจำนวนมาก
  • 64 เกี่ยวกับรายละเอียดเทคนิคของการขุดแร่แบบพูล
  • 65 เกี่ยวกับ WikiLeaks ที่ใช้ Bitcoin
  • 66 เกี่ยวกับระบบชื่อโดเมนแบบกระจาย
  • 67 เกี่ยวกับบทความใน PC World เกี่ยวกับบิตคอยน์และ WikiLeaks ที่กำลังเตะรังแตน
  • 68 โพสต์สุดท้ายของ Satoshi ในฟอรัม: การปล่อย Bitcoin 0.3-19
  • 69 อีเมลถึง Dustin Trammell
  • 70 สุดท้ายของการส่งจดหมายส่วนตัว
  • 71. บิตคอยน์และผม (Hal Finney)
  • 72 บทสรุป
  • Bitcoin: A Peer-to-Peer Electronic Cash System
  • คำศัพท์และนิยาม
  • ดัชนี
Powered by GitBook
On this page

15 เพิ่มเติมเกี่ยวกับ Double Spend, Proof-of-Work, และค่าธรรมเนียมธุรกรรม

แปลโดย : Claude 3 Opus (Pro)

15

เพิ่มเติมเกี่ยวกับ Double Spend, Proof-of-Work, และค่าธรรมเนียมธุรกรรม

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

Re: บทความเกี่ยวกับ Bitcoin P2P e-cash

Satoshi Nakamoto จันทร์ที่ 17 พ.ย. 2008 09:04:470800

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

Ray Dillinger (Bear) เขียนว่า:

เมื่อเหรียญถูกใช้จ่าย ผู้ซื้อและผู้ขายจะเซ็นลายมือชื่อดิจิทัลในบันทึกธุรกรรม (ที่ถูกบดบัง)

มีเพียงผู้ซื้อเท่านั้นที่เซ็น และไม่มีการบดบังใดๆ

หากใครทำการใช้จ่ายซ้ำ (double spend) บันทึกธุรกรรมจะสามารถถูกเปิดเผยเพื่อเปิดเผยตัวตนของผู้ที่ฉ้อโกง

ไม่มีการใช้ตัวตน และไม่เชื่อมั่นในการพึ่งพาการเยียวยา ทุกอย่างเป็นการป้องกัน

สิ่งนี้ทำผ่านอัลกอริทึม cut-and-choose มาตรฐานพอสมควร โดยผู้ซื้อจะตอบสนองต่อความท้าทายหลายครั้งด้วยการแชร์ข้อมูลลับ

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

พวกเขาอาจได้รับ chain ที่ยาวเท่ากับ chain ที่พวกเขาพยายามขยายในระหว่างที่พวกเขาทำงาน โดย "ลิงค์" สองสามอันสุดท้ายเป็นลิงค์ที่ไม่ได้เป็นส่วนร่วมกับ chain ที่พวกเขากำลังทำงานอยู่

พวกเขาจะละเว้นสิ่งเหล่านี้

ใช่ หากมีความยาวเท่ากัน ผลเสมอจะถูกตัดสินโดยใช้ตัวที่ได้รับก่อนหน้า

หากมันมีการใช้จ่ายซ้ำ (double spend) พวกเขาจะสร้าง "transaction" ซึ่งเป็นหลักฐานของการใช้จ่ายซ้ำ เพิ่มมันเข้าไปในพูล A ของพวกเขา ออกอากาศมัน และทำงานต่อไป

ไม่จำเป็นต้องรายงาน "หลักฐานการใช้จ่ายซ้ำ" แบบนั้น หาก chain เดียวกันมีทั้งสองการใช้จ่าย บล็อกนั้นก็จะไม่ถูกต้องและถูกปฏิเสธ

เช่นเดียวกับหากบล็อกมี proof-of-work ไม่เพียงพอ บล็อกนั้นก็จะไม่ถูกต้องและถูกปฏิเสธ ไม่จำเป็นต้องเผยแพร่รายงานเกี่ยวกับมัน ทุกโหนดสามารถเห็นและปฏิเสธมันก่อนที่จะส่งต่อได้

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

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

แม้ว่าการใช้จ่ายก่อนหน้าจะยังไม่อยู่ใน chain หากมันอยู่ในพูลของโหนดทั้งหมดอยู่แล้ว การใช้จ่ายครั้งที่สองก็จะถูกปฏิเสธโดยโหนดทั้งหมดที่มีการใช้จ่ายครั้งแรกอยู่แล้ว

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

ถูกต้อง พวกเขายังรีเฟรชเมื่อมีธุรกรรมใหม่เข้ามา ดังนั้นพูล L จึงมีแทบทุกอย่างใน A ตลอดเวลา

อัลกอริทึมลายเซ็นดิจิทัลที่ใช้ CPU เข้มข้นเพื่อเซ็นต์ chain รวมถึงบล็อก L ใหม่

มันเป็น proof-of-work แบบ SHA-256 สไตล์ Hashcash (pre-image บางส่วนเป็นศูนย์) ไม่ใช่ลายเซ็น

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

หากคุณคิดว่ามันเป็นการลงลายมือชื่อดิจิทัลที่ใช้ CPU เข้มข้น คุณอาจคิดถึงการแข่งขันเพื่อทำงานยาวให้เสร็จก่อนและเร็วที่สุดเสมอ

proof-of-work เป็นการค้นหา collision ของ SHA-256 แบบ Hashcash มันเป็นกระบวนการที่ไม่ต้องจำที่คุณทำแฮชนับล้านครั้งต่อวินาที โดยมีโอกาสเล็กน้อยที่จะพบหนึ่งอันในแต่ละครั้ง การครอบงำของโหนด 3 หรือ 4 ตัวที่เร็วที่สุดจะเป็นสัดส่วนกับส่วนแบ่งพลัง CPU ทั้งหมดของพวกเขาเท่านั้น โอกาสของใครก็ตามที่จะหาคำตอบได้ทุกเมื่อจะเป็นสัดส่วนกับพลัง CPU ของพวกเขา

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

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

ถูกต้อง

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

ทุกธุรกรรมเป็นหนึ่งในสิ่งเหล่านี้ ส่วนที่ 9, การรวมและแยกมูลค่า

Satoshi Nakamoto

The Cryptography Mailing List

Previous14 เรื่องเวลาในการสร้างบล็อก, การทดสอบอัตโนมัติ, และมุมมองของพวกเสรีนิยมNext16 เกี่ยวกับ Elliptic Curve Cryptography, การโจมตีแบบ Denial of Service, และการยืนยัน

Last updated 11 months ago