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

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

กำหนดงานจริงของบอตสไนเปอร์คริปโต

การกำหนดงานอย่างแม่นยำระบุเหตุการณ์ที่สังเกต เงื่อนไขที่ต้องครบก่อนลงมือ และความเสี่ยงสูงสุดที่ระบบสร้างได้ คำว่า ซื้อโทเคนใหม่อย่างรวดเร็ว ปล่อยให้หน้าที่เหล่านี้ทุกข้อกำกวม

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

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

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

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

ออกแบบสถาปัตยกรรมบอตสไนเปอร์คริปโตข้ามเชน

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

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

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

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

ปรับเหตุการณ์เป็นรูปแบบมาตรฐานโดยไม่สูญเสียที่มา

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

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

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

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

แยกตัวตนข้อสังเกตออกจากเจตนาเทรด

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

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

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

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

ทดสอบการจัดการเหตุการณ์ซ้ำของบอตสไนเปอร์คริปโต

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

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

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

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

แยกกฎการผ่านเกณฑ์ออกจากกฎราคา

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

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

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

การแยกหน้าที่เหล่านี้ช่วยให้ทดสอบดีขึ้น ฟีเจอร์การโอนที่ไม่รองรับควรไม่ผ่านแม้ราคาน่าสนใจ ส่วนราคาเสนอที่ไม่ดีควรไม่ผ่านแม้ตรวจตัวตนครบทุกข้อ คะแนนรวมที่ยอมให้ชดเชยกันทำให้มาตรการควบคุมทั้งสองอ่อนลง

กันทุนก่อนเตรียมธุรกรรม

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

สมมติบัญชีตัวอย่างมีเงินพร้อมใช้ $500 ตามนโยบายจัดสรร ตัวทำงานสองตัวต่างเสนอซื้อ $300 ไม่อาจอนุมัติทั้งสองเพียงเพราะแต่ละตัวเห็นยอด $500 เดียวกันอย่างเป็นอิสระ นโยบายร่วมต้องคิดยอดกันครั้งแรกก่อนประเมินครั้งที่สอง

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

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

กำหนดหน้าที่ชัดเจนให้ตัวเชื่อมแต่ละเชน

เอกสารธุรกรรมของ Ethereum อธิบายว่า nonce เป็นตัวนับธุรกรรมของบัญชี ส่วนภาพรวมธุรกรรมของ Solana อธิบายกลไกธุรกรรมที่ใช้บล็อกแฮชล่าสุด ความต่างเหล่านี้แสดงว่าเหตุใดจึงไม่ควรคัดลอกกฎกู้คืนของเครือข่ายหนึ่งไปใช้อีกเครือข่ายโดยไม่ตรวจสอบ

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

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

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

จำกัดสิ่งที่ส่วนลงนามอนุมัติได้

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

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

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

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

แยกการสร้าง การจำลอง และการส่งธุรกรรม

การสร้างธุรกรรมแสดงการดำเนินการที่เสนอ การจำลองตรวจบางด้านของการดำเนินการนั้นกับสถานะที่มี ส่วนการส่งขอให้เครือข่ายหรือบริการประมวลผลข้อความที่ลงนาม แต่ละขั้นให้หลักฐานต่างกัน

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

หากเปลี่ยนธุรกรรมหลังจำลอง ให้พิจารณาว่าผลเดิมยังใช้ได้หรือไม่ การเปลี่ยนเส้นทาง บัญชี หรือปริมาณรับที่อนุมัติอาจทำให้หลักฐานใช้ไม่ได้ ไม่ควรถือว่าการเปลี่ยนรูปลักษณ์ส่วนติดต่อเทียบเท่าการเปลี่ยนคำสั่งทางเศรษฐกิจ

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

ถือผลที่ยังไม่ทราบเป็นสถานะแยกต่างหาก

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

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

การตรวจสอบควรใช้หลักฐานสถานะและบัญชีที่เหมาะกับเชน แหล่งข้อมูลที่ขัดกันอาจสะท้อนเวลาสังเกตหรือระดับการยืนยันต่างกัน แทนความขัดแย้งจริงหรือเท็จอย่างง่าย ตัวเชื่อมต้องมีนโยบายหาข้อยุติของความต่างเหล่านั้น

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

ถือผลที่ยังไม่ทราบเป็นสถานะแยกต่างหากChain AdapterShared PolicyDurable LedgerTRADING FIELD NOTESEDUCATIONAL RESOURCE
กลไกเฉพาะเชนควรอยู่ในตัวเชื่อม ส่วนนโยบายและการทำบัญชียังคงเป็นหน้าที่ร่วมที่ชัดเจน

กระทบยอดผลกับเจตนาที่อนุมัติ

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

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

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

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

วัดความน่าเชื่อถือด้วยกระบวนการทุกขั้นที่ครบถ้วน

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

ในการทบทวนตัวอย่าง ระบบสังเกตสินทรัพย์ 1,000 ตัว พบว่าผ่านเกณฑ์ 100 ตัว อนุมัติ 20 และยืนยันการซื้อ 15 ครั้ง อัตรายืนยันจากเจตนาที่อนุมัติคือ 75% การอธิบาย 15 จาก 1,000 ว่าเป็นอัตราล้มเหลวในการดำเนินคำสั่งไม่ถูกต้อง เพราะสินทรัพย์ส่วนใหญ่ไม่เคยถูกตั้งใจให้เป็นการเทรด

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

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

กรอบการวัด p50 และ p99 อธิบายวิธีแสดงความพยายามที่หมดเวลารอ คิวช่วงงานพุ่ง และหลักฐานล้าสมัยให้เห็นเมื่อเปรียบเทียบความล่าช้าเหล่านั้น

ใช้การซ้อมความขัดข้องเพื่อประเมินซอฟต์แวร์

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

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

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

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

วางแผนกู้คืนโดยไม่เร่งทำรายการตกค้างอัตโนมัติ

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

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

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

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

ตัดสินสถาปัตยกรรมจากขอบเขตที่อธิบายได้

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

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

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

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

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

เรียนรู้ต่อ

สำรวจทรัพยากรทั้งหมด