2020/01/23
blockchain

Smart contract là gì? Giải thích rõ về hệ thống và vấn đề của smart contract.

Nói đến tiền ảo, người ta thường có xu hướng nói về công nghệ Blockchain.

Tuy nhiên, không thể không chú ý đến Smart Contract (Hợp đồng thông minh) – loại hình Hợp đồng ứng dụng Ethereum đứng thứ hai về vốn hoá thị trường.

Khả năng tương thích của Blockchain và Smart contract là rất đáng chú ý, các ví dụ về việc sử dụng 2 hệ thống này đã và đang bắt đầu xuất hiện.

Đây cũng là thuật ngữ liên quan đến IoT hay Fintech được nói đến nhiều thời gian gần đây.

Biết được cơ chế cũng như đặc trưng của Smart Contract có thể giúp ta nhìn thấy được sự chuyển động của xã hội trong tương lai.

Các điểm chính của bài viết này

  • Smart contract là cơ chế tự động hoá giao dịch.
  • Smart contract giúp thực hiện công việc với chi phí thấp và không tốn công sức.
  • Smart contract cũng tồn tại nhiều vấn đề

Smart contract là gì?

Smart contract dịch theo đúng nghĩa đen là “Hợp đồng thông minh”.

Ý nghĩa của Smart Contract được sử dụng trong Tiền ảo thường là “Hợp đồng tự động”.

Thông thường, khi ký hợp đồng với nhau, mọi người dựa trên sự tin tưởng và thường ký kết dưới dạng văn bản.

Tuy nhiên, Smart contract là cơ chế mà hợp đồng được tự động ký kết khi có Program Code (Mã chương trình) được viết trước.

Smart contract thường được so sánh với máy bán hàng tự động

Cơ chế tự động của Smart contract thường được so sánh với máy bán hàng tự động.

Khi sử dụng máy bán hàng tự động, đầu tiên chúng ta cho tiền vào máy và ấn nút chọn đồ uống mong muốn, sản phẩm bạn đã chọn sẽ được đẩy ra.

Trình tự: “Chọn sản phẩm” -> “Trả tiền” -> “Sản phẩm giao đến người trả tiền” -> “trả tiền thừa”

Máy bán hàng tự động là một cơ chế có thể thực hiện quy trình trên một cách tự động, và có thể nói rằng nó gần giống với Smart contract.

Không cần phải tin tưởng đối tác ký hợp đồng với mình

Smart contract được thực hiện tự động từ giai đoạn xác thực ban đầu cho đến khi thực hiện hợp đồng.

Ngay cả trong trường hợp đối phương đưa ra những thông tin sai lệch, bạn cũng có thể tắt các thông tin đó.

Tức là, khi ký hợp đồng với nhau, không cần phải chắc chắn về mối quan hệ tin tưởng thiết yếu giữa 2 bên.

Do Hợp đồng Smart contract được thực hiện trên công nghệ Blockchain nên thông thường, tất cả thông tin giao dịch đều được công khai. Thông tin của các bên hay tình hình thực hiện đều có thể được nhìn thấy bất kỳ lúc nào nên rất hiệu quả trong việc nâng cao tính minh bạch của thông tin.

Không mất phí trung gian

Smart contract là hệ thống xác nhận tự động nên giúp giảm thiểu chi phí trung gian.

Đối với các hợp đồng từ trước đến nay, có rất nhiều trường hợp không thể xác nhận được độ tin cậy của đối phương, và khi đó, cần phải có môi giới là bên thứ ba.

Tuy nhiên, đối với Smart contract, các bên có thể ký hợp đồng và thực hiện giao dịch mà không cần phải lo lắng đến quan hệ tin tưởng của đối phương, vì vậy sẽ không phát sinh chi phí sử dụng bên trung gian.

Ngoài việc cải thiện hiệu quả công việc, Smart contract còn giúp cắt giảm giảm chi phí khi ký kết hợp đồng.

Có thể làm được những gì nếu sử dụng Smart contract?

Với Smart contract, hợp đồng (giao dịch) có thể được tự động hoá.

Môi trường sống của chúng ta được tạo nên bởi việc thực hiện hợp đồng mỗi ngày.

Ví dụ, “mua cơm hợp ở cừa hàng tiện lợi”, “sửa xe”, “giặt đồ ở tiệm giặt là”… là những việc thực hiện hợp đồng hàng ngày.

Hơn nữa, Smart contract còn được ứng dụng trong lĩnh vực kinh doanh.

Có rất nhiều loại hợp đồng kinh doanh như: hợp đồng bán hàng cho khách hàng, mua hàng từ nhà sản xuất, hợp đồng lao động với nhân viên, hợp đồng uỷ thác dịch vụ với nhà thầu phụ, hợp đồng cấp phép,…

Những điều kiện cần thiết đối với các hợp đồng này được chia thành các loại như sau

  • Các bên ký hợp đồng
  • Điều kiện tiên quyết của giao dịch
  • Thời gian thực hiện hợp đồng
  • Phương thức thanh toán
  • Các điều khoản cam kết
  • Hình thức phạt khi vi phạm hợp đồng

Chỉ cần lập trình trước các điều kiện trên, việc thực hiện hợp đồng phía sau có thể thực hiện tự động bằng Smart contract.

Giao dịch đảm bảo bằng hợp đồng

Smart contract so với việc việc sử dụng một cách độc lập.thì trở thành một công cụ mạnh mẽ hơn khi kết hợp với công nghệ Blockchain .

Đặc trưng của Blockchain là những người tham gia mạng lưới có thể phê duyệt từng giao dịch và xác nhận được tính nhất quán của dữ liệu. Dữ liệu được công khai nên ở trạng thái khó giả mạo.

Bằng việc thực hiện Smart contract trong Blockchain, khi hợp đồng được thực hiện tự động, có thể đảm bảo được tính chính xác của nội dung hợp đồng hay thực hiện được việc chuyển giao quyền lợi chính xác dựa trên thông tin hợp đồng.

Đồng thời, có thể tận dụng lợi ích “Cắt giảm chi phí trung gian” đặc trưng của Smart contract.

Trình tự của Smart contract

Smart contract có 1 chuỗi trình tự từ việc tạo chương trình đến thực hiện hợp đồng.

“Điều kiện của hợp đồng được xác định” → “hợp đồng được hiện nếu các điều kiện được đáp ứng”

Về cơ bản, chương trình sẽ hoạt động theo trình tự như trên.

Nếu sử dụng cơ chế này, từ các hoạt động đầu tư, mua bán trên sàn giao dịch đến việc việc nhận thưởng thông qua việc đào Bitcoin đều có thể được thực hiện tự động bằng Smart contract.

Tuy nhiên, để thực hiện Smart contract cần phải tạo chương trình và cần phải có kiến thức và phương pháp kỹ thuật.

Về mặt kỹ thuật

Để viết mã chương trình (program code) của Smart contract, bạn cần nhớ 2 từ: “Remix” và “Solidity”

Solidity là ngôn ngữ phát triển Smart contract, được sử dụng trong tiền ảo Ethereum mà đã ứng dụng Smart contract.

Mặt khác, remix là môi trường phát triển sử dụng Solidity để viết code trong thực tế.

Môi trường phát triển là remix

remix là phần mềm nguồn mở mà ai cũng có thể sử dụng được. remix có thể tải được trên platform phát triển phần mềm “GitHub”

Nếu sử dụng môi trường phát triển remix, bạn có thể dễ dàng trải nghiệm việc viết code cho Smart contract.

Khi bạn thực hiện Smart contract bằng remix, bạn đã sử dụng ngôn ngữ lập trình có tên là “solidity”.

Ngôn ngữ lập trình Solidity

Ngôn ngữ lập trình của Smart contract về cơ bản là sử dụng solidity.

Cơ chế thực hiện Smart contract như sau:

  1. Tiến hành lập trình mô tả nội dung hợp đồng bằng code solidity.
  2. Chuyển đổi (dịch) code hợp đồng sang ngôn ngữ máy.
  3. Thêm code đã được dịch vào thông tin giao dịch trên Block chain.
  4. Nội dung hợp đồng được xác nhận chính thức bởi miner (thợ đào)
  5. Người thực hiện hợp đồng xác nhận thông tin giao dịch.

Về cơ bản, những việc mà các bên thực hiện hợp đồng làm là viết code bằng ngôn ngữ solidity trên remix.

Vấn đề của Smart contract

Nếu Smart contract được thực hiện, có rất nhiều lợi ích to lớn như hiệu quả kinh doanh được nâng cao, đời sống xã hội thuận tiện hơn.

Tuy nhiên, Smart contract ngoài những lợi ích to lớn như vậy thì cũng có những hạn chế.

Bây giờ, tôi sẽ giải thích về các vấn đề của Smart contract.

Vấn đề của Smart contract

  • Không thể cập nhật hợp đồng
  • Ngôn ngữ lập trình đặc biệt trong trường hợp Ethereum

Trừ khi 2 vấn đề trên được giải quyết, sẽ là quá sớm để Smart contract có thể được sử dụng rộng rãi trong xã hội.

Vấn đề 1: Không thể cập nhật hợp đồng

Smart contract được thực hiện theo nội dung đã được lập trình sẵn từ trước.

Mặc dù nó có ưu điểm là chỉ cần code chương trình không bị sai thì hợp đồng chắc chắn sẽ được thực hiện, nhưng trái lại nó cũng có điểm bất lợi là không linh hoạt trong việc cập nhật thông tin hợp đồng.

Thực tế là một khi hợp đồng tự động đã được ký kết thì cho dù bạn có muốn, có cố gắng thay đổi nội dung đi nữa thì đều rất khó để xử lý.

Nếu chẳng may xảy ra sự cố hay lỗi hệ thống, hợp đồng vẫn được thực hiện y nguyên như vậy.

Ngoài ra, nếu thông tin bị lấy mất do bị hack hay do truy cập trái phép, nó sẽ trở thành một chương trình hết sức nguy hiểm.

Vấn đề 2: Ngôn ngữ lập trình đặc biệt trong trường hợp Ethereum

Ngôn ngữ lập trình solidity được sử dụng trong Ethereum

Đây không phải ngôn ngữ lập trình phổ biến, do đó dẫn đến việc gia tăng rào cản đối với Smart contract.

Đây là ngôn ngữ lập trình rất khó hiểu đối với người bình thường nên rất ít người có thể hiểu được nó.

Ví dụ về thực hiện Smart contract

Smart contract không chỉ được ứng dụng trong Ethereum.

Ngoài Ethereum, Smart contract còn được sử dụng trong Altcoin hay Dapps

Các ứng dụng sử dụng tiền ảo (phần nhiều là game) là 1 ví dụ cho việc sử dụng Dapps. Trong số các ứng dụng dưới đây, cryptokitties là ứng dụng sử dụng Dapps.

Những ví dụ về việc sử dụng Smart contract khác nhau ở mỗi loại tiền tệ hay ứng dụng.

Golem (Golem/GNT)

Những người tham gia mạng lưới của Golem đều có thể sử dụng khả năng tính toán (spec – thông số kỹ thuật) từ mỗi máy tính.

Bạn có thể tổng hợp thông số kỹ thuật máy tính (PC spec) tập hợp trên mạng lưới Golem trên toàn thế giới và đạt được sức mạnh tính toán như siêu máy tính.

Bằng việc sử dụng cơ chế này, người tham gia mạng lưới Golem có thể nhận các dịch vụ sử dụng các phép tính phức tạp mà các cá nhân không thể thực hiện được.

Cơ chế này được gọi là “Siêu máy tính phi tập trung” và sử dụng Smart contract trong nền tảng hệ thống.

Những người cung cấp thông số kỹ thuật (spec) được gọi là “nhà cung cấp (provider)” và những người nhận dịch vụ được gọi là “người yêu cầu (requestor)”. Mỗi yêu cầu và cung cấp thông số kỹ thuật đều được thực hiện tự động bởi chương trình.

Augur (Augur/REP)

Augur có nghĩa là “thầy bói”. Augur cung cấp dịch vụ dự đoán thị trường bằng việc sử dụng tiền ảo.

Những người tham gia mạng lưới Augur sẽ mua quyền dự đoán những sự việc sẽ xảy ra trong tương lai. Đây là cơ chế phân phối lợi nhuận tương ứng với kết quả thực tế.

Đây không phải là sự cá cược đơn thuần. Ví dụ, nó có thể ảnh hưởng lớn đến thị trường bảo hiểm như việc dự đoán khả năng bị bệnh hoặc sự cố của bản thân và nhận tiền lãi.

Bạn có thể tự dự đoán khả năng mắc bệnh và nhận cổ tức từ Augur nếu kết quả đó chính xác.

Đặc trưng của “Không cần công ty môi giới bảo hiểm” là do tất cả hợp đồng đều được thực hiện bằng Smart contract.

cryptokitties

cryptokitties là một trò chơi của Dapps. Người chơi có thể kiếm được tiền ảo bằng cách nuôi mèo (thú cưng) online và mua bán các con vật đã nuôi.

Smart contract cũng được sử dụng trong cryptokitties. Hiện nay rất nhiều loại mèo vẫn đang được sinh ra là nhờ các hợp đồng tự động được thực hiện bằng Smart contract.

Ngoài ra, chương trình Smart contract cũng cho phép người chơi mua bán mèo với những người hoàn toàn xa lạ, hay có thể cho 2 chú mèo giao phối với nhau để đẻ ra mèo con.

 


Tổng kết

Smart contract là cơ chế tự động hoá việc thực hiện hợp đồng.

Nếu chương trình được thiết lập trước, tất cả các công đoạn từ việc xác nhận đối tác giao dịch cho đến khi hoàn thành thanh toán đều được thực hiện tự động.

Để dễ hiểu hơn, bạn có thể hình dung đến một chiếc máy bán hàng tự động mà bạn chỉ cần cho tiền vào, bấm nút là lon nước sẽ được đẩy ra.

Cuộc sống của chúng ta có thể sẽ thay đổi đáng kể nếu như cơ chế của Smart contract được áp dụng rộng rãi trong xã hội.

Sẽ không cần nhân viên bán hàng tại các siêu thị hay cửa hàng tiện lợi. Ngoài ra, đồng tiền kỹ thuật số có thể được thanh toán rất đơn giản, và rất có khả năng máy móc có thể thực hiện giúp chúng ta tất cả những việc lặt vặt trong kinh doanh.

Mặt khác, Smart contract vẫn còn tồn tại nhiều vấn đề. Có thể nói rằng Smart contract cần củng cố môi trường của nó như cách sử dụng xuất phát điểm, sử dụng ngôn ngữ lập trình phổ biến hơn…