This article has been translated from English to Vietnamese.

Ethereum được biết đến như một “nền tảng hợp đồng thông minh“.

Một nền tảng (hoặc nền tảng tính toán) là một môi trường hoạt động trong đó một phần mềm như chương trình hoặc ứng dụng có thể chạy (hoặc “thực thi”).

Nhưng cái quái gì là một hợp đồng thông minh?

Hợp đồng thông minh là gì?

Hợp đồng thông minh là các chương trình máy tính tự động được lưu trữ và thực thi trên blockchain

Smart Contract Code

Mặc dù tên là “hợp đồng thông minh” nhưng chúng không hẳn thông minh hay có tính pháp lý ràng buộc.

Tự động” thay vì “thông minh” và “chương trình” thay vì “hợp đồng” sẽ là tên hay hơn, nhưng tôi không phải là thiên tài nghĩ ra khái niệm này!

Nick Szabo – người đã đặt ra thuật ngữ này vào cuối thập niên 90 – so sánh hợp đồng thông minh với máy bán hàng tự động.

Người dùng thả tiền xu vào máy và, giả sử số tiền thả vào là chính xác, máy sẽ “tự động thực thi” và cung cấp hàng hóa mà họ yêu cầu. Không ai khác tham gia ngoài bạn và máy bán hàng tự động. Không có sự tham gia của bên thứ ba. Ngay cả chủ sở hữu của máy cũng không cần thiết.

Tương tác này yêu cầu ít hoặc không có sự tin tưởng: máy bán hàng tự động không còn lựa chọn nào khác ngoài việc cung cấp hàng hóa khi nhận được tiền.

Smart Contract Example

Bây giờ hãy tưởng tượng viết các thỏa thuận có điều khoản rõ ràng và dễ dự đoán như máy bán hàng tự động và sau đó sử dụng công nghệ blockchain để tự động thực hiện các điều khoản của một thỏa thuận giữa các bên.

Đó là những gì mà hợp đồng thông minh làm.

Trên Ethereum, hợp đồng thông minh là những đoạn mã được nộp lên blockchain để các bên tham gia trong mạng có thể thực thi và lưu trữ các hợp đồng này một cách an toàn và không cần tin tưởng.

Ở một góc độ kỹ thuật hơn, một hợp đồng thông minh là một tập hợp mã và dữ liệu nằm tại một địa chỉ cụ thể trên blockchain của Ethereum.

Hợp đồng thông minh cũng mang tính định rõ để những người tham gia trong hợp đồng biết kết quả nào sẽ xảy ra khi hợp đồng được thực thi.

Nghĩ về hợp đồng thông minh như một chương trình phần mềm trên blockchain tự động thực thi khi các điều kiện đã được xác định trước đó được đáp ứng.

Những điều kiện đã xác định trước này, được viết trực tiếp thành dòng mã, chính là “điều khoản thỏa thuận” trong hợp đồng truyền thống.

Bây giờ khi bạn đã biết hợp đồng thông minh là gì, hãy để tôi giới thiệu bạn với điều làm cho Ethereum trở thành một nền tảng hợp đồng thông minh.

EVM là gì?

EVM

Không, nó không phải là một loại nhạc điện tử mới đâu.

Nếu hợp đồng thông minh là các hướng dẫn viết bằng mã, thì Máy ảo Ethereum (EVM) là thứ thực thi chúng trên blockchain của Ethereum.

Một “máy ảo” là một phần mềm hoạt động như một máy tính vật lý thực sự có thể chạy các chương trình và triển khai ứng dụng.

Về cơ bản, nó là một chương trình phần mềm trên máy tính vật lý hoạt động như thể nó là một máy tính riêng biệt bên trong máy tính chính.

Tại sao cần một “máy tính riêng biệt” để thực thi các hợp đồng thông minh (chỉ là chương trình máy tính)?

Bởi vì không phải tất cả các nút Ethereum (chỉ là các máy tính) đều sử dụng cùng một phần cứng, hệ điều hành (OS), và các cài đặt khác, bạn cần một cách để “trừu tượng hóa” tất cả những điều này ra để mã của hợp đồng thông minh có thể chỉ cần chạy mà không phải đối mặt với tất cả các loại cấu hình máy tính khác nhau với các yêu cầu cụ thể của chúng.

Nếu không, bạn sẽ phải viết một phiên bản khác của hợp đồng thông minh cho mỗi loại cấu hình máy tính! 👎

Các hợp đồng thông minh không muốn đối mặt với tất cả những rắc rối này! Nó muốn không bị phụ thuộc vào thiết bị và hệ điều hành.

Đây là nơi EVM xuất hiện. 💪

Nó cung cấp một môi trường thực thi cho các hợp đồng thông minh, nghĩa là một hợp đồng thông minh có thể thực thi (“chạy”) trong bất kỳ môi trường nào (“bất kỳ máy tính hoặc hệ điều hành nào”).

Các nhà phát triển có thể viết một hợp đồng thông minh và chắc chắn rằng nó tuân theo tiêu chuẩn ngành phần mềm “Viết một lần, chạy ở mọi nơi” (WORA), còn được gọi là “Viết một lần, chạy khắp nơi” (WORE).

Cơ bản, một hợp đồng thông minh sẽ chạy trên bất kỳ máy tính nào có EVM, hay quá nhỉ?

Nhưng đó chưa phải là điều hay nhất.

Vì mục đích của EVM là trở thành động cơ tính toán được nhúng trong tất cả các nút Ethereum hoàn chỉnh. nên nó là Turing hoàn thiện.

Trong ngôn ngữ máy tính, “Turing hoàn thiện” có nghĩa là EVM có thể tính toán bất cứ điều gì bạn có thể nghĩ đến.

Vì vậy, về lý thuyết, BẤT KỲ ứng dụng máy tính nào cũng có thể được lập trình và chạy trên nền tảng Ethereum!

Các hợp đồng thông minh được viết bằng mã sử dụng ngôn ngữ lập trình cấp cao như Solidity, Vyper, hoặc Serpent.

Mã này được biên dịch thành cái gọi là “bytecode” bởi EVM sau đó được triển khai lên blockchain Ethereum

Nhờ có EVM, blockchain Ethereum có thể đi xa hơn các hợp đồng thông minh và có thể được sử dụng để tạo ra ứng dụng phi tập trung (dApps).

Trong bài học tiếp theo, chúng ta sẽ tìm hiểu thêm về ứng dụng phi tập trung (dApps).