অফলাইন পেমেন্ট সিস্টেমে কয়েকটি কঠিন সমস্যা একসঙ্গে আসে: অবিশ্বস্ত পরিবহন ব্যবস্থা, রিপ্লে আক্রমণ, একই সময়ে একাধিক ডেলিভারি এবং পরে চূড়ান্ত নিষ্পত্তি।
বার্তাবাহককে অবিশ্বস্ত ধরুন #
পেমেন্টের বার্তা বহনকারী ডিভাইসটিকে বিশ্বাস করার প্রয়োজন থাকা উচিত নয়। পেলোডে ডিজিটাল স্বাক্ষর দিন, সেই স্বাক্ষরের সঙ্গে পরিমাণ ও অংশগ্রহণকারীদের পরিচয় যুক্ত করুন এবং একটি nonce ও মেয়াদসীমা রাখুন। এনক্রিপশন গোপনীয়তা রক্ষা করে; স্বাক্ষর রক্ষা করে তথ্যের অখণ্ডতা এবং কে সেটি তৈরি করেছেন তার প্রমাণ।
নিষ্পত্তি হতে হবে আইডেমপোটেন্ট #
একই স্বাক্ষরিত পেমেন্ট একাধিক বার্তাবাহকের মাধ্যমে সার্ভারে পৌঁছাতে পারে। তাই নিষ্পত্তির সময় লেনদেনের পরিচয় অনন্য কি না, তা অ্যাটমিকভাবে পরীক্ষা করা দরকার। প্রথম বৈধ জমাটি কার্যকর হবে; পরের অনুলিপিগুলো একই ফল পাবে, কিন্তু দ্বিতীয়বার অর্থ সরাবে না।
অফলাইন মানে সীমাহীন নয় #
ঝুঁকি নিয়ন্ত্রণ তখনও জরুরি। কম মেয়াদ, নির্দিষ্ট ডিভাইসের সঙ্গে বাঁধা key এবং সতর্কভাবে নির্ধারিত অফলাইন সীমা—সংযোগ ফিরে আসা পর্যন্ত ঝুঁকি কমায়।
বড় শিক্ষাটি পেমেন্টের বাইরেও কাজে লাগে: আক্রমণকারী কী কপি করতে, দেরি করাতে, ক্রম পাল্টাতে এবং আবার পাঠাতে পারে, তা মাথায় রেখেই প্রোটোকল ডিজাইন করুন।