Tiêu đề gốc: "Giới thiệu Clarity, một ngôn ngữ dành cho thông minh có thể dự đoán được hợp đồng》
Tác giả: Aaron Blankstein
Người dịch: FYJ
Theo tin tức của BlockBeats, Blockstack đã phát hành Clarity, một ngôn ngữ kịch bản được tối ưu hóa đặc biệt để bảo mật cho các hợp đồng thông minh dự đoán. Tính đến thời điểm hiện tại, hơn 140 ứng dụng Blockstack có thể triển khai hợp đồng thông minh trực tiếp trong sản phẩm của họ.
Clarity hiện có sẵn cho các nhà phát triển để sử dụng thử. Vui lòng xem tài liệu và SDK trên Github, họ rất mong nhận được phản hồi từ cộng đồng nhà phát triển và hoan nghênh bất kỳ báo cáo lỗi.
Hợp đồng thông minh cho phép các nhà phát triển triển khai logic kinh doanh cơ bản trên blockchain. Các hợp đồng này được thực hiện một cách công khai, có thể kiểm chứng và an toàn mà không cần đến bên thứ ba. Hợp đồng thông minh là một mô hình lập trình thực tế, nhưng chúng chỉ không thể thiếu trong một số trường hợp nhất định. Nhiều ứng dụng hữu ích có thể được xây dựng mà không cần hợp đồng thông minh và cộng đồng nhà phát triển mạnh mẽ của chúng tôi đã xây dựng hơn 140 ứng dụng (và vẫn đang phát triển!) trên Blockstack mà không liên quan đến bất kỳ công nghệ hợp đồng thông minh nào.
Hôm nay, chúng tôi thực hiện bước đầu tiên trong việc kích hoạt chức năng hợp đồng thông minh cho các ứng dụng Blockstack bằng cách giới thiệu Clarity, ngôn ngữ hợp đồng thông minh của Blockstacks.
Triết lý thiết kế của Clarity
Giống như hỗ trợ gốc cho lập trình đồng thời, các hợp đồng thông minh được thiết kế tốt có thể ngăn ngừa lỗi xảy ra, trong khi các hợp đồng được thiết kế không hợp lý có thể được sửa lỗi Lỗi khó khăn có thể xuất hiện. Do hợp đồng thông minh quản lý hàng tỷ đô la cho mọi người nên triết lý thiết kế của chúng tôi cho Clarity là - những gì bạn thấy là những gì bạn nhận được. Ngữ nghĩa của Clarify cho chúng ta cái nhìn rõ ràng hơn về hành vi, chi phí và hiệu suất của hợp đồng thông minh.
Sự rõ ràng là một ngôn ngữ có thể quyết định được. Nếu bạn có thể biết chắc chắn từ chính mã đó hiệu quả thực thi của chương trình sẽ như thế nào, thì ngôn ngữ lập trình này có thể quyết định được. Sự rõ ràng được thiết kế có chủ ý để trở thành Turing-không đầy đủ vì nó tránh được "sự phức tạp của Turing". Điều này cho phép chúng tôi thực hiện phân tích tĩnh hoàn chỉnh về toàn bộ logic lệnh gọi thực thi của một hợp đồng thông minh nhất định. Ngoài ra, sự hỗ trợ của chúng tôi dành cho các loại và trình kiểm tra loại sẽ loại bỏ tất cả các loại lỗi, chẳng hạn như lỗi chuyển đổi không chủ ý, lỗi khóa đăng nhập lại và đọc các giá trị chưa được khởi tạo. Cuối cùng, bạn có thể phân tích chi phí thời gian chạy và mức sử dụng dữ liệu của mã Clarity của mình. Điều này cho phép các nhà phát triển dự đoán cách thức hoạt động của một chương trình Clarity nhất định và chi phí thực hiện của nó.
(Lưu ý BlockBeats: Tính đầy đủ của Turing có nghĩa là nó có ba loại logic thực thi: trình tự, phán đoán và vòng lặp, và có thể Các thuộc tính của về mặt lý thuyết có thể thực hiện tất cả các phép tính phức tạp. Ngôn ngữ hợp đồng thông minh của Ethereum Solidity là ngôn ngữ Turing-complete, vì vậy nó dễ bị hacker tấn công như bom logic tròn.)
Khi DAO bị hack, giải pháp thường là hard fork gây tranh cãi. Nếu bạn sử dụng một ngôn ngữ có thể quyết định được như Clarity, bạn có thể tránh được những sai lầm như vậy. Solidity là ngôn ngữ triển khai của DAO và là ngôn ngữ không thể quyết định: không có khả năng quyết định, không thể biết chính xác việc thực hiện hợp đồng một cách chính xác. Cả hai loại ngôn ngữ lập trình đều có những ưu điểm riêng, nhưng với hàng tỷ đô la bị khóa trong các hợp đồng thông minh, việc giảm thiểu rủi ro là rất quan trọng.
Ngoài việc là một ngôn ngữ có thể quyết định được, Sự rõ ràng còn là Ngoài ra Nó cũng là một ngôn ngữ diễn giải. Bản thân mã nguồn hợp đồng được xuất bản và thực thi bởi các nút trên chuỗi. Loại bỏ mọi biểu thức hỗ trợ quá trình biên dịch nhanh hơn (ví dụ: byte EVM cho Solidity), giảm thiểu hơn nữa khả năng xảy ra lỗi. Việc phát hành mã nguồn hợp đồng cũng cải thiện tính dễ hiểu. Sức tàn phá của lỗi hợp đồng trong công nghệ blockchain được chia thành hai cấp độ, ngay cả khi mã không có lỗi trong quá trình biên dịch thì vẫn có thể gây ra lỗi khi chạy trong hệ thống mạng blockchain. Bất kỳ lỗi nào như vậy sẽ dẫn đến một hard fork, vấn đề này cần được giải quyết khẩn cấp.
Hộp hợp đồng thông minh rõ ràng
Đây là sự so sánh giữa hợp đồng được viết bởi Clarity và hợp đồng được viết bởi Ethereum Solidity
Khi mã của Clarity triển khai chức năng "hoàn tiền", chúng tôi có thể xác định rõ hơn tiền ở đâu đến từ và các lỗi có thể xảy ra.
Ngược lại, code của Solidity ngắn nhưng không phải vậy dễ hiểu, điều này làm tăng đáng kể khả năng sơ hở khi phát triển các dự án quy mô lớn.
Không thể sử dụng các ứng dụng Internet truyền thống để rõ ràng Triển khai chức năng là một bước trong việc xây dựng một ứng dụng. Đối với các nhà phát triển muốn xây dựng các loại ứng dụng mới, Clarity cung cấp các công cụ có thể triển khai logic trên chuỗi đồng thời giảm thiểu lỗi một cách hiệu quả.
Khi bạn kết hợp các hợp đồng thông minh đáng tin cậy với các ứng dụng không độc hại và giải phóng người dùng, bạn sẽ có một môi trường để thử nghiệm an toàn. Hợp đồng thông minh có thể dự đoán được cho phép nhiều doanh nhân hơn xây dựng các sản phẩm chất lượng mà người dùng yêu thích đồng thời giảm thiểu nhu cầu về niềm tin.
BlockBeats sẽ để mắt tới Blockstack.
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia