Vấn đề khó khăn nhất trong blockchain riêng tư không phải là mật mã. Đó là trải nghiệm của lập trình viên.
Hệ thống chứng minh ZK là tinh tế về mặt toán học nhưng lịch sử ghi nhận rằng việc viết chúng rất khó khăn. Xây dựng một mạch ZK từ đầu yêu cầu kiến thức sâu sắc về mật mã đường cong elip, toán học trường hữu hạn, và các hệ thống ràng buộc. Số lượng lập trình viên trên toàn thế giới có thể làm điều này một cách thành thạo lên tới hàng ngàn. Số lượng lập trình viên có thể viết TypeScript lên tới hàng chục triệu. Ngôn ngữ Compact của Midnight giúp lấp đầy khoảng cách đó, và đó là một trong những điều quan trọng chiến lược mà $NIGHT đang có.
Compact là một ngôn ngữ đặc thù miền (DSL) được xây dựng trên TypeScript. Một nhà phát triển biết TypeScript, tức là hầu hết các nhà phát triển web chuyên nghiệp và full-stack hiện nay có thể viết một hợp đồng thông minh Compact bằng cú pháp, kiểu và mẫu quen thuộc. Trình biên dịch tự động xử lý việc tạo ra mạch ZK. Nhà phát triển không cần phải hiểu cách mà bằng chứng được tạo ra. Họ chỉ cần hiểu những gì họ muốn hợp đồng chứng minh.
Cách tiếp cận này có một tiền lệ lịch sử xác thực chiến lược: Solidity. Solidity của Ethereum $ETH được thiết kế để cảm thấy giống như JavaScript nhằm giảm rào cản cho các nhà phát triển web tham gia vào phát triển hợp đồng thông minh. Vào năm 2014, quyết định đó đã gây tranh cãi trong số các nhà mật mã, những người ưa thích các phương pháp nghiêm ngặt hơn về mặt toán học. Nhìn lại, đó là một trong những quyết định quan trọng nhất của hệ sinh thái Ethereum đã tạo ra nguồn phát triển cho các hợp đồng Ethereum, về cơ bản là nguồn nhà phát triển JavaScript toàn cầu.
Midnight @MidnightNetwork # đang cố gắng thực hiện cùng một động tác, nhưng cho các hợp đồng riêng tư ZK, với TypeScript. #night
