Tất cả những gì bạn cần biết về Ethereum

Dù Bitcoin và Ethereum là những thuật ngữ thường được dùng thay cho nhau nhưng thực ra chúng cũng khá khác nhau. Điểm duy nhất mà Ethereum và Bitcoin giống nhau là chúng đều là những tài sản mã hóa chạy trên blockchain.

Thay vì chỉ là một loại tiền kỹ thuật số (hay tiền ảo - cryptocurrency) như Bitcoin, Ethereum còn có các đặc điểm khiến nó trở thành một máy tính phi tập trung khổng lồ. Để hiểu được Ethereum là gì, ta cần hiểu được cách hoạt động của blockchain.

Blockchain là gì?

Nói một cách đơn giản thì blockchain là một cơ sở dữ liệu không ngừng lớn lên gồm một kiểu dữ liệu nhất định và có những thuộc tính khá riêng:

  • Một khi được lưu trữ trên cơ sở dữ liệu thì sẽ không bao giờ chỉnh sửa hay xóa đi được. Một lần ghi lên blockchain là vĩnh viễn.
  • Không một tổ chức hay cá nhân duy nhất nào duy trì cơ sở dữ liệu mà phải là hàng ngàn người, mỗi người có một bản sao cho riêng mình.

Để hiểu được cách một số người giữ bản sao đồng bộ với người khác, hãy tưởng tượng 10 người trên một mạng. Mỗi người đều có một tập đựng giấy và một tờ giấy trắng trước mặt. Bất cứ khi nào có ai làm gì đó trên mạng này, như chuyển tiền chẳng hạn, mọi người đều sẽ được thông báo.

Sơ đồ minh họa người dùng trên mạng lưới Ethereum
Sơ đồ minh họa người dùng trên mạng lưới Ethereum

Mọi người đều ghi lại thông báo này trên trang giấy cho tới khi trang được viết hết chỗ. Khi đó, mọi người sẽ niêm phong nội dung trên trang lại bằng cách giải một câu đố toán học. Việc này đảm bảo trang của mọi người đều có nội dung như nhau và không bao giờ chỉnh sửa được. Ai làm xong trước sẽ được thưởng một khoản tiền ảo.

Khi trang đã được niêm phong lại, nó được nhét vào tập đựng giấy và trang mới lại được lấy ra, quy trình cứ tiếp diễn như vậy mãi. Theo thời gian, những trang này (chính là các block) chứa những thông tin quan trọng (giao dịch) sẽ được thêm vào tập giấy (chính là chain) và tạo nên cơ sở dữ liệu (hay blockchain).

Blockchain lưu giữ thứ gì?

Một blockchain có thể dùng để lưu trữ bất kì kiểu dữ liệu nào và chính dữ liệu mà blockchain lưu trữ mang lại cho nó giá trị. Blockchain của Bitcoin lưu trữ thông tin các giao dịch tài chính, khiến nó giống với những tiền tệ như đô-la hay pound. Bitcoin không có mục đích nào khác hơn những gì đô-la làm.

Bạn có thể đọc thêm về blockchain tại đây: Blockchain là gì? Blockchain hoạt động như thế nào?

Nhưng Ethereum thì khác. Nó không chỉ đơn thuần là tiền tệ mà còn có mục đích cao hơn.

Ethereum không chỉ đơn thuần là một loại tiền ảo để giao dịch
Ethereum không chỉ đơn thuần là một loại tiền ảo để giao dịch

Ethereum hoạt động như thế nào?

Cũng như bất kì blockchain nào, Ethereum cũng cần hàng ngàn người chạy phần mềm trên máy tính để tiếp sức cho mạng lưới. Mỗi điểm nút (node - hay chính là một máy tính) trong mạng lưới chạy một thứ gọi là Ethereum Virtual Machine (EVM). Hãy nghĩ về EVM như một hệ điều hành có thể hiểu và chạy các phần mềm được viết bằng ngôn ngữ lập trình riêng của Ethereum. Phần mềm hay ứng dụng chạy trên EVM được gọi là các hợp đồng thông minh (smart contract).

Để hoàn thành việc gì trên chiếc máy tính thế giới này, bạn cần phải trả một mức giá. Tuy vậy, bạn sẽ không trả bằng tiền tệ thường mà bằng một loại tiền ảo của riêng mạng lưới gọi là Ether. Ether giống Bitcoin ngoại trừ việc nó có thể được dùng để thực hiện các hợp đồng thông minh trên Ethereum.

Cả con người và hợp đồng thông minh đều là người dùng trên Ethereum
Cả con người và hợp đồng thông minh đều là người dùng trên Ethereum

Cả con người và hợp đồng thông minh đều được coi là người dùng trên Ethereum. Những gì con người làm thì hợp đồng thông minh cũng làm được. Chúng cư xử như bất kì con người nào trên mạng lưới. Cả hai đều gửi và nhận Ether như bất kì tiền tệ nào khác.

Hợp đồng thông minh cư xử như bất kì người dùng con người nào
Hợp đồng thông minh cư xử như bất kì người dùng con người nào

Nhưng không giống con người, hợp đồng thông minh có thể thực hiện các chương trình máy tính định trước để thực hiện nhiều thao tác. Để hiểu được hợp đồng thông minh, hãy xem ví dụ dưới đây.

Sức mạnh của hợp đồng thông minh

Tưởng tượng bạn và tôi cá cược với nhau về thời tiết của ngày mai. Tôi cược là trời nắng còn bạn cược là trời mưa. Chúng ta đều đồng ý là kẻ thua sẽ phải đưa cho người thắng $100. Chúng ta phải làm sao để đảm bảo người thua giữ lời hứa? Có thể có 3 cách thế này.

Cách 1: Tin tưởng nhau

Cách đơn giản nhất là 2 người tin tưởng nhau. Nếu chúng ta là bạn lâu năm và biết mọi thứ về nhau thì đây là cách đơn giản nhất Nhưng nếu chúng ta là người lạ thì sẽ khó hơn 1 chút. Chẳng có lý gì bạn phải tin tôi và tôi cũng vậy.

Cách 2: Kí thỏa thuận

Một cách khác để đảm bảo cho vụ cá cược là kí thỏa thuận hay hợp đồng. Chúng ta xác định các điều khoản chi tiết, bao gồm cả khi người thua vi phạm thỏa thuận và cùng kí vào đó.

Hợp đồng sẽ khiến chúng ta ràng buộc pháp lý vào việc trả cho người thắng nhưng không có giá trị thực tiễn lắm vì buộc phải thực hiện hợp đồng với quy trình pháp lý nhiều khi sẽ đắt đỏ hơn giá trị thực của hợp đồng.

Cách 3: Nhận giúp đỡ từ bạn bè

Chúng ta có thể tìm ra một người bạn chung mà cả 2 cùng tin tưởng, mỗi người đưa $100 cho người đó giữ và hôm sau, tùy theo tình hình thời tiết, cả $200 sẽ được đưa cho người thắng. Dù cũng đơn giản nhưng sẽ thế nào khi người bạn này biến mất cùng với $200?

Hợp đồng thông minh của Ethereum có thể giúp trong những tình huống như vậy. Nó giống như một người bạn mà cả 2 đều tin tưởng nhưng được viết bằng code. Ethereum cho phép chúng ta viết 1 phần mềm chấp nhận $100 từ cả 2 và ngày hôm sau, nó sử dụng API thời tiết để kiểm tra và chuyển số tiền $200 cho người thắng.

Hợp đồng thông minh trở thành người trọng tài đáng tin cậy
Hợp đồng thông minh trở thành người trọng tài đáng tin cậy

Một khi được viết, hợp đồng thông minh sẽ không thể bị chỉnh sửa hay thay đổi. Do đó, bạn có thể chắc chắn rằng hợp đồng sẽ thực hiện đúng như những gì đã nói dù có chuyện gì xảy ra.

Nhưng hợp đồng thông minh thực hiện như thế nào? Và nó liên quan gì tới blockchain?

Hợp đồng thông minh liên quan gì tới blockchain?

Bất cứ khi nào hợp đồng được thực hiện, nó sẽ ghi lại thông tin trên block như một giao dịch. Ở mức rất cao, giao dịch trên Ethereum sẽ giống như thế này.

Giao dịch bằng hợp đồng thông minh trên Ethereum
Giao dịch bằng hợp đồng thông minh trên Ethereum

Vùng “dữ liệu” là những gì khiến Ethereum trở nên độc nhất. Nó được dùng để ghi lại việc tạo và thực hiện hợp đồng thông minh như một giao dịch. Bất kì một block nào trên Ethereum blockchain đều chứa 3 kiểu giao dịch sau.

Chuyển Ether thông thường từ người dùng sang một người dùng là con người

Đây là những giao dịch như BItcoin thông thường. Nếu bạn gửi Ether trực tiếp tới cho bạn mình thì vùng dữ liệu này sẽ được để trống.

Giao dịch giữa hai người dùng là con người
Giao dịch giữa hai người dùng là con người

Chuyển Ether từ người dùng tới không ai cả

Khi giao dịch được thực hiện mà không có người nhận, có nghĩa là mục đích của giao dịch là tạo hợp đồng thông minh trên mạng lưới, sử dụng nội dung trong vùng dữ liệu. Vùng này sẽ chứa code phần mềm và hành động như bất kì người dùng nào khác trên mạng lưới.

Hợp đồng gửi tới không ai cả
Hợp đồng gửi tới không ai cả

Chuyển Ether từ người dùng tới một hợp đồng thông minh

Bất cứ khi khi nào người dùng (hoặc một hợp đồng thông minh) muốn thực hiện một hợp đồng, anh ta/cô ta/nó buộc phải thực hiện 1 giao dịch với hợp đồng thông minh và đưa hướng dẫn thực hiện vào vùng dữ liệu.

Khi người nhận là một hợp đồng thông minh
Khi người nhận là một hợp đồng thông minh

Cũng như ở bất kì blockchain nào, khi nào 1 trong 3 sự kiện kể trên diễn ra thì nó sẽ thông báo cho cả mạng lưới và mọi người sẽ ghi lại. Bên cạnh đó, mỗi nút cũng thực thi hợp đồng đã được hướng dẫn để đưa trạng thái EV, đồng bộ với cả mạng lưới.

Mỗi nút thực thi một phần của phần mềm khiến cả hệ thống hành động như 1 máy tính phân phối (distributed computer) khổng lồ (nhưng chậm chạp). Mỗi lần thực thi nhỏ nhất đều được ghi lại trên blockchain mãi mãi.

Gas là gì?

Người dùng sử dụng hợp đồng thông minh phải trả 1 khoản tiền để thực hiện nó. Mức giá này được trả cho nút phụ thuộc vào bộ nhớ, kho lưu trữ, khả năng tính toán và điện năng cần thiết để thực hiện hợp đồng.

Để tính mức giá của hợp đồng thông minh, mỗi tuyên bố phải chỉ định trước. Ví dụ bạn thực hiện 1 tuyên bố sử dụng bộ nhớ của nút, không gian lưu trữ trên ổ đĩa của nút… đều có 1 mức giá riêng. Đơn vị của mức giá này gọi là Gas. Gas sau đó sẽ được chuyển sang Ether bằng tỉ giá.

Bất cứ khi nào thực hiện hợp đồng thông minh, bạn sẽ xác định mức Gas tối đa. Việc thực hiện sẽ ngừng lại khi hoàn thành hoặc khi đạt tới giới hạn Gas Limit. Việc này dùng để tránh các hợp đồng thông minh lặp lại mãi mãi, tránh các chương trình bị kẹt và thực thi liên tục nhiều tuyên bố giống nhau mà không tiến lên bước tiếp theo.

Những tình huống như vậy xảy ra là do sự bất cẩn của người lập trình. Với mỗi lần lặp lại, một số Gas chỉ định bị sử dụng và khiến cho vòng lặp mãi mãi sẽ bị dừng lại. Việc nút bị kẹt trong tình huống này do lỗi của lập trình viên là rất vô lý nên Gas giúp giải quyết vấn đề này.

Và đó chính là Ethereum

Ethereum không chỉ là tiền ảo để giao dịch, giá trị thực sự của nó nằm ở mục đích của nó, đó là cho phép người sở hữu sử dụng máy tính thế giới, nơi có hàng ngàn nút đang hoạt động.

Tất nhiên bởi mỗi một tuyên bố nhỏ nhất đều được mọi nút trong mạng lưới thực hiện nên máy tính phân phối phi tập trung này sẽ rất chậm và đắt. Nhưng chậm so với gì? Với các máy chủ kiểm soát tập trung.

Để có được chi phí thấp khi sử dụng máy tính tập trung, chúng ta trao cho họ quyền kiểm soát. Nếu máy chủ trung tâm bị hack thì sẽ kéo theo tất cả khách hàng. Máy tính phi tập trung sẽ chị bị hạ khi tất cả các nút bị hạ, khiến nó trở thành chiếc máy tính luôn khả dụng. Ở đâu có Internet, ở đó có Ethereum.

Thứ Tư, 07/03/2018 08:48
44 👨 1.979
0 Bình luận
Sắp xếp theo