
Ushbu tadqiqot elektr transport vositasini quvvatlash seansi oxirida yaratilgan kvitansiyani shunchaki ma’lumotlar bazasi yozuvi sifatida saqlash o‘rniga, uning keyinchalik o‘zgartirilganini mustaqil ravishda aniqlash imkonini beradigan Proof-of-Charge nomli tekshiriladigan qayd platformasini ishlab chiqadi. Tizim quvvatlash seansini deterministik kvitansiyaga aylantiradi, kvitansiya mazmunini SHA-256 bilan xeshlaydi, vaqt bo‘yicha tartiblangan hisoblagich o‘lchovlarini Merkle ildizi bilan bog‘laydi va ko‘plab kvitansiyalarni bitta Merkle batch ildizi ostida birlashtirib, blockchain’ga faqat shu ixcham majburiyatni qayd etadi. Batafsil quvvatlash va hisob-kitob ma’lumotlari esa zanjirdan tashqarida PostgreSQL’da saqlanadi.
Prototip FastAPI, PostgreSQL, Python, Solidity va mahalliy Ethereum-mos Anvil ishlab chiqish zanjiri yordamida amalga oshirilgan. 10, 50, 100, 500 va 1000 kvitansiyalik ish yuklarining har biri o‘n martadan o‘lchangan; jami 50 o‘lchovli ishning barchasida so‘ralgan, yaratilgan, saqlangan, batch’ga olingan, tasdiqlangan va eksport qilingan kvitansiya identifikatorlari o‘zaro muvofiqlashtirilgan; batch ildizi tekshiruvlari va mahalliy blockchain taqqoslashlari muvaffaqiyatli bo‘lgan. O‘rtacha kvitansiyani qayta ishlash kechikishi sinovdan o‘tkazilgan ish yuklarida 7,152–7,853 ms/kvitansiya, o‘rtacha throughput esa 127,54–141,23 kvitansiya/s oralig‘ida qayd etilgan.
Tadqiqotning e’tiborga molik jihatlaridan biri blockchain’dan butun quvvatlash yozuvini saqlash uchun emas, balki tashqaridan taqqoslash mumkin bo‘lgan kichik yaxlitlik nazorat nuqtasi sifatida foydalanilishidir. Quvvatlash stansiyasi identifikatori, foydalanuvchi ma’lumoti, hisoblagich namunalari, narxlash va settlement tafsilotlari zanjirdan tashqarida qoladi, ko‘plab kvitansiyalarning yagona batch ildizi esa bitta blockchain tranzaksiyasi bilan ifodalanishi mumkin. Mahalliy tajribalarda 10 kvitansiya uchun batch’ni ankarlash amali 143.329 gas birligini sarflagan bo‘lsa, 1000 kvitansiya uchun 143.365 gas birligini sarflagan; bu yaqinlik zanjirga kvitansiyalarning o‘zi emas, balki o‘lchami qat’iy bo‘lgan ildiz yuborilishi bilan izohlanadi.
Shu bilan birga, tizim qayd etilgan ma’lumotning keyinchalik o‘zgartirilishini ko‘rinadigan qilishni maqsad qiladi; u dastlabki ishonchli kriptografik majburiyat yaratilishidan oldin noto‘g‘ri hosil qilingan, soxta yoki umuman tizimga yuborilmagan quvvatlash hodisasining haqiqiyligini isbotlamaydi. Tadqiqotda haqiqiy quvvatlagich imzosi, hisoblagich darajasidagi raqamli imzo, sertifikat zanjiri, ishonchli vaqt tamg‘asi, kalitning hayotiy sikli, ommaviy blockchain tarmog‘idagi finality yoki haqiqiy OCPP/OCPI operatsion ma’lumotlari qo‘llanmagan. Shu sababli Proof-of-Charge manba ma’lumotining jismonan to‘g‘riligini kafolatlaydigan o‘lchov tizimi emas; u yozuv yaratilgandan keyingi yaxlitlik va izchillikni tekshirish mumkin qiladigan prototipdir.
Turkiya nuqtai nazaridan izoh: Arxitektura konseptual jihatdan Turkiyadagi elektr transport vositalarini quvvatlash platformalarida ham ko‘rib chiqilishi mumkin bo‘lgan umumiy qayd va audit yondashuvidir; biroq tadqiqotda Turkiyadagi quvvatlash operatorlari, mahalliy hisoblagich infratuzilmasi, haqiqiy quvvatlash protokollari, to‘lov va hisob-kitob tizimlari yoki mahalliy operatsion sharoitlar sinovdan o‘tkazilmagan. Bundan tashqari, qayd etilgan kechikish, throughput va blockchain tranzaksiya qiymatlari Turkiyadagi ishlab chiqarish infratuzilmasiga bevosita ko‘chirilmaydi. Haqiqiy foydalanish uchun mahalliy quvvatlash qurilmalari, haqiqiy hisoblagich ma’lumotlari, identifikatsiya va kalitlarni boshqarish, tarmoq infratuzilmasi, ma’lumotlar bazasi miqyosi va operatsion hisob-kitob jarayonlari bo‘yicha alohida tekshiruv talab etiladi.
Tadqiqotning asosiy muammosi nima?
Elektr transport vositasini quvvatlash faqat avtomobil batareyasiga energiya berishdan iborat emas. Ommaviy quvvatlash seansida haydovchi, quvvatlash nuqtasi operatori, e-mobilitet xizmat ko‘rsatuvchisi, roaming platformasi, to‘lov provayderi va boshqa energiya tizimi ishtirokchilari bir xil raqamli qayd zanjirida qatnashishi mumkin. Hisoblagich ko‘rsatkichlari, vaqt tamg‘alari, tariflar, tranzaksiya identifikatorlari va yakuniy hisob-faktura keyinchalik to‘lov nizosi yoki audit uchun qayta ko‘rib chiqilishi kerak bo‘lishi mumkin.
Tadqiqot ko‘zlagan muammo shunday: ma’lumotlar bazasidagi yakuniy kvitansiya, kvitansiya yaratilishida ishlatilgan vaqt bo‘yicha tartiblangan hisoblagich ma’lumotlari bilan haqiqatan ham o‘sha bir yozuvga bog‘liq qolganini va keyinchalik o‘zgartirilmaganini qanday qilib mustaqil ravishda tekshirish mumkin?
OCPP va OCPI kabi protokollar quvvatlash infratuzilmasi bilan backend yoki turli xizmat provayderlari o‘rtasida ma’lumot almashinuvini qo‘llab-quvvatlaydi. Biroq tadqiqotchilar ta’kidlagan bo‘shliq shundan iboratki, ma’lumot uzatishning o‘zi uzoq muddatli kvitansiya yaxlitligini isbotlaydigan mustaqil tekshirish mexanizmi emas.
Proof-of-Charge nimani anglatadi?
Ushbu tadqiqotda Proof-of-Charge bitta hash qiymatidan kengroq tushunchadir. Atama yakunlangan EV quvvatlash kvitansiyasini vaqt bo‘yicha tartiblangan hisoblagich yozuvlari, batch a’zoligi va blockchain’ga ankarlangan kriptografik majburiyat bilan bog‘laydigan butun tekshirish zanjirini anglatadi.
Asosiy oqim quyidagicha:
Proof-of-Charge tekshirish zanjiri
| Bosqich | Tavsif | Manba |
|---|---|---|
| 1. Quvvatlash seansi | Seans identifikatori, EVSE, vaqt tamg‘alari, hisoblagich qiymatlari, narx va seans turi olinadi. | Shakl 1; Bo‘lim 3–4 |
| 2. Kanonik kvitansiya | Ma’lumotlar belgilangan poc-c14n-v1 qoidalari bo‘yicha deterministik kvitansiya tuzilmasiga aylantiriladi. | Bo‘lim 4.2 |
| 3. Hisoblagich Merkle ildizi | Vaqt bo‘yicha tartiblangan hisoblagich namunalari hash qilinib, seansga tegishli meter-stream Merkle root hosil qilinadi. | Bo‘lim 4.5 |
| 4. Kvitansiya hash’i | Kanonik kvitansiya SHA-256 bilan xeshlanib, kvitansiya yaxlitligi majburiyati yaratiladi. | Bo‘lim 4.4 |
| 5. PostgreSQL yozuvi | Seans, hisoblagich qiymatlari, kvitansiya, a’zolik va tekshirish ma’lumotlari zanjirdan tashqarida saqlanadi. | Bo‘lim 3 va 5 |
| 6. Batch Merkle ildizi | Bir nechta kvitansiya hash’i poc-batch-merkle-v1 profili bilan bitta batch ildiziga bog‘lanadi. | Bo‘lim 4.6 |
| 7. Blockchain’ga ankarlash | Batch ildizi mahalliy Anvil zanjiridagi Solidity shartnomasiga yuboriladi. | Bo‘lim 5–7 |
| 8. Qatlamli tekshirish | Kvitansiya, hisoblagich oqimi, ma’lumotlar bazasi, batch a’zoligi va blockchain ildizi mustaqil qayta hisoblashlar bilan taqqoslanadi. | Shakl 2; Bo‘lim 4.7–4.9 |
Tadqiqot arxitekturasi va tekshirish oqimiga asoslanib Verianla uchun tayyorlangan izohli jarayon ko‘rinishi. Manbada bo‘lmagan yangi jarayon bosqichi qo‘shilmagan.
Nega barcha yozuvlar to‘g‘ridan-to‘g‘ri blockchain’ga yozilmaydi?
Tadqiqotchilar blockchain’ni ilova ma’lumotlar bazasi o‘rniga qo‘ymaydi. To‘liq quvvatlash seansida foydalanuvchi va EVSE identifikatorlari, hisoblagich namunalari, vaqt tamg‘alari, tarif tafsilotlari va settlement qiymatlari bo‘lishi mumkin. Bu tafsilotlarning barchasini zanjirda saqlash saqlash yukini va tranzaksiya xarajatini oshirishi, shuningdek, sezgir ma’lumotlarning keraksiz ravishda oshkor bo‘lishiga olib kelishi mumkin.
Shu sababli platforma gibrid tuzilmani qo‘llaydi:
- Off-chain: To‘liq seans yozuvlari, hisoblagich qiymatlari, kvitansiyalar, batch a’zoliklari va tekshirish tarixi PostgreSQL’da saqlanadi.
- On-chain: Faqat ko‘plab kvitansiyalarni ifodalovchi ixcham batch Merkle ildizi saqlanadi.
Bu yerda blockchain “butun haqiqatni saqlovchi ma’lumotlar bazasi” emas, balki keyinchalik mahalliy yozuv bilan taqqoslash mumkin bo‘lgan tashqi kriptografik referensdir.
Kanonik kvitansiya nega kerak?
Kriptografik hash hisoblashda bir xil ilmiy yoki tijoriy ma’noga ega bo‘lgan ikki JSON hujjati bayt darajasida farq qilsa, turli hash qiymatlarini hosil qiladi. Kalitlar tartibi, Unicode shakli, vaqt zonasi yozuvi, raqamlarni yaxlitlash usuli yoki keraksiz bo‘shliqlar o‘zgarsa, hash ham o‘zgarishi mumkin. Tadqiqotchilar ushbu muammoning oldini olish uchun poc-c14n-v1 deb nomlangan ochiq kanoniklashtirish profilini belgilagan.
Profilga ko‘ra yangi kvitansiyalar ixcham UTF-8 JSON sifatida serializatsiya qilinadi; obyekt kalitlari Unicode kod nuqtasi bo‘yicha tartiblanadi, massiv tartibi ma’noli deb hisoblanadi, matnlar Unicode NFC ga normallashtiriladi, vaqt tamg‘alari UTC formatiga o‘tkaziladi va energiya/narx/settlement miqdorlari ROUND_HALF_UP usuli bilan uch o‘nlik xonali satrlar ko‘rinishida ifodalanadi. Manfiy nol 0.000 ga aylantiriladi.
Majburiy maydon yetishmasa, null qiymat bo‘lsa, ortiqcha maydon mavjud bo‘lsa, vaqt zonasi ko‘rsatilmagan timestamp, chekli bo‘lmagan son, duplicate JSON kaliti, noma’lum profil yoki qo‘llab-quvvatlanmaydigan algoritm holatida jarayon “fail closed” tamoyili asosida ishlash uchun loyihalangan.
Tadqiqotchilar Python 3.13.3 va Node.js v23.10 implementatsiyalari belgilangan muvofiqlik vektori uchun bir xil UTF-8 bayt ketma-ketligi va bir xil SHA-256 natijasini hosil qilganini bildirmoqda. Bu test faqat tekshirilgan Python–JavaScript juftligini tasdiqlaydi; u har bir dasturlash tili yoki har bir JSON serializatori uchun universal o‘zaro ishlash isboti emas.
Quvvatlash seansi matematik jihatdan qanday ifodalanadi?
Tadqiqotda quvvatlash seansi quyidagi umumiy tuzilma bilan belgilanadi:
\[ S=\{sid,uid,evse,tx,t_s,t_e,M,P,type\} \]
Bu yerda sid seans identifikatori, uid foydalanuvchi identifikatori, evse quvvatlash nuqtasi identifikatori, tx tranzaksiya identifikatori, \(t_s\) va \(t_e\) boshlanish/tugash vaqtlari, \(M\) tartiblangan hisoblagich ma’lumotlari, \(P\) narxlash tuzilmasi, type esa seans faqat quvvatlash, faqat razryadlash yoki ikki yo‘nalishli ekanini bildiradi.
Hisoblagich oqimi:
\[ M=\{m_1,m_2,\ldots,m_n\} \]
ko‘rinishidadir. Har bir \(m_i\) vaqt tamg‘asi va energiyaga oid o‘lchovlarni o‘z ichiga oladi.
V2G uchun energiya hisobi qanday modellashtirilgan?
Kvitansiya nafaqat avtomobilga uzatilgan energiyani, balki avtomobildan qaytarilgan energiyani ham ifodalashi mumkin. Energiya xulosasi:
\[ E=\{E_{\mathrm{import}},E_{\mathrm{export}},E_{\mathrm{net}}\} \]
sifatida belgilanadi va asosiy invariant:
\[ E_{\mathrm{net}}= E_{\mathrm{import}}-E_{\mathrm{export}} \]
ko‘rinishidadir. Faqat quvvatlash seansida export nolga teng. Faqat razryadlash seansida net energiya manfiy bo‘lishi mumkin. Ikki yo‘nalishli seansda bir xil kvitansiya ham import qilingan, ham qaytarilgan energiyani o‘z ichiga olishi mumkin.
Settlement uchun manba matnida yalpi import xarajati \(C_{\mathrm{import}}\), yalpi eksport krediti \(C_{\mathrm{export}}\) va net summa \(C_{\mathrm{net}}\) belgilanadi va:
\[ C_{\mathrm{net}}= C_{\mathrm{import}}-C_{\mathrm{export}} \]
munosabati qo‘llanadi.
Manba notatsiyasi bo‘yicha ogohlantirish: Tadqiqotning 4.3-bo‘limida bu xarajat maydonlari izohlanayotganda Tenglama (6) energiya o‘zgaruvchilarini qayta yozadi. Shu sababli Tenglama (6) dagi ifoda bilan uning darhol ostidagi xarajat izohi o‘rtasida manba ichki notatsiya nomuvofiqligi mavjud. Verianla bu ifodani yashirin ravishda o‘zgartirmaydi.
Kvitansiya hash’i nimani himoya qiladi?
Kanonik kvitansiya \(R\) yaratilgach:
\[ h_R=H(R) \]
hisoblanadi. Prototipda \(H\) — SHA-256. Kvitansiyadagi vaqt tamg‘asi, energiya miqdori, narx maydoni, identifikator yoki hisoblagich Merkle ildizi o‘zgarsa, qayta hisoblangan hash ham farq qiladi.
Bu mexanizm “kvitansiyadagi ma’lumot jismoniy dunyoda to‘g‘ri” ekanini isbotlamaydi. Isbotlanadigan narsa — muayyan kanonik mazmun hash yaratilganidan keyin o‘zgartirilgan yoki o‘zgartirilmaganidir.
Nega hisoblagich ma’lumotlari uchun alohida Merkle ildizi mavjud?
Faqat yakuniy energiya yig‘indisini hash qilish, o‘sha natijaga olib kelgan o‘lchovlar ketma-ketligini bevosita bog‘lamaydi. Shu sababli avval har bir hisoblagich namunasi hash qilinadi:
\[ h_i=H(m_i) \]
va so‘ng:
\[ root_M= MerkleRoot(h_1,h_2,\ldots,h_n) \]
hisoblanadi. Hisoblagich yozuvining o‘zgartirilishi, o‘chirilishi, qayta tartiblanishi yoki keyinchalik orasiga boshqa namuna qo‘shilishi qayta hisoblangan ildizni o‘zgartirishi mumkin.
Namunalar timestamp bo‘yicha tartiblanadi, import va export esa kWh da jamlanma yo‘nalishli hisoblagichlar sifatida ko‘rib chiqiladi. Qiymatlar 0,001 kWh aniqlikkacha yaxlitlanadi va kamayuvchi jamlanma hisoblagich qiymati mumkin bo‘lgan reset yoki ma’lumot buzilishi sifatida qabul qilinib rad etiladi.
Shunga qaramay, prototip yo‘qolgan hisoblagich namunasini taxmin qilmaydi, hisoblagich resetini avtomatik tuzatmaydi, soat siljishini to‘g‘rilamaydi va manba ko‘rsatmagan birlikni o‘zgartirmaydi. Eng muhimi, agar hisoblagich namunasi tizimga ilk ishonchli majburiyatdan oldin umuman yuborilmagan bo‘lsa, faqat Merkle daraxtining o‘zi uning yo‘qligini mustaqil ravishda bila olmaydi.
Nega batch Merkle ildizi ikkinchi marta ishlatiladi?
Birinchi Merkle daraxti bitta seansning hisoblagich ketma-ketligini ifodalasa, ikkinchi Merkle daraxti ko‘plab kvitansiyalarni ifodalaydi:
\[ B=\{h_{R1},h_{R2},\ldots,h_{Rk}\} \]
va:
\[ root_B= MerkleRoot(h_{R1},h_{R2},\ldots,h_{Rk}) \]
olinadi. Blockchain’ga har bir kvitansiya uchun alohida tranzaksiya yuborish o‘rniga faqat \(root_B\) yuboriladi.
Yangi batch’larda poc-batch-merkle-v1 profili qo‘llanadi. Profil UTC batch kunini, vaqt oralig‘ini, tartiblash qoidasini, barglar sonini va Merkle daraxtini yaratish kontekstini majburiyatga bog‘laydi. Yozuvlar normallashtirilgan UTC boshlanish vaqti, NFC normallashtirilgan seans identifikatori va kvitansiya hash baytlari bo‘yicha deterministik tarzda tartiblanadi.
Profil duplicate session ID, duplicate receipt hash, duplicate leaf encoding, buzilgan hash va yaroqsiz indekslarni rad etadi. Merkle darajasida tugunlar soni toq bo‘lsa, oxirgi tugun o‘zi bilan juftlanadi.
Kvitansiyaning batch ichida ekanini qanday isbotlaydi?
Tizim butun batch’ni ulashmasdan turib, bitta kvitansiyaning batch a’zoligini tekshirish mumkin bo‘lgan mustaqil JSON membership proof yaratadi. 1000 bargli deterministik namunada tadqiqotchilar:
- Merkle daraxti chuqurligini 10,
- qo‘shni hashlar sonini 10,
- serializatsiya qilingan JSON proof hajmini 2064 byte,
- proof yaratish vaqtini taxminan 0,060 ms,
- proof tekshirish vaqtini taxminan 0,057 ms
deb bildirgan. Bu vaqtlar ayni mahalliy tajriba muhitidagi diagnostik o‘lchovlardir va umumiy maqsadli blockchain proof ishlashi sifatida talqin qilinmasligi kerak.
Nega tekshirish qatlamli?
Bitta hash tekshiruvi ma’lumotlar bazasidagi har bir nomuvofiqlik turini bir xil aniqlikda lokalizatsiya qila olmaydi. Shu sababli tadqiqot beshta bir-birini to‘ldiruvchi nazorat sathidan foydalanadi:
- Kvitansiyani tekshirish: Kanonik JSON qayta hash qilinadi.
- Hisoblagichni tekshirish: Normallashtirilgan hisoblagich qatorlaridan meter Merkle root qayta hisoblanadi.
- Ma’lumotlar bazasi auditi: Seansdan qayta yaratilgan kvitansiya, saqlangan JSON va normallashtirilgan ustunlar taqqoslanadi.
- Batch tekshiruvi: A’zolik snapshot’i va batch root qayta hisoblanadi.
- On-chain tekshiruvi: Mahalliy batch root blockchain shartnomasidan o‘qilgan ildiz bilan taqqoslanadi.
Bu tuzilma faqat “tekshirish muvaffaqiyatsiz” deyish o‘rniga buzilish qaysi yozuv qatlamida yuzaga kelganini aniqlashga yordam beradi.
Blockchain qaysi xavfsizlik xususiyatlarini ta’minlamaydi?
Tadqiqotchilar blockchain’ning qamrovini ataylab cheklaydi. Mavjud prototipda mazmun yaxlitligi, hisoblagichni qayta hisoblash, batch tekshiruvi, database audit va zanjirdagi ildizni taqqoslash amalga oshirilgan. Biroq identifikatsiya va manbaning haqiqiyligi ishlab chiqarish bosqichiga qoldirilgan.
Haqiqiy joriy etish uchun manba raqamli imzolar, sertifikat zanjirlari, ishonchli kalit boshqaruvi, revocation, trusted timestamp, vakolatli publisher nazorati, replay himoyasi, contract governance, maxfiylik mexanizmlari va tashqi authoritative session registry bilan muvofiqlashtirish kabi qo‘shimcha nazoratlarni tavsiya qiladi.
Shuning uchun “blockchain’da mavjud” bilan “o‘lchov mutlaqo haqiqiy” bir xil ilmiy da’vo emas.
Tadqiqot nimani aytadi, nimani aytmaydi?
Tadqiqot qo‘llab-quvvatlaydigan natijalar:
- Deterministik EV quvvatlash kvitansiyasini yaratish va qayta hash tekshiruvi amalga oshirilgan.
- Vaqt bo‘yicha tartiblangan hisoblagich yozuvlarini seans darajasida Merkle ildizi bilan majburiyatga bog‘lash mumkinligi ko‘rsatilgan.
- Kvitansiyalar batch Merkle ildizi ostida jamlanib, bitta blockchain tranzaksiyasi bilan ifodalanishi mumkin bo‘lgan.
- 10–1000 kvitansiyalik jami 50 o‘lchovli takrorning barchasida belgilangan correctness tekshiruvlari muvaffaqiyatli o‘tgan.
- Yetti nazoratli post-finalization nomuvofiqligining barchasi oldindan belgilangan tegishli tekshirish qatlamlarida aniqlangan.
- Charge-only, discharge-only va bidirectional sintetik yozuvlar bir xil asosiy kvitansiya/tekshirish arxitekturasi bilan ifodalangan.
Tadqiqot qo‘llab-quvvatlamaydigan yoki sinovdan o‘tkazmagan natijalar:
- Haqiqiy quvvatlash stansiyasidan kelgan ma’lumot jismonan to‘g‘ri ekanini isbotlamaydi.
- Ilk kriptografik majburiyatdan oldin uydirilgan yoki umuman qayd etilmagan seansni avtomatik aniqlamaydi.
- Haqiqiy OCPP yoki OCPI ishlab chiqarish tizimida sinovdan o‘tkazilmagan.
- Jonli V2G quvvatlagichi yoki energiya bozori settlement’i sinovdan o‘tkazilmagan.
- Ommaviy Ethereum/EVM tarmog‘idagi kechikish, fee yoki finality ishlashini o‘lchamaydi.
- Digital signature, PKI, issuer authentication yoki trusted timestamp’ni qo‘llamaydi.
- Natijalarni bitta Apple M1 Max tajriba muhitidan boshqa apparatlarga bevosita umumlashtirib bo‘lmaydi.
- Mahalliy Anvil gas to‘lovlaridan haqiqiy tarmoq xarajati sifatida foydalanib bo‘lmaydi.
Tadqiqot usuli va natijalari
Tajriba muhiti
| Komponent | Manbada ishlatilgan muhit |
|---|---|
| Kompyuter | Apple M1 Max |
| CPU | 10 jismoniy / 10 mantiqiy yadro |
| Xotira | 32 GB RAM |
| Operatsion tizim | macOS 26.5.2 |
| Python | 3.13.3 |
| PostgreSQL | 16.14, Docker konteyneri |
| Blockchain ishlab chiqish muhiti | Anvil/cast 1.7.1 |
| Chain ID | 31337 |
| O‘lchovli takror | Har bir ish yuki uchun 10 |
| Seed | 42–51 |
| Ish yuklari | 10, 50, 100, 500 va 1000 kvitansiya |
Har bir ish yuki uchun bitta warm-up bajarilgan va undan so‘ng o‘nta o‘lchovli takror o‘tkazilgan. Jami 50 o‘lchovli workload–seed kombinatsiyasi orchestration seed 20260801 yordamida tasodifiy tartibga keltirilgan. Tadqiqot hech bir kuzatuvni outlier sifatida chiqarib tashlamagan.
Kvitansiyani qayta ishlash samaradorligi
Kvitansiyalar soniga ko‘ra o‘rtacha pipeline kechikishi
| Kvitansiyalar soni | O‘rtacha kechikish (ms/kvitansiya) | Manba | Izoh |
|---|---|---|---|
| 10 | 7,766 | Jadval 7 | 10 o‘lchovli takror |
| 50 | 7,152 | Jadval 7 | 10 o‘lchovli takror |
| 100 | 7,341 | Jadval 7 | 10 o‘lchovli takror |
| 500 | 7,198 | Jadval 7 | 10 o‘lchovli takror |
| 1000 | 7,853 | Jadval 7 | 10 o‘lchovli takror |
Verianla Live: Vizualizatsiya ushbu maqoladagi ko‘rinadigan ilmiy ma’lumotlar jadvalidan brauzerda yaratiladi. Jadval ilmiy source-of-truth sifatida saqlanadi. Qiymatlar tadqiqotning Jadval 7 dagi o‘lchovlaridir.
| Kvitansiya | O‘rtacha ± SS (ms/kvitansiya) | %95 ishonch oralig‘i (ms) | p50 / p95 / p99 (ms) | Throughput (kvitansiya/s) | To‘g‘rilik tekshiruvlari |
|---|---|---|---|---|---|
| 10 | 7,766 ± 0,566 | 7,362–8,171 | 7,704 / 9,973 / 11,032 | 129,41 | 10/10 muvaffaqiyatli |
| 50 | 7,152 ± 0,793 | 6,585–7,719 | 6,825 / 9,420 / 11,329 | 141,23 | 10/10 muvaffaqiyatli |
| 100 | 7,341 ± 0,655 | 6,873–7,810 | 7,024 / 9,635 / 11,381 | 137,17 | 10/10 muvaffaqiyatli |
| 500 | 7,198 ± 0,382 | 6,925–7,471 | 6,693 / 10,695 / 13,839 | 139,28 | 10/10 muvaffaqiyatli |
| 1000 | 7,853 ± 0,331 | 7,616–8,090 | 7,135 / 12,033 / 15,076 | 127,54 | 10/10 muvaffaqiyatli |
O‘rtacha kechikishlar ish yuki ortishi bilan bir yo‘nalishda monoton oshmagan. Ishonch oraliqlari sezilarli darajada ustma-ust tushgani sababli tadqiqot, masalan, 50 kvitansiya 100 kvitansiyadan intrinsik tarzda tezroq degan xulosani chiqarmaydi. Torroq talqin shuki, sinovdan o‘tkazilgan yagona mahalliy muhitda kvitansiya boshiga o‘rtacha pipeline kechikishi taxminan bir xil diapazonda qolgan.
Tail kechikishi esa aniqroq xulq ko‘rsatgan. 1000 kvitansiyalik ish yukida p99 kechikishi 15,076 ms ga ko‘tarilgan, 10 kvitansiyalik ish yukida esa 11,032 ms bo‘lgan. Shuning uchun faqat o‘rtacha qiymatga qarash katta ish yuklaridagi tail latency xatti-harakatini to‘liq ko‘rsatmaydi.
Pipeline’da asosiy vaqtni nima sarflaydi?
1000 kvitansiyalik ish yukida bosqichlarga ajratilgan o‘rtacha vaqtlar quyidagicha:
| Jarayon bosqichi | O‘rtacha vaqt | Miqyos |
|---|---|---|
| Kvitansiya yaratish | 0,180 ms | Kvitansiya boshiga |
| Meter Merkle yaratish | 0,025 ms | Kvitansiya boshiga |
| PostgreSQL persistence | 7,156 ms | Kvitansiya boshiga |
| Batch Merkle yaratish | 11,684 ms | Batch boshiga |
| To‘liq batch tekshiruvi | 189,122 ms | Batch boshiga |
| Mahalliy chain send | 29,065 ms | Batch tranzaksiyasi |
| Transaction receipt so‘rovi | 21,723 ms | Batch tranzaksiyasi |
| Chain read tekshiruvi | 26,654 ms | Batch tranzaksiyasi |
Tadqiqot implementatsiyasida ustun kvitansiya-pipeline komponenti PostgreSQL persistence bo‘lgan. Kvitansiya yaratish va hisoblagich Merkle hisoblash vaqtlari buning yonida juda kichik. Tadqiqotchilar yaxshiroq natija ko‘rsatish maqsadida mavjud per-receipt persistence yo‘lini bulk insert bilan almashtirmagan.
Blockchain batch ankarlashi qanday miqyoslandi?
| Batch ichidagi kvitansiya | Chain root mosligi | Gas sarfi (gas birligi) | Tranzaksiya to‘lovi (wei) |
|---|---|---|---|
| 10 | Muvaffaqiyatli | 143.329 | 9.025.384.417.958 |
| 50 | Muvaffaqiyatli | 143.329 | 7.907.991.390.629 |
| 100 | Muvaffaqiyatli | 143.341 | 6.929.518.052.149 |
| 250 | Muvaffaqiyatli | 143.341 | 6.071.605.682.934 |
| 500 | Muvaffaqiyatli | 143.353 | 5.320.353.068.450 |
| 1000 | Muvaffaqiyatli | 143.365 | 4.662.055.038.065 |
Gas sarfi 10 dan 1000 kvitansiyagacha juda oz miqdorda o‘zgargan. Buning sababi Solidity shartnomasiga barcha kvitansiyalar emas, balki bitta qat’iy o‘lchamli Merkle batch ildizi va tegishli metadata yuborilishidir.
Jadvaldagi wei qiymatlarining ish yuki oshgani sari pasayishi “katta batch blockchain’da mutlaq ma’noda arzonroq” deb talqin qilinmasligi kerak; transaction fee gas sarfi bilan o‘sha mahalliy tranzaksiyadagi effective gas price ko‘paytmasiga bog‘liq. Bundan tashqari, bu tajribalar avtomatik mining ishlatadigan mahalliy Anvil zanjirida o‘tkazilgan. Qiymatlar haqiqiy Ethereum, Layer-2 yoki boshqa ommaviy tarmoqlarning to‘lovlari emas.
Tadqiqotning batch yondashuvidagi asosiy miqyoslash munosabati:
\[ C_{\mathrm{session}} = \frac{C_{\mathrm{tx}}}{N_{\mathrm{receipts}}} \]
ko‘rinishidadir. Bir xil batch tranzaksiyasi ko‘proq kvitansiyani qamrasa, tranzaksiya boshiga emas, qamrab olingan kvitansiya boshiga samarali ankarlash xarajati kamayadi.
Yetti nazoratli ma’lumot o‘zgartirish testi nimani ko‘rsatdi?
| Ssenariy | O‘zgartirilgan obyekt | Aniqlovchi asosiy qatlam | Natija |
|---|---|---|---|
| T1 | Kvitansiya JSON energiya maydoni | Receipt hash + database audit | Kutilgan mismatch yuz berdi |
| T2 | Normallashtirilgan import hisoblagich qiymati | Meter stream + database audit | Kutilgan mismatch yuz berdi |
| T3 | Normallashtirilgan hisoblagich qatorining o‘chirilishi | Meter stream + database audit | Kutilgan mismatch yuz berdi |
| T4 | Normallashtirilgan kvitansiya ildizi ustuni | Database audit | Kutilgan mismatch yuz berdi |
| T5 | Batch a’zoligining olib tashlanishi | Batch verification | Kutilgan mismatch yuz berdi |
| T6 | Saqlangan batch root | Batch verification + on-chain comparison | Kutilgan mismatch yuz berdi |
| T7 | Alternativ tashqi blockchain root | On-chain comparison | Kutilgan mismatch yuz berdi |
Yetti ssenariyning barchasi oldindan belgilangan xatti-harakatni ko‘rsatgan va har bir ssenariydan so‘ng savepoint rollback yordamida ma’lumotlar bazasi asl holatiga qaytarilgan. T7 testida haqiqiy Anvil tranzaksiyasi buzilmagan; tekshiruvchiga nazorat ostida alternativ external root berilib, taqqoslash qatlami sinovdan o‘tkazilgan.
Bu tajriba hujumni aniqlash ehtimoli yoki haqiqiy hujumchilarga qarshi xavfsizlik darajasini o‘lchamaydi. Maqsad turli yozuv sathlari o‘zgartirilganda qaysi yaxlitlik qatlami nomuvofiqlikni aniqlashini tajribaviy ko‘rsatishdir.
V2G-ready qo‘llab-quvvatlashi qanchalik haqiqiy?
Prototip charge-only, discharge-only va bidirectional sintetik seanslarni bir xil kvitansiya sxemasi ichida qayta ishlay oladi. Import qilingan energiya, eksport qilingan energiya, net energiya, import xarajati, export krediti va net settlement summasi alohida maydonlardir.
Biroq tadqiqot haqiqiy ikki yo‘nalishli quvvatlash qurilmasiga ulanmagan, batareya degradatsiyasini modellashtirmagan, aggregator xatti-harakatini o‘rganmagan, energiya bozorini simulyatsiya qilmagan va haqiqiy grid xizmatini bajarmagan. Shuning uchun “V2G-ready” ifodasi ushbu tadqiqotda asosan ma’lumot modeli va settlement qayd tuzilmasining ikki yo‘nalishli energiyaga tayyorligini anglatadi.
Manba va usul haqida izoh
To‘liq original tadqiqot nomi: A Reproducible Blockchain-Anchored Proof-of-Charge Platform for Auditable EV Charging Receipts
Mualliflar va tartibi: Nexhibe Sejfuli-Ramadani; Valentina Angelkoska; Florim Idrizi; Valentin Rakovic; Erenis Ramadani; Aleksandar Risteski.
Mas’ul muallif: Aleksandar Risteski.
Teng hissa/teng birinchi muallif: Manbada ko‘rsatilmagan.
Muassasalar:
- Faculty of Natural Sciences and Mathematics, University of Tetova, Tetovo, North Macedonia.
- Faculty of Economics, University of Skopje, Skopje, North Macedonia.
- Faculty of Electrical Engineering and Information Technologies, Ss. Cyril and Methodius University, Skopje, North Macedonia.
- Tarmac LLC, Skopje, North Macedonia.
Jurnal: Future Internet
Nashriyot: MDPI, Basel, Switzerland
Jild / son / maqola: 18 / 8 / 423
Qabul qilingan sana: 6 Iyul 2026
Qayta ko‘rib chiqilgan sana: 2 Avgust 2026
Qabul qilingan sana: 8 Avgust 2026
Nashr sanasi: 10 Avgust 2026
DOI: 10.3390/fi18080423
Rasmiy nashr havolasi:https://doi.org/10.3390/fi18080423
Manba turi: Tadqiqot maqolasi; amalga oshirilgan dasturiy prototip va nazoratli hisoblash samaradorligi baholashi.
Taqriz holati: Taqrizli jurnalda chop etilgan maqola.
Litsenziya: Creative Commons Attribution (CC BY).
Moliyalashtirish: Tadqiqot tashqi moliyalashtirish olmagan.
Ma’lumotlarning mavjudligi: Tadqiqotda haqiqiy EV quvvatlash foydalanuvchisi ma’lumotlari emas, sintetik ma’lumotlar ishlatilgan. Manba maqolada kod, sintetik ma’lumot yaratish skriptlari, tajriba ish oqimlari, yaratilgan ma’lumotlar to‘plamlari, xom vaqt o‘lchovlari, run-level metrikalar, statistik xulosalar, shakllar, canonicalization test vektorlari, membership proof’lar, tamper-matrix chiqishlari va provenance manifestlari loyiha repozitoriyasida ommaga ochiq ekani bildiriladi. Maqoladagi kirish sanasi 7 Avgust 2026.
Muallif hissalari: Manbada Nexhibe Sejfuli-Ramadani konseptualizatsiya va loyiha boshqaruvida; Nexhibe Sejfuli-Ramadani, Erenis Ramadani va Valentin Rakovic metodologiyada; Nexhibe Sejfuli-Ramadani va Erenis Ramadani dasturiy ta’minotda; Nexhibe Sejfuli-Ramadani, Erenis Ramadani, Valentina Angelkoska va Florim Idrizi verifikatsiyada hissa qo‘shgan deb ko‘rsatiladi. Manba, shuningdek, formal tahlil, ma’lumotlarni kuratsiya qilish, vizualizatsiya, yozish, nazorat va boshqa hissalarni mualliflar kesimida batafsil bayon qiladi.
Manfaatlar to‘qnashuvi: Manbada Erenis Ramadani Tarmac LLC tomonidan ish bilan ta’minlangani; boshqa mualliflar esa tijoriy yoki moliyaviy manfaatlar to‘qnashuvini yuzaga keltirishi mumkin bo‘lgan aloqalar yo‘qligini bildirgani qayd etiladi.
Manba ichidagi notatsiya nomuvofiqligi: 4.3-bo‘limda settlement maydonlari xarajat o‘zgaruvchilari Cimport, Cexport va Cnet sifatida izohlanganiga qaramay, Tenglama (6) ko‘rinadigan tarzda energiya xulosasi E o‘zgaruvchilarini takrorlaydi. Keyingi Tenglama (7) esa Cnet = Cimport − Cexport xarajat munosabatini beradi. Ushbu notatsiya farqi manbada qanday bo‘lsa, shunday qayd etilgan va yashirin ravishda tuzatilmagan.
Asosiy metodologik cheklovlar: Sinov seanslari sintetik; jonli OCPP/OCPI tizimi ishlatilmagan. Takrorlangan benchmark bitta Apple M1 Max muhitida o‘tkazilgan. Blockchain sinovi mahalliy Anvil zanjirida va avtomatik mining bilan bajarilgan. Python–JavaScript canonicalization mosligi sinovdan o‘tkazilgan bo‘lsa-da, barcha tillar tasdiqlanmagan. Hisoblagich darajasidagi raqamli imzo, issuer certificate tekshiruvi, ishonchli timestamp, xavfsiz kalit hayotiy sikli, privacy-preserving disclosure va tashqi authoritative session registry bilan muvofiqlashtirish amalga oshirilmagan. Dastlabki ishonchli majburiyatdan oldin uydirilgan yoki tashlab ketilgan ma’lumotlarning mavjudligi Merkle mexanizmi tomonidan mustaqil ravishda aniqlanmaydi.
Ushbu Verianla maqolasidagi ilmiy usul, raqamli natijalar, xavfsizlik qamrovi va cheklovlar ko‘rib chiqilgan tadqiqotga asoslanadi. Tashqi tekshirish faqat nashr identifikatori va taqrizli jurnal maqomini tasdiqlash uchun ishlatilgan; tashqi manbalardan yangi tajribaviy samaradorlik qiymati, yangi xavfsizlik da’vosi yoki yangi blockchain natijasi asosiy ilmiy mazmunga qo‘shilmagan.

Izoh qoldiring
E-pochta manzilingiz chop etilmaydi. Majburiy maydonlar * bilan belgilangan