تم تصميم Zonkod ليكون بسيطًا وسريعًا وعالميًا. ولكن هناك الكثير من التكنولوجيا وراء ذلك. دعونا نتعمق!

انقسمت الأرض إلى 10000 سطح بدقة متقاربة. فكرة تقريبية عن كيفية عمل Zonkod.

قبل بضع سنوات، وأثناء سفري، حاولت إدخال الإحداثيات الجغرافية لمطعم في نظام الملاحة بسيارة فاخرة. ورغم كوني مهندساً حاصلاً على شهادة الدكتوراه، فقد عانيت لمدة خمس عشرة دقيقة دون جدوى.
في تلك اللحظة، أدركت أن هناك مشكلة حقيقية لم يتم حلها. آمل أن أكون قد تمكنت من تناول العشاء في ذلك المساء ؛)

كان هذا هو الحل الأمثل: رقم هاتف جغرافي: سهل الاتصال، عالمي، يتقنه كل شخص على وجه الأرض.
إلا أنه من الصعب للغاية تقسيم كرة إلى 100,000,000,000,000 سطح متطابق تمامًا. في الواقع، هذا مستحيل.

ثم جاءت الفكرة العظيمة الثانية: نسيان الأسطح المتطابقة والتركيز على ما يهم حقًا: الدقة.
اتخاذ موقع في مكان ما. قم بتشفير موضعه إلى رقم، ثم قم بفك تشفير هذا الرقم مرة أخرى إلى موقع جديد. الشيء الوحيد المهم هو أن هذين الموقعين ليسا متباعدين كثيرًا. الدقة للنظام بأكمله هي المسافة القصوى بينهما في أسوأ الحالات. هذا هو الشيء الوحيد الذي يهم!
كان لا بد أيضًا أن يكون بسيطًا ويمكن التعرف عليه من النظرة الأولى، ومن هنا جاءت الدقة الفردية والبادئة ZK:.

ومن القيود الأخرى سهولة التشفير وفك التشفير، وإمكانية التكرار الكاملة. يجب أن يعطي كل نظام (من جهاز إنترنت الأشياء المدمج الصغير إلى الهاتف المحمول أو جهاز الكمبيوتر المكتبي أو الحاسوب المركزي) نفس النتيجة تمامًا، دائمًا.
لكن دقة الحواسيب محدودة. في الحوسبة العلمية والتقنية، تستخدم ما يُسمى بالأعداد العشرية. وهي ضرورية أيضًا عند استخدام حساب المثلثات أو الدوال المعقدة الأخرى. لسوء الحظ، توجد أنظمة ولغات ومكتبات عديدة، تختلف فيما بينها اختلافًا طفيفًا. علاوة على ذلك، فإن أنظمة الأعداد العشرية إما بطيئة أو مكلفة أو كليهما.
لذا: لا حساب مثلثات، ولا حساب فاصلة عائمة، فقط حساب الأعداد الصحيحة، لأنه الحل الحتمي الوحيد.
استغرق تصميم هذا النظام وقتًا طويلاً، لكنه نجح في النهاية. والنتيجة المتاحة اليوم هي Zonkod. ويجري حاليًا تقديم طلب براءة اختراع لهذه التقنية. أحد أهدافها الرئيسية هو وضع معيار موحد من خلال ضمان وجود ZK: واحد فقط، مما ينهي أي نزاعات حول التنسيقات.
يمكننا حساب أفضل دقة نظرية ممكنة لطول عدد معين. بالنسبة لـ 14 رقمًا، تبلغ الدقة 1.5969 مليون. أما ترميز Zonkod فهو مثالي تقريبًا: تبلغ دقته 1.5988 مليون، أي 99.9% من الدقة المثلى. وهذا مهم لأنه يزيد من فائدة كل رقم.

تم تنفيذ Zonkod بالعديد من اللغات المختلفة، بما في ذلك C، وJavaScript، وWASM، وFORTRAN، وPython. جميعهم يعطون نفس النتائج بالضبط، حتى الرقم الأخير.
بل وتمت ترجمته إلى لغة كوبول، وهي لغة صُممت عام ١٩٥٩ لأغراض المحاسبة التجارية، ولم تكن مُصممة أصلًا للتعامل مع الحسابات الجيوديسية. ومع ذلك، فهو يعمل. إذا تم تشغيل {٠} في كوبول، فإنه يعمل في أي مكان.

السرعة والحجم الصغير مهمان أيضاً.
على Arduino Nano (8-bit ATmega328P، 16 ميجاهرتز)، يتطلب برنامج التشفير + فك التشفير الكامل (بما في ذلك الإدخال/الإخراج ومولد الأرقام العشوائية الزائفة) 11956 بايت من ذاكرة القراءة فقط و 192 بايت من ذاكرة الوصول العشوائي.
يستغرق الأمر رحلة ذهاب وإياب كاملة في 1.48 مللي ثانية في المتوسط. أما على الهاتف المحمول أو جهاز الكمبيوتر المكتبي، فيصل الوقت إلى أجزاء من النانو ثانية.
Zonkod يحول المشكلة الهندسية الصعبة إلى عملية عددية بسيطة. والنتيجة هي رمز موقع مضغوط بما يكفي لوحدة تحكم دقيقة 8 بت، وسريع بما يكفي للتشغيل على كل نظام، ودقيق بما يكفي للاستخدام اليومي، ومتطابق على كل جهاز على وجه الأرض. رقم واحد، معيار واحد، واحد ZK:.