📙
[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

51 เรื่องการป้องกันการโจมตีแบบน้ำท่วม

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

51

เรื่องการป้องกันการโจมตีแบบน้ำท่วม

ความกังวลที่หยิบยกในที่นี้เทียบเท่ากับการโจมตีแบบปฏิเสธการให้บริการบนเครือข่าย Bitcoin โดยที่หน่วยงานหนึ่งสามารถส่งธุรกรรมหลายล้านรายการ แต่ละรายการโอนจำนวนเงินเล็กน้อย เช่น 1 satoshi (0.00000001 BTC) เธรดนี้มีเนื้อหาทางเทคนิคมากกว่าเธรดอื่นๆ และไม่ได้คัดลอกโพสต์ทั้งหมดมาที่นี่ มีเพียงโพสต์ที่เกี่ยวข้องกับหัวข้อและโพสต์เกี่ยวกับข้อกังวลที่ Satoshi ได้กล่าวถึงเท่านั้น

การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย Mionione, 12 กรกฎาคม 2010, 12:04:24 น.

สวัสดี จะเกิดอะไรขึ้นถ้ามีคนส่ง 0.00000001 BC หลายล้านรายการไปยังที่อยู่หลายล้านที่ครับ ?

=> โหนดเพียร์ทั้งหมดในเครือข่ายต้องเก็บธุรกรรมทั้งหมดไว้ใช่ไหม? => เจ้าของ/แฮชของ 0.00000001 แต่ละรายการถูกเก็บไว้ในบล็อกบนเพียร์ทุกตัวใช่ไหม?

ผมไม่ค่อยเข้าใจว่า Bitcoin จัดการกับเศษส่วนของ BC อย่างไร

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย Gavin Andresen, 12 กรกฎาคม 2010, 12:08:45 น.

จากโค้ดต้นฉบับ:

main.h: // เพื่อจำกัดสแปมขยะ ต้องมีค่าธรรมเนียม 0.01 หากเอาต์พุตใดๆ น้อยกว่า 0.01

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย llama, 12 กรกฎาคม 2010, 14:23:46 น.

หืม ผมไม่รู้มาก่อนว่ามีเรื่องนี้ และผมไม่ชอบวิธีการนี้เลย

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

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย Gavin Andresen, 12 กรกฎาคม 2010, 14:45:54 น.

แต่คุณจะแยกความแตกต่างระหว่าง IP ที่ประมวลผลการชำระเงินขนาดเล็กที่ถูกต้องตามกฎหมายกับ IP ของสแปม "ฉันอยากทำให้ Bitcoin ใช้แบนด์วิดท์มากเกินไปจนไม่มีใครยอมเปิดมันอีกต่อไป" ได้อย่างไร?

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

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย Gavin Andresen, 12 กรกฎาคม 2010, 14:45:54 น.

แต่คุณจะแยกความแตกต่างระหว่าง IP ที่ประมวลผลการชำระเงินขนาดเล็กที่ถูกต้องตามกฎหมายกับ IP ของสแปม "ฉันอยากทำให้ Bitcoin ใช้แบนด์วิดท์มากเกินไปจนไม่มีใครยอมเปิดมันอีกต่อไป" ได้อย่างไร?

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย Insti, 4 สิงหาคม 2010, 14:58:31 น.

สแปมขยะ ที่ค่าธรรมเนียมการทำธุรกรรม 0.01 BTC นี้ "แก้ไข" นั้นคืออะไรกันแน่? มันดูเหมือนจะสร้างความเสียหายมากกว่าความช่วยเหลือ เพราะมันขัดขวางการใช้งานการชำระเงินขนาดเล็กเช่นที่ bytemaster แนะนำ

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

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย satoshi, 4 สิงหาคม 2010, 16:25:36 น.

อ้างอิงจาก: Insti เมื่อ 4 สิงหาคม 2010, 14:58:31 น.

มันดูเหมือนจะสร้างความเสียหายมากกว่าความช่วยเหลือ เพราะมันขัดขวางการใช้งานการชำระเงินขนาดเล็กเช่นที่ bytemaster แนะนำ

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

Bitcoin เหมาะสำหรับธุรกรรมขนาดเล็กกว่าที่เป็นไปได้กับวิธีการชำระเงินที่มีอยู่ เล็กพอที่จะครอบคลุมสิ่งที่คุณอาจเรียกว่าระดับบนของช่วงการชำระเงินขนาดเล็ก แต่มันไม่ได้อ้างว่าใช้ได้ผลสำหรับการชำระเงินขนาดเล็กตามอำเภอใจ

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย satoshi, 5 สิงหาคม 2010, 16:03:21 น.

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

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

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

นั่นทำให้เกิดคำถามว่า: หากมีค่าธรรมเนียมขั้นต่ำ 0.01 สำหรับแต่ละธุรกรรม เราควรเพิ่มค่าธรรมเนียมโดยอัตโนมัติหรือไม่หากเป็นขั้นต่ำ 0.01 เท่านั้น? มันจะน่ารำคาญมากที่ต้องถามทุกครั้ง ถ้าคุณมี 50.00 และส่ง 10.00 ผู้รับจะได้รับ 10.00 และคุณจะเหลือ 39.99 ผมคิดว่ามันควรเพิ่มโดยอัตโนมัติ มันเป็นเรื่องเล็กน้อยเมื่อเทียบกับค่าธรรมเนียมที่บริการประเภทอื่นๆ หลายแห่งเพิ่มโดยอัตโนมัติ

อ้างอิงจาก: FreeMoney เมื่อ 4 สิงหาคม 2010, 19:30:32 น.

การเพิ่มเข้าไปมากขึ้นจะทำให้อัตราการแฮชของคุณช้าลงหรือไม่?

ไม่เลย ไม่เลยจริงๆ

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย satoshi, 5 สิงหาคม 2010, 16:30:20 น.

อ้างอิงจาก: bytemaster

โดยทั่วไปการชำระเงินจะเป็นการล่วงหน้า เช่น 1 BTC ต่อครั้ง และเมื่อการเชื่อมต่อปิดลง "เงินทอน" ใดๆ จะถูกส่งคืน กฎนี้ทำให้ไม่สามารถจ่ายสำหรับ "คำค้นหา" ธรรมดาโดยไม่มีธุรกรรมเพิ่มเติมได้

อีกทางเลือกหนึ่งคือใช้ระบบปัดเศษ คุณจ่ายเงิน เช่น 1000 หน้าหรือรูปภาพหรือดาวน์โหลดหรือการค้นหาหรืออะไรก็ตามในแต่ละครั้ง เมื่อคุณใช้หน้าของคุณครบ 1000 หน้าแล้ว คุณก็จ่ายเงินสำหรับอีก 1000 หน้า หากคุณใช้เพียง 1 หน้า คุณก็จะเหลืออีก 999 หน้าที่คุณอาจไม่ได้ใช้เลย แต่มันก็ไม่ใช่เรื่องใหญ่เพราะต้นทุนต่อ 1000 หน้ายังคงต่ำอยู่

หรือคุณสามารถจ่ายรายวัน ครั้งแรกที่คุณเข้าถึงไซต์ในวันที่กำหนด คุณจ่ายสำหรับการเข้าถึง 24 ชั่วโมง

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

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย satoshi, 5 สิงหาคม 2010, 16:39:58 น.

อ้างอิงจาก: bytemaster เมื่อ 5 สิงหาคม 2010, 15:39:19 น.

วิธีแก้ปัญหานี้วิธีเดียวคือการทำให้การกระจายธุรกรรม "ไม่ฟรี" นั่นคือ หากคุณต้องการให้ผมรวมมันเข้าไป คุณต้องจ่ายเงินให้ผม ผลลัพธ์สุทธิ (ไม่ได้ตั้งใจเล่นคำ) คือแต่ละไคลเอ็นต์จะต้องจ่ายเงินให้ไคลเอ็นต์อื่น ๆ ที่พวกเขาส่งธุรกรรมของตนไปให้ ไม่ใช่แค่บุคคลที่ได้รับมันในบล็อกเท่านั้น ด้วยวิธีนี้กฎทางเศรษฐศาสตร์ก็เข้ามามีบทบาทและไม่มีใครได้นั่งฟรีบนระบบการกระจายธุรกรรม

ผมไม่รู้วิธีนำสิ่งนั้นมาใช้ ค่าธรรมเนียมธุรกรรมสำหรับผู้สร้างบล็อกใช้กลเม็ดพิเศษในการรวมค่าธรรมเนียมธุรกรรมโดยไม่ต้องเพิ่มขนาด หากมีธุรกรรมสำหรับค่าธรรมเนียมธุรกรรมแต่ละรายการ แล้วจะเกิดอะไรขึ้นกับค่าธรรมเนียมธุรกรรมสำหรับธุรกรรมของค่าธรรมเนียมธุรกรรมล่ะ?

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย satoshi, 5 สิงหาคม 2010, 17:49:43 น.

อ้างอิงจาก: bytemaster เมื่อ 5 สิงหาคม 2010, 16:46:52 น.

ตอนนี้ ที่อยู่ค่าธรรมเนียมธุรกรรมถูกเว้นว่าง "ว่างเปล่า" และผู้สร้างบล็อกเป็นผู้กรอก ตอนนี้คุณจะกรอกที่อยู่ของบุคคลที่คุณขอให้สร้างบล็อก

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

ตอนนี้ มันเป็นแบบใครสร้างก็ได้รับ

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

Re: การโจมตีน้ำท่วม 0.00000001 BC

โพสต์โดย satoshi, 11 สิงหาคม 2010, 23:28:50 น.

มันจะดีถ้าเราสามารถทำให้ไฟล์ blk*.dat มีขนาดเล็กได้นานที่สุด

ในที่สุดวิธีแก้ปัญหาก็คือไม่สนใจว่ามันจะใหญ่ขนาดไหน

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

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

ไม่ว่าจะมีขนาดใหญ่หรือไม่ เครือข่ายทดสอบจะตอบสนองในลักษณะเดียวกัน แต่จะใช้แบนด์วิดท์ที่สูญเปล่าและความรำคาญน้อยกว่ามาก

Previous50 พบข้อบกพร่องสำคัญNext52 การถ่ายเทของ Bitcoin Faucet

Last updated 11 months ago