Строгите DER подписи (Distinguished Encoding Rules) представляват вид кодиране, чиято цел е да гарантира съвместимостта на цифровия подпис във всеки контекст, и се използват за осигуряване на валидността на цифровите подписи в Bitcoin и криптовалутите.
Без съмнение, Bitcoin е високоспециализиран криптографски софтуер, както се вижда от строгите DER подписи – криптографска реализация, насочена към осигуряване на по-висока степен на сигурност в протокола, особено в системата за подписи на Bitcoin.
Строгите подписи, често наричани DER (Distinguished Encoding Rules), представляват вид сигурно криптиране, което гарантира съвместимостта на цифровия подпис във всеки контекст. Няма значение дали портфейлът ви е празен. Независимо дали е на компютър, смартфон или друго устройство, кодирането ще бъде последователно, а резолюцията ще бъде еднаква от начало до край. Това е от решаващо значение за Bitcoin, тъй като гарантира, че неговите цифрови подписи са сигурни при различни условия.
Целта на DER кодирането е да гарантира, че ECDSA верификациите са винаги валидни. За да се постигне това, всеки подпис се проверява не само за формиране, но и за кодиране. За начало, ECDSA подписите се подлагат на DER верификация, която гарантира, че кодирането на подписа е валидно. Всеки ECDSA подпис трябва да бъде внимателно кодиран (или написан) в Bitcoin, а всяка промяна сигнализира, че подписът е ненадежден.
В този случай протоколът на Bitcoin просто отхвърля подписа и не позволява изпълнението на свързания с него Bitcoin Script.
Трябва да помним, че ECDSA е детерминистична система за цифрови подписи, което означава, че тя винаги трябва да дава един и същ подпис при едни и същи условия на генериране, независимо от използваните критерии. Това е необходимо за сигурността и гарантира, че няма два идентични ECDSA подписа. В случая с DER кодирането важи същото: има само един поток от данни, който може правилно да представи определени стойности за ECDSA подпис.
Въпреки това, някои имплементации (като OpenSSL) са проблематични и дават неправилни кодирания в конкретни случаи. В резултат на това верификаторите на ECDSA подписи често са гъвкави в критериите си за приемане. Това е неприемливо в Bitcoin, тъй като води до грешки при верифицирането на подписите и нарушава консенсуса в мрежата. Изправени пред такива проблеми, разработчиците на Bitcoin избраха да проектират своя собствена DER реализация, която е подходяща за специалните изисквания на Bitcoin, като по този начин предотвратяват други реализации да се намесват в неговото функциониране.