Các khái niệm cơ bản Smart Contract


Ethereum

khái niệm cơ bản Smart Contract ethereum
khái niệm cơ bản Smart Contract ethereum
Ethereum là một công nghệ Blockchain được tạo ra bởi Vitalik Buterin, một lập trình viên người gốc Nga. Ethereum là một nền tảng xây dựng các ứng dụng phi tập trung (hoặc viết tắt là ... dapp) trên một blockchain. Sự khác biệt chính và cũng là cuộc cách mạng của Ethereum so với Bitcoin chính là Hợp đồng thông minh (SMART CONTRACT ). Vậy Hợp đồng thông minh – Smart Contract là gì?

Hợp đồng thông minh - Smart Contract

 Hợp đồng thông minh là một chương trình máy tính được viết bằng ngôn ngữ lập trình hoàn chỉnh Turing (điều này khác với BCS). Chương trình được hiểu là mã bytecode và được lưu trữ trên blockchain như một hợp đồng với một địa chỉ duy nhất. Bạn có thể sử dụng địa chỉ này để tương tác với Smart Contract cũng như thực hiện các phương thức được cung cấp bởi Smart Contract. Việc thực hiện các phương thức này được thực hiện bởi máy ảo EVM (Máy ảo Ethereum) được bao gồm trong máy khách Ethereum mà người khai thác sử dụng. Mỗi Smart Contract có thể lưu trữ các giá trị riêng của nó và thay đổi các giá trị này phải được thỏa thuận bởi cả hai blockchain (một sự thay đổi tương đương với một giao dịch)

 Triển khai một Smart Contract tương tự như thực hiện một giao dịch. Bitcoin và Ethereum cho phép chúng tôi chuyển dữ liệu vào cuối mỗi giao dịch. Dữ liệu này có thể bao gồm mã bytecode của Smart Contract. Sau khi Smart Contract được khởi tạo và được thêm vào blockchain, chúng ta có thể gọi phương thức Smart Contract được cung cấp khi chúng ta gọi một chương trình máy tính thông thường. Đọc ở đây bạn có thể có câu hỏi:

 Nếu ai đó tình cờ hoặc cố tình viết một vòng lặp vô hạn, điều này sẽ làm cho máy ảo EVM bị sập và thậm chí cả hệ thống Ethereum bị hỏng.

 Tin tặc có thể tấn công từ chối dịch vụ (DOS) hoặc spam mạng bằng cách lạm dụng việc triển khai các phương thức một cách tùy ý.

 Để chống lại hai rủi ro này, mỗi phương thức đều yêu cầu một thỏa thuận toàn hệ thống được thực hiện trong một giao dịch tương tự như giao dịch Bitcoin. Giao dịch này sẽ được thực hiện giữa người gọi và Smart Contract. Đây là lý do tại sao mỗi Smart Contract cần một địa chỉ duy nhất trong blockchain. Giao dịch này sẽ được tính dựa trên khối lượng được tính mà phương thức phải thực hiện. Mỗi giao dịch bao gồm:

 Địa chỉ người nhận (trong trường hợp SMART CONTRACT , đây là địa chỉ của SMART CONTRACT  được tương tác)

 Signature- chữ ký của người thực hiện giao dịch (người gửi / người gọi)
 Lượng Ether gửi (có thể là không)

 Dữ liệu cần gửi (bao gồm phương thức và tham số của SMART CONTRACT  để thực hiện)

 STARTGAS: GAS được sử dụng làm nhiên liệu cho mỗi giao dịch. Nhiên liệu này được sử dụng để  lưu trữ dữ liệu cũng như thực thi mã SMART CONTRACT . STARGAS quy định lượng nhiên liệu tối đa được sử dụng cho mỗi giao dịch

 GASPRICE: Giá GAS trên một đơn vị tính toán. Đơn vị WEI (1 WEI = 10 ^ -18 ETHER)

Vì vậy, nếu thỏa thuận của bạn chỉ định tối đa 10 đơn vị tính toán GAS, GASPRICE là 10 WEI mỗi GAS. Phí giao dịch sẽ là 10 x 10 = 100 WEI. Khi kết thúc giao dịch, một khoản phí bằng GAS được sử dụng sẽ được trả cho thợ mỏ, phần còn lại sẽ được trả lại cho nhà giao dịch. Nếu vì lý do nào đó, giao dịch yêu cầu GAS nhiều hơn STARTGAS, giao dịch này sẽ chấm dứt ngay lập tức, trạng thái SMART CONTRACT  sẽ được chuyển về trạng thái trước khi giao dịch xảy ra. Tuy nhiên, bạn sẽ không nhận được bất kỳ WEI nào vì số tiền này được chi tiêu trong giao dịch.