07

Th 02

Tổng quan về Smart contract

Tổng quan về Smart contract

  • Ismartvnn
  • 0 bình luận

Smart Contract là gì? Đây là thuật ngữ mà bất cứ nhà giao dịch crypto nào cũng cần biết và nắm được. Bởi sự cần thiết cũng như phổ biến của nó. Bài viết này sẽ giúp bạn hiểu được khái niệm smart contract blockchain là gì, cách thức hoạt động của nó như thế nào, ...

Lịch sử ra đời của Smart contract

Trước khi đi vào các vấn đề kỹ thuật hơn, hãy cùng nhìn lại lịch sử của smart contract. Ngoài việc biết Smart Contract là gì, hiểu được lý do và làm thế nào hợp đồng thông minh được tạo ra sẽ giúp bạn tìm ra mục đích của nó trong ứng dụng công nghệ blockchain

 

 

Năm 1994, Nick Szabo (một nhà mật mã học) đã nảy ra ý tưởng ghi lại các hợp đồng dưới dạng code máy tính. Hợp đồng này sẽ được kích hoạt tự động khi đáp ứng một số điều kiện. Ý tưởng này có khả năng loại bỏ nhu cầu cần có công ty bên thứ ba đáng tin cậy (như ngân hàng)

Nhưng tại sao? Câu trả lời rất đơn giản - bởi vì bạn không còn cần một bên thứ ba đáng tin cậy khi bạn thực hiện giao dịch. Thay vào đó, các hợp đồng (hoặc giao dịch) được tự thực hiện trên một mạng lưới tin cậy được điều khiển hoàn toàn bởi máy tính.


Ý tưởng rất tuyệt vời, đúng không? Szabo đã thực hiện ý tưởng này trong nhiều năm và thậm chí đã viết một cuốn sách có tên là “Smart Contract: Building blocks for Digital Free Markets” (tạm dịch “Hợp đồng thông minh: Xây dựng các khối cho thị trường tự do kỹ thuật số”). Vấn đề là năm 1994, công nghệ blockchain chưa từng tồn tại.


Nhưng giờ công nghệ blockchain đã ra đời!


Năm 2009, Bitcoin đã giới thiệu việc sử dụng ứng dụng công nghệ blockchain đầu tiên. Vào năm 2015, Ethereum được thành lập bởi một thanh niên thông minh tên Vitalik Buterin và giới thiệu các hợp đồng thông minh đầu tiên.

Smart contract là gì

Một ví dụ khá điển hình mà chúng ta thường gặp đó là việc vay tiền tại ngân hàng. Khi bạn cần vay một khoản tiền bất kỳ, thông thường ngân hàng sẽ yêu cầu bạn thế chấp tài sản. Một thỏa thuận riêng giữa bạn và ngân hàng được tạo ra. Trong thỏa thuận đó chứa các thông tin cụ thể xoay quanh việc vay tiền của bạn.

Thỏa thuận sẽ ghi rõ, để vay được một số tiền A, bạn cần phải thế chấp một loại tài sản B. Giá trị tài sản A và B sẽ do bạn và ngân hàng định giá và thống nhất với nhau. Sau C ngày, nếu như bạn trả lại một khoản tiền A kèm một phần lãi suất cho ngân hàng thì ngân hàng sẽ trả lại bạn tài sản thế chấp B. Nếu bạn không đủ khả năng chi trả khi đến hạn, tài sản B của bạn sẽ bị mất.

Khi thỏa thuận được sự đồng ý giữa bạn và ngân hàng, thỏa thuận đó sẽ được thực thi. Lúc này, ngân hàng sẽ đóng vai trò trung gian trong việc vừa cho vay, vừa đúng ra giám sát khoản vay đó. Như vậy, lúc nào cũng sẽ một thực thể đứng ra để giám sát và thực thi vấn đề này.

Nhằm giảm thiểu và tối ưu vai trò của các đơn vị trung gian như ngân hàng, smart contract được hình thành. Lúc này, smart contract sẽ đảm nhiệm vai trò giám sát và thực thi các yêu cầu mà các bên đã thỏa thuận trước đó. Khác biệt lớn nhất ở đây là mọi thứ diễn ra hoàn toàn tự động với tỷ lệ chính xác gần như tuyệt đối

Smart contract trên Blockchain

Hiểu rõ khái niệm Smart contract là việc khó khăn, nhưng chúng ta chỉ cần nhớ như sau

Smart Contract (Hợp đồng thông minh) là một thỏa thuận giữa hai người (hai đối tượng) dưới dạng mã máy tính. Chúng chạy trên blockchain, vì vậy chúng được lưu trữ trên cơ sở dữ liệu công cộng và không thể thay đổi.

Các giao dịch xảy ra trong hợp đồng thông minh được xử lý bởi blockchain, có nghĩa là chúng có thể được gửi tự động mà không cần bên thứ ba. Điều này không cần sự có mặt của bên thứ ba đáng tin cậy nào!

Các giao dịch chỉ xảy ra khi các điều kiện trong thỏa thuận được đáp ứng - không có bên thứ ba, do đó không có vấn đề với sự tin tưởng

Smart contract khác hợp đồng truyền thống như thế nào

Hợp đồng truyền thống (Traditional contract) được tạo ra bởi các chuyên gia pháp lý để biên soạn một lượng lớn tài liệu và cần bên thứ ba giúp thực thi. Điều này rất mất thời gian và không minh bạch. Nếu hợp đồng xảy ra sự cố thì phải dựa vào hệ thống tư pháp để giải quyết và điều này rất tốn kém nhiều chi phí liên quan.

 

 

Đối với Smart Contract, được tạo ra bởi hệ thống máy tính bằng ngôn ngữ lập trình như C++, Go, Python, Java. Trong đó nêu rõ các điều khoản và hình phạt tương đương với một hợp đồng truyền thống đưa ra. Chỉ có điều là Smart Contract không cần sự can thiệp của con người, do đó đảm bảo việc thực thi được chính xác và công minh nhất. Toàn bộ đoạn mã của Smart Contract này sẽ được thực hiện bởi hệ thống sổ cái phân tán Blockchain

Smart contract hoạt động như thế nào

Nói một cách dễ hiểu, hợp đồng thông minh có cơ chế hoạt động như một chương trình nhất định, thực thi yêu cầu, tác vụ cụ thể ứng với từng điều kiện riêng biệt trong một số trường hợp. Vì thế, câu lệnh trong hợp đồng thông minh thường sẽ được viết ở dạng “nếu… thì…”.

 

 

Mặc dù tên gọi là vậy, tuy nhiên trên thực tế, đây không phải là một hợp đồng pháp lý và cũng không “thông minh”. Đơn thuần chỉ là các đoạn mã chạy trên một hệ thống phân tán (blockchain) được lập trình sẵn.

Để làm được điều này, các điều khoản trong hợp đồng sẽ được thiết lập theo cơ chế logic yêu cầu và chuyển thể lại thành dạng chương trình thực thi thông qua các ngôn ngữ lập trình. Người dùng sẽ viết ra các đoạn mã chương trình Smart Contract và tiến hành biên dịch nó, sau đó đánh dấu nó bằng một địa chỉ và chuyển vào một block nằm trên blockchain. Sau khi chuyển vào block, Smart Contract này sẽ được phân phối và sao chép lại bởi các nút đang hoạt động trên mạng lưới blockchain đó.

Sau khi được lưu trữ trên blockchain, các hợp đồng thông minh sẽ chờ đợi các điều kiện kích hoạt. Khi một sự kiện được kích hoạt bằng cách thực thi một giao dịch trên blockchain, các Smart Contract sẽ hoạt động và thực thi các điều khoản đã được đồng thuận trước đó. Đồng thời tự động kiểm tra quá trình thực hiện những cam kết, điều khoản được nêu trong hợp đồng

 

 

Trong Ethereum các hợp đồng thông minh đại diện cho một đoạn mã được viết bằng các ngôn ngữ lập trình bậc cao (như Solidity, LLL, Viper, Serpent…) được biên dịch và lưu trữ dưới dạng Bytecode trong chuỗi khối, để chạy trong một máy ảo (Máy ảo Ethereum) trong mỗi nút khi được kích hoạt. Máy ảo EVM (Ethereum Virtual Machine) cho phép chạy các mã biên dịch từ ngôn ngữ cấp cao (như Solidity – một dạng có cú pháp tương tự như JavaScript) do đó cho phép thực hiện nhiều nhiệm vụ phức tạp hơn. EVM trong trường hợp này có tác dụng như JVM (Java Virtual Machine) cho phép tạo ra môi trường để chạy các mã đặc biệt tương tự như Java Bytecode. Điều này cho phép các nhà phát triển có thể viết các chương trình của riêng họ với mọi mục đích và yêu cầu. Và khác với Bitcoin, Ngôn ngữ của Ethereum có tính chất Turing đầy đủ (Turing-Complete). Tính chất này có thể được hiểu đơn giản là khả năng chạy mọi loại chương trình biểu diễn được bằng thuật toán. Điều này cho phép chúng ta có thể tạo ra bất cứ một ứng dụng nào, bất cứ một loại hợp đồng hoặc thỏa thuận phức tạp nào trên chúng. Các tương tác với các chức năng hợp đồng thông minh xảy ra thông qua các giao dịch trên mạng lưới blockchain, với nội dung hợp đồng dưới dạng Bytcode được thực thi trong máy ảo Ethereum và tạo ra những sự thay đổi lên trạng thái của blockchain. Các trạng thái thay đổi này sau đó sẽ được chia sẻ và cập nhật tương ứng

Smart contract được dùng làm gì

Hợp đồng thông minh (Smart Contract) có thể được sử dụng cho bất kỳ loại giao dịch nào - không nhất thiết phải trong lĩnh vực tài chính.

Khả năng của hợp đồng thông mình là vô tận. Chúng đã được sử dụng cho các giao dịch và dịch vụ tài chính, bảo hiểm, ủy quyền tín dụng, quy trình pháp lý và thậm chí cho các thỏa thuận gây quỹ cộng đồng (ICO).

Các công ty bảo hiểm
Hai công ty bảo hiểm, Bảo hiểm Atlas ở Malta và Axa ở Pháp, đã thử nghiệm hợp đồng thông minh vào năm 2017. Họ có các nguyên mẫu bù cho khách hàng hãng hàng không nếu chuyến bay của họ bị trì hoãn

Hệ thống y tế
Hệ thống y tế sử dụng hợp đồng thông minh để ghi và chuyển dữ liệu một cách an toàn

Ví dụ về các hợp đồng thông minh đang được sử dụng trong ngành y tế như Encrypgen. Đây là một ứng dụng sử dụng hợp đồng thông minh để chuyển dữ liệu bệnh nhân một cách an toàn, không cho phép quyền truy cập từ bên thứ ba

Chính phủ
Đối với các chính phủ, các hợp đồng thông minh chạy trên blockchain có thể khiến các hệ thống bỏ phiếu hoàn toàn không cần sự tin cậy và an toàn hơn rất nhiều

Các ứng dụng như FollowMyVote sử dụng hợp đồng thông minh và công nghệ blockchain để bảo vệ phiếu bầu khỏi gian lận. Khi giao dịch bỏ phiếu được ghi vào blockchain, nó không thể thay đổi. Khi quá trình bỏ phiếu kết thúc, hợp đồng thông minh sẽ gửi mã thông báo đến địa chỉ đại diện cho người chiến thắng trong cuộc bỏ phiếu

Quản lý doanh nghiệp
Các doanh nghiệp có thể được hưởng lợi từ các hợp đồng thông minh. Thay vì trả lương cho nhân viên để kiểm soát bảng lương, họ có thể sử dụng hợp đồng thông minh

ICOs
Nếu bạn muốn bắt đầu dự án của riêng mình sử dụng blockchain, bạn có thể xây dựng nó trên blockchain Ethereum, như chúng ta đã thấy qua các ví dụ. Tuy nhiên, bạn sẽ cần một số!

Làm thế nào mà bạn có được số tiền bạn cần? Hãy đến với ICOs...

ICO (Cung cấp tiền xu ban đầu) là một hệ thống gây quỹ cộng đồng cho các ứng dụng mới sử dụng công nghệ blockchain. Bạn tạo một hợp đồng thông minh và mã thông báo cho hợp đồng thông minh đó. Ví dụ bạn gọi tên token của mình là ABC.

Bạn muốn quyên góp 10.000.000 đô la để bắt đầu dự án và xây dựng ứng dụng của mình - hãy tưởng tượng 10.000.000 đô la tương đương với 10.000 Ether. Bạn quyết định đưa 100.000 token ABC vào hợp đồng thông minh và mỗi token ABC có giá trị 0,1 Ether.

Bằng cách đó, nếu bán tất cả 100.000 token ABC, bạn sẽ có 10.000 Ether mà bạn cần, vì 100.000 x 0,1 = 10.000.

Bây giờ, trong hợp đồng thông minh, bạn viết một cái gì đó tương tự như: NẾU 0,1 ETH được gửi đến hợp đồng thông minh, THÌ hợp đồng thông minh sẽ gửi 1 ABC đến địa chỉ gửi 0,1 ETH đó. Bằng cách này, những người đóng góp vào ICO luôn nhận được số lượng mã token ABC phù hợp.

Tại sao mọi người muốn mua ABC token?

Hai lý do phổ biến nhất mà mọi người mua token từ ICO là:

Mã token có thể được sử dụng trên ứng dụng sau khi nó được xây dựng
Giá của mã token có thể tăng lên khi dự án trở nên phổ biến hơn
Bạn có thể nghĩ về ICO như một phiên bản blockchain của Kickstarter. Sự khác biệt chính là nó tự động hóa toàn bộ quá trình crowdsale một cách an toàn, miễn sự tin cậy

Smart contract được tạo ra như thế nào

Hợp đồng thông minh được xây dựng trên nhiều nền tảng blockchain, bao gồm Ethereum và NEO. Vì Ethereum là lựa chọn phổ biến nhất của các nhà phát triển, tôi sẽ trao đổi với bạn về các hợp đồng thông minh Ethereum. (Ethereum là lựa chọn phổ biến nhất là lý do tại sao bạn sẽ thường xuyên nghe thấy thuật ngữ ‘Ethereum smart contract’ hoặc ‘Ethereum contract’ xuất hiện trên các màn hình của trang điện tử.)

Hợp đồng thông minh được phát triển bằng ngôn ngữ coding gốc Ethereum, được gọi là Solidity.

Hợp đồng thông minh được phát triển bằng ngôn ngữ coding gốc Ethereum, được gọi là Solidity.

Nếu bạn muốn học Solidity, bạn có thể xem Hướng dẫn Solidity tương tác Space Doggos! Đây là một cách thú vị và thân thiện để học Solidity. Bằng cách tuân theo các bước trong khóa học, bạn có thể tạo ra trò chơi Solidity của riêng bạn. Hãy xem tại : https://www.bitdegree.org/course/learn-solidity-space-doggos

Ưu nhược điểm của Smart contract

Ưu điểm của Smart Contract:
- Ứng dụng rộng rãi của Smart Contract có thể sử dụng được trong nhiều lĩnh vực trong tương lai, hiện tại một số lĩnh vực đã triển khai smart contract bao gồm: Tiền điện tử, logistic, ngân hàng, bất động sản thậm chí là việc bầu cử.
- Tự do: Không bị một cơ quan nào quản lý
- Phân tán. Hợp đồng thông minh được sao chép và phân phối trong tất cả các nút của mạng Ethereum. Đây là một điểm khác biệt so với các giải pháp khác dựa trên các máy chủ tập trung.
- Tất định. Hợp đồng thông minh chỉ thực hiện các hành động mà chúng được thiết kế để thực hiện trong trường hợp các điều kiện được thỏa mãn. Bên cạnh đó, các kết quả của hợp đồng thông minh không đổi dù người thực hiện là ai.
- Tự động. Hợp đồng thông minh có thể tự động hóa tất cả các loại tác vụ, nó hoạt động như một chương trình tự thực hiện. Tuy nhiên, trong hầu hết các trường hợp, nếu hợp đồng thông minh không được kích hoạt, nó sẽ duy trì trạng thái “không hoạt động” và sẽ không thực hiện bất kỳ hành động nào.
- Không thể sửa đổi. Không thể sửa đổi hợp đồng thông minh sau khi triển khai. Chỉ có thể “xóa” chúng nếu chức năng này đã được thêm vào từ trước. Do đó, có thể nói rằng hợp đồng thông minh giống như một mã chống giả mạo.
- Có thể tùy chỉnh. Trước khi triển khai, hợp đồng thông minh có thể được mã hóa theo nhiều cách khác nhau. Vì vậy, chúng có thể được sử dụng để tạo ra nhiều loại ứng dụng phi tập trung (Dapp). Điều này là bởi Ethereum là một blockchain có thể được sử dụng để giải quyết bất kỳ vấn đề tính toán nào (Turing complete)
- Không cần dựa trên sự tin cậy. Hai hoặc nhiều bên của hợp đồng có thể tương tác thông qua hợp đồng thông minh mà không cần biết hoặc tin tưởng lẫn nhau. Ngoài ra, công nghệ blockchain đảm bảo tính chính xác của dữ liệu.
- Minh bạch. Vì các hợp đồng thông minh dựa trên một blockchain công khai, không ai có thể thay đổi mã nguồn của chúng, mặc dù bất kỳ ai cũng có thể xem được

 

 

Nhược điểm của Smart Contract:
- Tính pháp lý: Bạn sẽ không được bảo vệ quyền lợi khi xảy ra lỗi phát sinh do pháp luật các nước hiện nay chưa có chính sách để khai thác, quản lý smart contract
- Chi phí triển khai: Cần chi trả cho hệ thống cơ sở hạ tầng, máy tính, và các lập trình viên giỏi để họ triển khai.
- Rủi ro từ internet: Bản chất của Smart Contract là rất an toàn, nhưng nếu bạn để lộ một số thông tin nhạy cảm hoặc bị các hacker khai thác các thông tin đó thì chắc chắn sẽ gặp những trường hợp rắc rối.

Câu hỏi thường gặp về smart contract

Hợp đồng thông minh (Smart contract) xuất hiện lần đầu tiên khi nào?
Khoảng vào năm 1993, Nick Szabo lần đầu tiên đề xuất khái niệm hợp đồng thông minh (smart contract) của riêng mình. Và không lâu sau khi khái niệm này bắt đầu đã được nhiều người chú ý và chấp nhận rộng rãi.

Hợp đồng thông minh (Smart contract) được viết bằng ngôn ngữ lập trình nào?
Những nhà lập trình viên sẽ viết smart contract bằng ngôn ngữ đa dạng như: C ++, Java, Go, Python,...

Mối liên hệ giữa Bitcoin - Ethereum - hợp đồng thông minh (Smart contract) là gì?
Đa phần tất cả mọi người đều biết, Bitcoin là yếu tố thúc đẩy các nhà phát triển hình thành nên smart contract trên blockchain (được gọi là Smart Contract Blockchain), nhưng lúc này Smart contract vẫn chưa phổ biến. Sau khi kết hợp với Ethereum, các Smart contract mới được dùng rộng rãi hơn trong các dự án phi tập trung (DEX).

Hợp đồng thông minh (Smart contract) sử dụng thường xuyên mệnh đề nào?
Mệnh đề được smart contract sử dụng chính là mệnh đề "If… then" để giả định điều kiện cũng như kết quả cho hệ thống hợp đồng thông minh.

Tổng kết

Có thể khẳng định rằng hợp đồng thông minh đã có ảnh hưởng lớn đến thế giới tiền mã hóa, và chúng chắc chắn đã làm thay đổi không gian blockchain. Mặc dù người dùng cuối có thể không tương tác trực tiếp với các hợp đồng thông minh, nhưng những hợp đồng này có thể là cơ sở cho hàng loạt các ứng dụng trong tương lai, từ dịch vụ tài chính đến quản lý chuỗi cung ứng.

Khi kết hợp với nhau, hợp đồng thông minh và blockchain có khả năng thay đổi hầu hết các lĩnh vực trong xã hội của chúng ta. Nhưng chúng ta cần chờ đợi để xem liệu những công nghệ đột phá này có thể vượt qua nhiều rào cản để được áp dụng trên quy mô lớn hay không.

Viết bình luận của bạn:
popup

Số lượng:

Tổng tiền: