Ngôn ngữ lập trình Scilla & Vyper mới nổi dành cho hợp đồng thông minh

Scilla & amp; Vyper

Sự xuất hiện của các blockchain và hợp đồng thông minh đã chứng kiến ​​sự quan tâm rộng rãi trong việc xây dựng dapp và tận dụng các hợp đồng thông minh cho các mục đích thực tế. Solidity – một ngôn ngữ hợp đồng thông minh của Ethereum – là ngôn ngữ lập trình chính được sử dụng cho mạng blockchain công cộng của Ethereum và vẫn là ngôn ngữ hợp đồng thông minh phổ biến nhất.

Mặc dù thành công và được sử dụng rộng rãi để viết các hợp đồng thông minh trên Ethereum, Solidity là một ngôn ngữ lập trình tương đối mới, tự nhiên dễ bị lỗi và một số lỗi logic cấp cao. Do nhu cầu tạo hợp đồng thông minh và các phương pháp bảo mật được cải thiện để viết chúng, các ngôn ngữ lập trình Vyper và Scilla đã xuất hiện.

Scilla & amp; Vyper

Sự vững chắc & Hợp đồng thông minh

Solidity được đề xuất bởi Gỗ Gavin trở lại vào năm 2014 và là ngôn ngữ lập trình thống trị để viết các hợp đồng thông minh. Nó được thiết kế đặc biệt cho Máy ảo Ethereum (EVM) và có một số tính năng hữu ích tài liệu về nó là gì và cách sử dụng nó.

Solidity là một ngôn ngữ lập trình cấp cao biên dịch xuống mã bytecode tương thích với EVM chạy trên các nút Ethereum. Đáng chú ý, Solidity là một ngôn ngữ lập trình tương đối đơn giản (so với những ngôn ngữ khác) với cú pháp rất quen thuộc giống với JavaScript. Solidity cũng được xây dựng với một số cân nhắc quan trọng như một ngôn ngữ hợp đồng thông minh để thực thi trên các blockchain, bao gồm cả nhu cầu hợp đồng thông minh phải có tính xác định.

Hướng dẫn về độ vững chắc

Đọc: Solidity là gì? Hướng dẫn của chúng tôi về ngôn ngữ của hợp đồng thông minh Ethereum

Solidity có sẵn để tìm hiểu trên nhiều nền tảng giáo dục trực tuyến – bao gồm Udemy – và có một số sách đã viết về nó. Hiệu ứng mạng của Solidity đã củng cố nó trở thành ngôn ngữ lập trình phù hợp cho các hợp đồng thông minh và dapp được xây dựng trên Ethereum.

#Crypto ExchangeBenefits

1

Binance
Best exchange


VISIT SITE
  • ? The worlds biggest bitcoin exchange and altcoin crypto exchange in the world by volume.
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

2

Coinbase
Ideal for newbies


Visit SITE
  • Coinbase is the largest U.S.-based cryptocurrency exchange, trading more than 30 cryptocurrencies.
  • Very high liquidity
  • Extremely simple user interface

3

eToro
Crypto + Trading

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

Mặc dù phổ biến rộng rãi, sự tồn tại của Solidity như một ngôn ngữ lập trình dành riêng cho EVM hạn chế việc sử dụng nó cho các nền tảng blockchain khác. Hơn nữa, những lo ngại về bảo mật xung quanh các ngôn ngữ cấp cao và các vấn đề tiềm ẩn của chúng đã dẫn đến việc chú trọng đến việc kiểm tra hợp đồng thông minh và các ngôn ngữ đơn giản hơn cũng như an toàn hơn. Tầm cỡ hack và nghiên cứu học tiết lộ quy mô tuyệt đối của các lỗ hổng chắc chắn đã dẫn đến nhu cầu cấp bách về các thực hành hợp đồng thông minh tốt hơn.

Vyper

Vyper là một ngôn ngữ lập trình thử nghiệm tương tự như Solidity ở chỗ nó cũng được thiết kế riêng cho EVM. Vyper về mặt cú pháp tương tự như Python và theo hướng hợp đồng giống như Solidity.

Tuy nhiên, Vyper được thiết kế với các mục tiêu cụ thể là bảo mật, đơn giản và khả năng kiểm tra. Đây phần lớn là kết quả của các vấn đề bảo mật trong các lần lặp lại hợp đồng thông minh ban đầu. Do các nguyên tắc và mục tiêu của Vyper, các ví dụ rõ ràng về các tính năng mà Vyper thực hiện một cách có chủ đích không phải có là nêu như:

  • Bổ ngữ
  • Kế thừa giai cấp
  • Chức năng & Người vận hành quá tải
  • Gọi đệ quy
  • Vòng lặp vô hạn

Đáng chú ý, gọi đệ quy khiến không thể thiết lập giới hạn trên về giới hạn khí và có thể dẫn đến các cuộc tấn công giới hạn khí. Ngoài ra, việc loại bỏ các công cụ sửa đổi được thực hiện với lưu ý đến khả năng kiểm tra, vì chúng có thể làm cho mã sai lệch và khó diễn giải từ góc độ con người có thể đọc được.

#CRYPTO BROKERSBenefits

1

eToro
Best Crypto Broker

VISIT SITE
  • Multi-Asset Platform. Stocks, crypto, indices
  • eToro is the world’s leading social trading platform, with thousands of options for traders and investors.

2

Binance
Cryptocurrency Trading


VISIT SITE
  • ? Your new Favorite App for Cryptocurrency Trading. Buy, sell and trade cryptocurrency on the go
  • Binance provides a crypto wallet for its traders, where they can store their electronic funds.

#BITCOIN CASINOBenefits

1

Bitstarz
Best Crypto Casino

VISIT SITE
  • 2 BTC + 180 free spins First deposit bonus is 152% up to 2 BTC
  • Accepts both fiat currencies and cryptocurrencies

2

Bitcoincasino.io
Fast money transfers


VISIT SITE
  • Six supported cryptocurrencies.
  • 100% up to 0.1 BTC for the first
  • 50% up to 0.1 BTC for the second

Vyper tự loại bỏ các tính năng dễ bị tổn thương về bảo mật nhưng cũng bổ sung một số chức năng chính bao gồm kiểm tra giới hạn và tràn, khả năng giải mã và gõ mạnh. Liên quan đến giới hạn khí, khả năng phân hủy cho phép nhà phát triển tính toán giới hạn trên chính xác cho mức tiêu thụ khí của một lệnh gọi hàm.

Một sự khác biệt chính giữa Vyper và Solidity là – mặc dù chúng trông giống nhau – Vyper loại bỏ phần lớn các nguyên mẫu hướng đối tượng có trong Solidity. Việc nhấn mạnh vào tính đơn giản cho Vyper cũng cho phép nó dễ đọc hơn nhiều trong các trường hợp cần kiểm tra bởi các bên không rành về lập trình. Do đó, việc sử dụng Vyper tiềm năng hấp dẫn nhiều dapp kinh doanh thực tế có thể được viết bằng Vyper.

Cân nhắc bảo mật ở cấp độ ngôn ngữ lập trình là điều quan trọng cần tính đến. Sự đơn giản thường dẫn đến độ phức tạp lôgic ít được yêu cầu hơn và vốn dĩ có thể cung cấp bảo mật tốt hơn. Vyper cũng không nhất thiết phải được thiết kế để thay thế Solidity, thay vào đó nó được xây dựng để cung cấp một ngôn ngữ đơn giản và an toàn hơn như một lựa chọn thay thế khi cần thiết.

Vyper bao gồm một Giao thức cải tiến Vyper (VIP) và thậm chí có một trình soạn thảo văn bản với một trình biên dịch để chơi với mã Vyper. Của Ethereum Casper FFG triển khai cũng được viết bằng Vyper.

Scilla

Scilla là một ngôn ngữ hợp đồng thông minh cấp độ trung gian được sử dụng bởi Zilliqa. Scilla được thiết kế rõ ràng với tính bảo mật và an toàn hợp đồng thông minh. Điều quan trọng, nó tập trung vào việc cung cấp xác minh chính thức hợp đồng thông minh.

Hướng dẫn Zilliqa

Đọc: Hướng dẫn cho người mới bắt đầu về Zilliqa

Xác minh chính thức được thiết kế để cung cấp các đảm bảo tĩnh về các hợp đồng thông minh trước khi chúng được cam kết chắc chắn với blockchain. Việc xác minh chính thức các hợp đồng thông minh đang trở nên phổ biến hơn trong lĩnh vực này và đang được một số nền tảng bao gồm Tezos và Cardano tích cực theo đuổi và áp dụng. Việc sử dụng xác minh chính thức sẽ giảm đáng kể các trường hợp mã lỗi được cam kết với các blockchain và sau đó giảm nhu cầu kiểm tra hợp đồng thông minh chuyên sâu của các bên thứ ba.

Scilla được thiết kế cẩn thận để đủ biểu cảm để xây dựng các dapp hữu ích, trong khi vẫn đảm bảo lý luận chính thức về hành vi hợp đồng. Tương tự như Vyper, nguyên tắc chính là sự đơn giản và an toàn hơn là tính biểu cảm. Một điểm khác biệt quan trọng cần được thực hiện về Scilla là ngôn ngữ trung cấp, có nghĩa là nó được dự định là mục tiêu dịch cho các ngôn ngữ cấp cao và sau đó được biên dịch thành bytecode có thể thực thi được. Do đó, ngôn ngữ này khó hiểu hơn so với ngôn ngữ cấp cao như Solidity.

Scilla tách biệt giữa giao tiếp và tính toán, điều này có hậu quả đáng kể đối với cách các hợp đồng được thực hiện. Hợp đồng được cấu trúc như giao tiếp tự động nơi các phép tính trong hợp đồng được thực hiện dưới dạng chuyển đổi nguyên tử không có liên quan đến bất kỳ bên nào khác. Hơn nữa, một ví dụ về sự tham gia bắt buộc của một bên khác dẫn đến kết thúc chuyển đổi được thông báo rõ ràng. Sau đó, các hiệu ứng cụ thể theo hợp đồng như chuyển đổi có thể được tách khỏi các tương tác blockchain như tin nhắn và gửi / nhận tiền.

Ngoài ra, Scilla cung cấp sự tách biệt giữa hiệu quảnguyên chất tính toán cùng với sự tách biệt giữa sự cầu khẩnsự tiếp nối. Về tính toán hiệu quả và thuần túy, Scilla lấy cảm hứng từ lập trình hàm trích dẫn:

“Bằng cách thiết kế cẩn thận ngữ nghĩa của sự tương tác giữa các khía cạnh ngôn ngữ thuần túy và không tinh khiết, chúng tôi đảm bảo một số thuộc tính cơ bản về chuyển đổi hợp đồng, chẳng hạn như tiến trình và bảo toàn kiểu, đồng thời làm cho chúng có thể tương tác và / hoặc xác minh tự động bằng các công cụ độc lập”

Sự tách biệt giữa lời gọi và sự tiếp diễn đề cập đến việc cấu trúc các hợp đồng như là dữ liệu tự động giao tiếp để cung cấp CPS mô hình tính toán. Sử dụng mô hình này với sự liên tục rõ ràng, các ngôn ngữ như Solidity có thể được dịch trực tiếp sang Scilla mà không ảnh hưởng đến tính toàn vẹn của cấu trúc tự động.

Thành phần xác minh chính thức của Scilla được kích hoạt bằng cách nhúng nó vào Coq Proof Assistant, một hệ thống quản lý bằng chứng chính thức được thiết kế để cung cấp các bằng chứng được xác minh một cách máy móc về các hợp đồng thông minh và các ứng dụng phân tán. Kết quả là xác minh chính thức các hợp đồng lý do về cả tài sản của sự an toànsự sống. Tính đúng đắn trong hệ thống phân tán có thể được tách thành an toàn và sống. Theo Zilliqa:

Sự an toàn là khi “không có gì sai”- Đây là một đảm bảo rằng điều gì đó xấu sẽ không bao giờ xảy ra. Trong sự đồng thuận, đây là khi không có hai quá trình nào quyết định các giá trị khác nhau. Một ví dụ khác là không có bế tắc trong các hệ thống giao dịch phân tán. An toàn có hậu quả quan trọng đối với tính toàn vẹn tổng thể của các hợp đồng thông minh trong dài hạn.

Sống động là ở đâu “những điều nhất định cuối cùng có thể xảy ra”- Một đảm bảo rằng một cái gì đó tốt sẽ cuối cùng xảy ra. Từ “cuối cùng” cũng không có nghĩa là ràng buộc về thời gian nhưng nếu hệ thống chạy đủ lâu, thì tính tồn tại được đảm bảo. Ví dụ, trong sự đồng thuận, tất cả các quy trình cuối cùng sẽ quyết định về một giá trị. Một ví dụ khác là tính hoàn chỉnh của các bộ phát hiện lỗi mà cuối cùng sẽ phát hiện các quá trình bị lỗi.

Việc Zilliqa phát triển Scilla song song với chính thức hóa và nhúng nó vào Coq sẽ chứng minh một quyết định có giá trị cho sự an toàn trong tương lai của các hợp đồng thông minh chạy trên chuỗi khối thông lượng cao của nó.

Cuối cùng, Scilla là blockchain-bất khả tri và có thể được sử dụng cho các blockchain khác. Tuy nhiên, nó vẫn đang được nghiên cứu và phát triển tích cực, chủ yếu với nhóm Zilliqa. Scilla trang mạng cũng cung cấp một hướng dẫn và IDE trực tuyến để thử ngôn ngữ.

Phần kết luận

Sự đổi mới liên tục trong phát triển hợp đồng thông minh chắc chắn sẽ chứng kiến ​​sự gia tăng của nhiều ngôn ngữ lập trình hướng hợp đồng và các giải pháp để giải quyết vấn đề bảo mật của chúng. Nhu cầu bảo mật của dapp và hợp đồng thông minh là điều quan trọng hàng đầu khi xem xét lượng giá trị được chuyển qua các mạng tiền điện tử lớn như Ethereum.

Các hợp đồng thông minh lặp lại ban đầu cho thấy tiềm năng đáng kể trong khả năng của chúng trong tương lai. Giờ đây, một lớp phát triển mới đang tập trung vào việc cải thiện tính bảo mật của chúng ở cấp độ ngôn ngữ lập trình để đảm bảo tính bền vững của chúng.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me