Cryptosim: ลองใช้ Cryptosat API

Dec 05 2022
Cryptosat สร้างและปล่อยดาวเทียมขนาดเล็กสู่วงโคจรระดับต่ำของโลก (LEO) ทำหน้าที่เป็นโมดูลการเข้ารหัสที่ปลอดภัยที่สุดซึ่งปกป้องการดำเนินการและโปรโตคอลที่ละเอียดอ่อน และทำหน้าที่ต่างๆ เช่น การเก็บเกี่ยวเอนโทรปี การตั้งค่าที่เชื่อถือได้สำหรับโปรโตคอลการเข้ารหัส หรือการเซ็นชื่อธุรกรรมและข้อมูลจากอวกาศ

Cryptosatสร้างและปล่อยดาวเทียมขนาดเล็กสู่วงโคจรระดับต่ำของโลก (LEO) ทำหน้าที่เป็นโมดูลการเข้ารหัสที่ปลอดภัยที่สุดซึ่งปกป้องการดำเนินการและโปรโตคอลที่ละเอียดอ่อน และทำหน้าที่ต่างๆ เช่น การเก็บเกี่ยวเอนโทรปี การตั้งค่าที่เชื่อถือได้สำหรับโปรโตคอลการเข้ารหัส หรือการเซ็นชื่อธุรกรรมและข้อมูลจากอวกาศ

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

ในโพสต์นี้ เราจะดำดิ่งสู่Cryptosim (Cryptosat Simulator) — โปรแกรมจำลองแซนด์บ็อกซ์และบทช่วยสอนแบบโต้ตอบที่เราพัฒนาตั้งแต่เริ่มใช้ Cryptosat Cryptosim สามารถเข้าถึงได้โดยใช้เบราว์เซอร์ที่ทันสมัย ​​และช่วยให้นักพัฒนาสามารถเรียนรู้เกี่ยวกับการทำงานของดาวเทียมของเราก่อนที่จะมีการรวมเข้ากับขั้นตอนการผลิตของเรา

ภาพหน้าจอของ Cryptosim เวอร์ชันแรกที่พัฒนาโดย Gil Shotan

UI จำลองถูกแบ่งระหว่างบทช่วยสอน (ทางด้านขวา) ที่อธิบายฟังก์ชัน API ที่สนับสนุนโดย Cryptosat แผนที่ที่แสดงวิถีโคจรของดาวเทียม และคอนโซล JS ที่ผู้ใช้สามารถลองใช้ API โดยทางโปรแกรมและโต้ตอบกับแบบจำลองได้ ดาวเทียมเพื่อขอสถานะ เซ็นข้อความ ร้องขอการสุ่ม สร้างคู่คีย์การเข้ารหัสแบบหน่วงเวลา และอื่นๆ อีกมากมาย
บทช่วยสอนอธิบายหลักการทั่วไปของ Cryptosat สอนเกี่ยวกับหน้าต่างการสื่อสารและความพร้อมใช้งานของดาวเทียม อินเทอร์เฟซแบบอะซิงโครนัสกับดาวเทียม และแสดงฟังก์ชันการเข้ารหัสต่างๆ ที่สนับสนุนโดย Cryptosat ตลอดจนวิธีใช้งานในบริบท
ลองมาดูตัวอย่างPublic Randomnessหรือที่เรียกว่า Random Beacon หรือVRF(ฟังก์ชันสุ่มที่ตรวจสอบได้)

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

Cryptosat ส่งสัญญาณบีคอนแบบสุ่มเป็นระยะ ซึ่งเป็นลำดับบิตที่คาดเดาไม่ได้ซึ่งสร้างขึ้นจากค่าเอนโทรปีที่เก็บเกี่ยวบนดาวเทียม สามารถใช้บีคอนนี้เพื่อรันลอตเตอรี่ สร้างการสับ NFT แบบสุ่ม และอื่นๆ การโทรcryptosat.getPublicRandom()จะส่งคืนบีคอนล่าสุดที่ได้รับจากกลุ่มดาวดาวเทียมของ Cryptosat

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

API แบบอะซิงโครนัส

เนื่องจากสถานีภาคพื้นดินไม่สามารถมองเห็นดาวเทียมได้ 100% ในบางครั้ง จึงอาจมีความล่าช้าอย่างมากในการดำเนินการตามคำขอของผู้ใช้ ดังนั้น API ดาวเทียมจึงเป็นแบบอะซิงโครนัส ฟังก์ชันส่งกลับวัตถุคำขอ ซึ่งคุณสามารถสอบถามสถานะการเสร็จสิ้นของคำขอได้โดยการเรียก.status()เมธอด สถานะคำขอจะยังคงอยู่Pendingตราบเท่าที่ดาวเทียมอยู่ห่างจากสถานีภาคพื้นดิน ทันทีที่ดำเนินการ สถานะจะเปลี่ยนReadyเป็น จากนั้นผู้ใช้สามารถเรียกใช้.result()เมธอดเพื่อรับการตอบสนองจากดาวเทียม ได้อย่างปลอดภัย

การใช้ API คำขอแบบอะซิงโครนัส

ใช้กรณีตัวอย่าง

Cryptosim แสดงกรณีการใช้งานบางส่วนที่ผู้ใช้อาจต้องการใช้บริการ Cryptosat ธีมทั่วไปสำหรับพวกเขาทั้งหมดคือการใช้ดาวเทียม Cryptosat เป็น root-of-trust ของการเข้ารหัสที่ป้องกันการงัดแงะ เชื่อถือได้ และปลอดภัย ซึ่งสามารถเชื่อถือได้ว่าทำงานได้อย่างถูกต้องและให้ความสมบูรณ์ของการเข้ารหัสเนื่องจากไม่สามารถเข้าถึงได้แม้แต่มากที่สุด ศัตรูที่ซับซ้อน

Cryptosim เวอร์ชันปัจจุบันมีตัวอย่างสำหรับ:

  • การสุ่มสาธารณะ (Random Beacon)
  • การสุ่มแบบส่วนตัว — ที่ผู้ใช้สามารถร้องขอบิตสุ่มเพื่อเข้ารหัสเป็นรหัสสาธารณะที่พวกเขาให้ไว้ในคำขอ
  • การเรียกการประทับเวลาที่ลงนาม ซึ่งสามารถใช้งานได้โดยแอปพลิเคชันที่ต้องการแหล่งเวลาที่เชื่อถือได้หรือสัญญาอัจฉริยะที่ต้องการให้แน่ใจว่าได้ผ่านระยะเวลาที่กำหนดในโลกแห่งความเป็นจริง
  • การลงนามข้อมูลใด ๆ ในอวกาศ
  • Delay Encryption — เมื่อดาวเทียมสร้างคู่คีย์เข้ารหัสและเผยแพร่คีย์สาธารณะ คีย์ส่วนตัวจะไม่ถูกปล่อยก่อนเวลาที่กำหนด ป้องกันการถอดรหัสข้อมูลใด ๆ ที่เข้ารหัสไปยังคีย์สาธารณะที่เผยแพร่ก่อนเวลาอันควร สามารถนำไปใช้ได้ เช่น ในการประมูล แผนการลงคะแนนเสียง และอื่นๆ (ส่งกรณีการใช้งานที่คุณสนใจมาให้เรา!)

RESTful API

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

การสนับสนุนโอเพ่นซอร์ส

หากคุณสนใจ ที่จะเสนอแนวคิดเพิ่มเติมและแนะนำกรณีการใช้งานสำหรับ Cryptosat คุณสามารถเล่นกับซอร์สโค้ด Cryptosim ซึ่งมีอยู่ในGithub ของเรา ที่เก็บหลักคือcryptosim-tutorialแต่ ขึ้นอยู่กับชิ้นส่วนที่คุณต้องการปรับแต่ง คุณอาจต้องการตรวจสอบcryptosimและcryptosim-visualizationที่เก็บ

โดยใช้ดาวเทียม Cryptosat

โปรดจำไว้ว่าประเด็นทั้งหมดคือการเรียนรู้วิธีใช้ API จากนั้นใช้ดาวเทียม Cryptosat จริงและรับคำขอจากอวกาศ ติดต่อเราได้ที่[email protected]สำหรับข้อมูลเพิ่มเติมเกี่ยวกับวิธีผสานรวมกับระบบการผลิตของเรา ข้อมูลทางเทคนิค เพิ่มเติมเกี่ยวกับ Cryptosat และ API อยู่ในพอร์ทัลเอกสาร ของเรา