Cea mai dificilă problemă în blockchain-ul de confidențialitate nu este criptografia. Este experiența dezvoltatorului.
Sistemele de dovezi ZK sunt matematic elegante, dar istoric brutale de scris. Construirea unui circuit ZK de la zero necesită cunoștințe profunde despre criptografia pe curve eliptice, aritmetica câmpurilor finite și sistemele de constrângeri. Numărul dezvoltatorilor din întreaga lume care pot face acest lucru fluent este de câteva mii. Numărul dezvoltatorilor care pot scrie în TypeScript este de zeci de milioane. Limbajul Compact al lui Midnight umple acest gol și este una dintre cele mai strategic importante lucruri $NIGHT pe care le are.
Compact este un limbaj specific domeniului (DSL) construit pe TypeScript. Un dezvoltator care cunoaște TypeScript, adică majoritatea dezvoltatorilor profesioniști web și full-stack care lucrează astăzi, poate scrie un contract smart Compact folosind sintaxă, tipuri și modele familiare. Compilatorul se ocupă automat de generarea circuitului ZK. Dezvoltatorul nu trebuie să înțeleagă cum este generată dovada. Ei trebuie doar să înțeleagă ce doresc să dovedească contractul.
Această abordare are un precedent istoric care validează strategia: Solidity. Solidity de la Ethereum $ETH a fost proiectat să se simtă ca JavaScript pentru a reduce bariera pentru dezvoltatorii web care intră în dezvoltarea de contracte inteligente. În 2014, această decizie a fost controversată printre criptografi care preferau abordări mai riguroase din punct de vedere matematic. În retrospectivă, a fost una dintre cele mai importante decizii ale ecosistemului Ethereum care a făcut ca bazinul de dezvoltatori pentru contractele Ethereum să fie practic bazinul global de dezvoltatori JavaScript.
Midnight @MidnightNetwork # încearcă aceeași mișcare, dar pentru contracte de confidențialitate ZK, cu TypeScript. #night
