Máy ảo Ethereum (Ethereum Virtual Machin e EVM)

Một phần của tài liệu Xây dựng mô hình nông nghiệp bền vững ứng dụng công nghệ blockchain (Trang 49 - 52)

3 Kiến thức nền tảng

3.2 Ethereum Blockchain và các nền tảng Blockchain tương thích vớ

3.2.2 Máy ảo Ethereum (Ethereum Virtual Machin e EVM)

4. Tầng thứ tư: là nền tảng để lập trình Hợp đồng thơng minh (Smart Contract). Người lập trình có thể viết Smart Contract bằng ngơn ngữ bậc cao ví dụ như: Solidity.

5. Tầng thứ năm: là tầng ứng dụng phi tập trung (Decentralized Application - Dapp). Khi lập trình viên phát triển những ứng dụng trên giao thức Ethereum thì ứng dụng của họ sẽ nằm ở tầng cao nhất. Như vậy, giải pháp truy xuất nguồn gốc mà tác giả đang nghiên cứu xây dựng sẽ nằm ở tầng này.

3.2.2 Máy ảo Ethereum (Ethereum Virtual Machine -EVM) EVM)

Nền tảng Ethereum đảm bảo các giao dịch tuy được xử lý trên những mơi trường, cấu hình máy tính hồn tồn khác nhau vẫn sẽ ln cho ra kết quả giống nhau bằng cách sử dụng một máy ảo có tên gọi là máy ảo Ethereum (Ethereum Virtual Machine - EVM). Các nút tham gia vào hệ thống Ethereum xử lý các giao dịch nhận được thông qua EVM. Bất kì giao dịch nào muốn tạo ra sự thay đổi trạng thái của mạng đều phải thơng qua q trình xử lý của EVM. EVM chỉ là một chiếc máy ảo nhưng được tạo ra nhiều bản sao. Mỗi nút sở hữu một bản sao của EVM. Từ đó, cùng một mã nguồn, cùng một cơ sở dữ liệu giống nhau thì quá trình thực thi một giao dịch trên các nút tham gia sẽ cho ra kết quả giống nhau. Đảm bảo được sự nhất qn của q trình tính tốn.

Thành phần

EVM cung cấp một ngơn ngữ lập trình có tính chất Turing-completeness có tên gọi là EVM Bytecode. EVM có những thành phần sau:

• Ngơn ngữ riêng ở dưới dạng hợp ngữ có tên là EVM Bytecode. • Kiến trúc tính tốn dạng Stack.

• Bộ nhớ ngắn hạn.

• Bộ nhớ dài hạn bao gồm hai phần. Một phần là bộ nhớ chỉ đọc (ROM) và bộ nhớ truy cập tuỳ ý (RAM). ROM được sử dụng để lưu mã nguồn.

3.2 Ethereum Blockchain và các nền tảng Blockchain tương thích với EVM

Mặc dù ngơn ngữ lập trình mà EVM sử dụng là hợp ngữ nhưng người lập trình vẫn viết mã nguồn Hợp đồng thơng minh ở dạng ngôn ngữ bậc cao. Ngôn ngữ bậc cao này sẽ được chuyển thành EVM Bytecode thông qua các bộ biên dịch (Compiler) tương ứng. Nhờ vậy, dù cho người lập trình có sử dụng ngơn ngữ bậc nào dưới đây đều có thể cho ra một kết quả ngữ nghĩa giống nhau. Một số ngơn ngữ có thể lập trình Hợp đồng thơng minh là:

• Solidity: ngơn ngữ bậc cao tương tự Javascript. • LLL: ngơn ngữ bậc cao tương tự Lisp.

• Serpent: ngơn ngữ bậc cao tương tự Python. • Mutan: ngơn ngữ bậc cao tương tự C4.

• Viper: ngơn ngữ bậc cao đang trong q trình hiện thực.

3.2 Ethereum Blockchain và các nền tảng Blockchain tương thích với EVM

Hình 3.2: Luồng thực thi của Ethereum Blockchain

1. Biên dịch: Mã nguồn được viết bằng ngôn ngữ bậc cao ở trên sẽ được dịch ra EVM Bytecode. Quá trình này được thực hiện một cách cục bộ trên máy của lập trình viên. 2. Đính kèm vào giao dịch: Mã nguồn dưới

dạng EVM Bytecode được lan truyền vào mạng Ethereum bằng cách đính kèm vào giao dịch. Mã nguồn này có thể được sử dụng để làm tham số đầu vào cho các chức năng trên Hợp đồng thông hoặc tạo ra một Hợp đồng thơng minh mới. Ngồi hai mục đích trên, người lập trình có thể đính kèm trực tiếp một thơng điệp bất kì khơng phải là mã nguồn vào giao dịch.

3. Lan truyền: Giao dịch chứa các thông tin cần thiết sẽ được một nút tham gia lan truyền vào mạng Ethereum. Lưu ý: Ba quy trình trên có thể được thực thi cục bộ trên máy tính người lập trình.

4. Tiếp nhận: các nút tham gia trong mạng Ethereum sẽ nhận giao dịch được lan truyền vào mạng.

5. Thực thi: toàn bộ giao dịch sẽ được thực thi một cách cục bộ trên máy của nút tham gia thông qua EVM.

6. Trả kết quả: kết quả của EVM sau khi thực thi là sự thay đổi trạng thái tổng quát của hệ thống.

Lưu ý: Ba quy trình dưới được thực thi cục bộ trên máy tính của nút tham gia.

3.2 Ethereum Blockchain và các nền tảng Blockchain tương thích với EVM

trình tự giống nhau thì mới đảm bảo được sự nhất qn dữ liệu. Vì vậy, chỉ có giao nào được đưa vào cơ sở dữ liệu chung mới được xử lý, thực thi.

Một phần của tài liệu Xây dựng mô hình nông nghiệp bền vững ứng dụng công nghệ blockchain (Trang 49 - 52)

Tải bản đầy đủ (PDF)

(142 trang)