16 เกี่ยวกับ Elliptic Curve Cryptography, การโจมตีแบบ Denial of Service, และการยืนยัน

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

16

เกี่ยวกับ Elliptic Curve Cryptography, การโจมตีแบบ Denial of Service, และการยืนยัน

Satoshi กล่าวถึงลายเซ็นธุรกรรม เพิ่มเติมเล็กน้อยเกี่ยวกับการโจมตีแบบปฏิเสธการให้บริการ (Denial of Service) และสุดท้ายก็กลับมาที่เรื่องความเร็วของธุรกรรม ร้านค้าอาจรอประมาณ 2 นาทีหลังจากที่ผู้บริโภคทำธุรกรรมด้วยสมาร์ทโฟนของตนแล้ว จากนั้นร้านค้า (หรือบริษัทให้บริการการชำระเงินด้วย Bitcoin ที่ร้านค้าเลือกไว้) จะคอยดูธุรกรรมการใช้จ่ายซ้ำ (double spend) บนเครือข่าย Bitcoin สมมติว่าผู้บริโภคทำธุรกรรมที่เราจะเรียกว่า "X" ซึ่งเขาหรือเธอจ่าย 1.5 BTC จากที่อยู่ Bitcoin ABC ที่มี 2 BTC ยอดเงินคงเหลือของผู้บริโภคจะลดลงเหลือ 0.5 BTC เมื่อการชำระเงินได้รับการยืนยันอย่างสมบูรณ์ ที่นี่จะอภิปรายถึงการดำเนินการที่ร้านค้าต้องทำเพื่อตรวจสอบเครือข่ายว่ามีธุรกรรมอื่นๆ ที่เกี่ยวข้องกับที่อยู่ Bitcoin ABC ปรากฏขึ้นหรือไม่ และถ้ามี จำนวนเงินที่เกี่ยวข้องเกิน 0.5 BTC หรือไม่ หากตรวจพบธุรกรรมที่ตรงตามเกณฑ์นี้ภายในเวลา 2 นาที จะถือว่าการชำระเงินไม่ถูกต้อง การรอ 2 นาทีให้เวลามากพอสำหรับธุรกรรม "X" ที่จะผ่านไปก่อนที่จะมีธุรกรรมอื่นๆ มาแข่งขันในภายหลังจากที่อยู่ Bitcoin ABC นี่บ่งบอกกับร้านค้าว่าธุรกรรม "X" มีแนวโน้มสูงมากที่จะถูกรวมอยู่ในบล็อกปัจจุบันของเหมืองขุด Bitcoin ส่วนใหญ่ที่พวกเขากำลังทำงานอยู่ และจะทำให้มั่นใจได้ว่ามันจะถูกรวมอยู่ใน blockchain ในที่สุด

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

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

Ray Dillinger เขียนว่า:

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

ใช่ มันคือลายเซ็นดิจิทัลแบบ ECC (Elliptic Curve Cryptography) คู่กุญแจใหม่ถูกใช้สำหรับทุกธุรกรรม

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

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

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

ข้อพิสูจน์ที่แสดงว่าใครสักคนเป็นตัวตนจริงก็คือความสามารถในการจัดหาพลัง CPU

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

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

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

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

นี่คือปัญหาในเวอร์ชัน 2 ซึ่งผมเชื่อว่าสามารถแก้ไขได้อย่างพอใจสำหรับแอปพลิเคชันส่วนใหญ่

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

ในช่วง 2 นาทีนั้น โหนดของร้านค้าสามารถเฝ้าดูธุรกรรมที่ใช้จ่ายซ้ำได้ ผู้ที่จะทำ double-spend จะไม่สามารถส่งธุรกรรมอื่นของเขาออกไปทั่วโลกได้โดยที่ร้านค้าไม่ได้รับมัน ดังนั้นเขาต้องรอก่อนที่จะเริ่ม

ถ้าธุรกรรมจริงไปถึง 90% และธุรกรรมที่ถูก double-spent ถึง 10% ผู้ที่จะหลอกลวงจะมีเพียง 10% ที่จะไม่ต้องจ่าย และ 90% ที่เงินของเขาจะถูกใช้ไป สำหรับสินค้าเกือบทุกประเภท มันจะไม่คุ้มค่าสำหรับผู้หลอกลวง

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

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

Satoshi Nakamoto

The Cryptography Mailing List

Last updated