Giải ngố toàn tập về Ethereum
Dù cho “ Bitcoin ” và “Ethereum thường đi đôi với nhau, thực tế lại cho thấy chúng rất khác nhau. Điểm chung duy nhất của cả hai đó là chúng đều có một cryptoasset chạy trên nền tảng Blockchain. Thay vì chỉ là một cryptocurrency, như Bitcoin, Ethereum cũng có ...
Dù cho “Bitcoin” và “Ethereum thường đi đôi với nhau, thực tế lại cho thấy chúng rất khác nhau. Điểm chung duy nhất của cả hai đó là chúng đều có một cryptoasset chạy trên nền tảng Blockchain.
Thay vì chỉ là một cryptocurrency, như Bitcoin, Ethereum cũng có nhiều tính năng mà giúp nó trở thành một máy tính phân cấp bậc cao.
Để hiểu Ethereum, người ta phải hiểu cách làm việc blockchain. Nếu bạn đã hiểu nó, hoặc đã đọc hướng dẫn để hiểu blockchain của tôi, xin mời bạn xuống thẳng phần tiếp theo.
Blockchain là gì?
Blockchain, gọi nôm na là một cơ sở dữ liệu. Đây là một loại hình dữ liệu nhất định ngày càng phát triển của và có nhiều tính chất đáng kể:
- Một khi dữ liệu được lưu trữ trong cơ sở dữ liệu, nó không bao giờ có thể được sửa đổi hoặc xóa đi. Mọi hồ sơ lưu trên blockchain là vĩnh viễn.
- Không có cá nhân hay một tổ chức nào duy trì cơ sở dữ liệu; vài ngàn cá nhân thì có, và mọi người đều có một bản sao cơ sở dữ liệu với chính mình.
Để hiểu bằng cách nào nhiều người có thể giữ bản sao cơ sở dữ liệu của họ đồng bộ với những người khác, hãy tưởng tượng có mười cá nhân trong một mạng lưới. Mọi người đang ngồi với một thư mục rỗng và một trang trống trước mặt họ. Bất cứ khi nào có ai làm điều gì đó quan trọng trong mạng, như chuyển tiền, họ thông báo cho tất cả mọi người trong mạng.
Nó tương tự như việc mọi người ghi chú lại thông báo trên lên các trang ( các khối) của mình cho đến khi trang giấy được phủ kín. Khi đó, mọi người niêm phong các nội dung của trang bằng cách giải các bài toán. Giải quyết các bài toán đảm bảo rằng trang của tất cả mọi người có nội dung giống nhau và chúng không bao giờ được sửa đổi. Bất cứ ai giải được bài toán đó đầu tiên, sẽ được nhận được một lượng cryptocurrency.
Một khi đã niêm phong, khối được thêm vào thư mục, một khối mới được đưa ra và quá trình này tiếp tục mãi mãi.
Qua thời gian, các khối có chứa các hồ sơ giao dịch được thêm vào chuỗi do đó tạo thành cơ sở dữ liệu (blockchain).
Blockchain lưu trữ những gì?
Một blockchain có thể được sử dụng để lưu trữ bất kỳ loại dữ liệu nào, và các loại dữ liệu mà blockchain lưu trữ, cung cấp cho nó giá trị. Blockchain của Bitcoin lưu trữ các hồ sơ về giao dịch tài chính, do đó, làm cho nó tương tự như một loại tiền tệ như đô la hoặc pound. Bitcoins không phục vụ thêm mục đích khác so với những gì USD làm. Ethereum thì khác.
Ethereum không phải chỉ đơn thuần là một loại tiền tệ như USD, bảng Anh hoặc Bitcoin. Ethereum có một mục đích lớn hơn chỉ là một đồng tiền. Ethereum là thế này:
Ethereum cơ bản là một máy tính khổng lồ! Tuy nhiên nó là một máy cực kỳ chậm – chậm hơn khoảng năm đến 100 lần so với máy tính thông thường ngày nay – và rất tốn kém. Các ‘máy tính Ethereum’ có công suất tương đương với một trong những loại smartphone hiếm thời thập niên 90; nên không thể làm được gì hơn một số thứ căn bản.
Điều đó nghe không thực ấn tượng lắm, vậy tại sao lại có quá nhiều sự thổi phồng xung quanh Ethereum? Vâng, đó là một câu hỏi hay. Ethereum đang chiếm lĩnh thế giới như vũ bão bởi vì nó là một máy tính hoàn toàn phân cấp được phân phối trên toàn cầu. Hiểu cách thức hoạt động của blockchain của Ethereum sẽ tiết lộ làm thế nào nó hoạt động như một máy tính của thế giới.
Ethereum hoạt động như thế nào?
Giống như bất kỳ blockchain khác, Ethereum cần vài ngàn người chạy một phần mềm trên máy tính của họ để tăng tốc mạng. Mỗi nút mạng (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 hiểu và thực thi các phần mềm viết bằng ngôn ngữ lập trình cụ thể của Ethereum. Các phần mềm / ứng dụng được thực hiện bởi Ethereum Virtual Machine được gọi là ‘hợp đồng thông minh.’
Để thực hiện được bất cứ điều gì trên máy tính thế giới này, bạn cần phải trả một mức giá. Tuy nhiên, bạn không chi trả được bằng tiền bình thường như đô la hoặc pound. Thay vào đó, tất cả mọi thứ phải được trả bằng một loại cryptocurrency vào mạng, gọi là ether. Ether hoàn toàn giống với Bitcoin ngoại trừ việc nó cũng có thể được sử dụng để chi trả cho việc thực hiện các hợp đồng thông minh trên Ethereum.
Một người và một hợp đồng thông minh đều coi là người dùng trên Ethereum. Bất cứ gì một người có thể làm được, một hợp đồng thông minh cũng có thể làm tương tự, và sau đó một số.
Hợp đồng thông minh hoạt động y như bất cứ người dùng con người nào khác trong mạng lưới. Cả hai đều có thể gửi và nhận ether như các loại tiền tệ khác.Nhưng không giống như người dùng con người, hợp đồng thông minh cũng có thể thực hiện một chương trình máy tính được xác định trước để thực hiện các hành động khác nhau khi được kích hoạt. Để hiểu được sức mạnh của một hợp đồng thông minh, chúng ta hãy xem xét một ví dụ.
Sức mạnh của hợp đồng thông minh
Hãy tưởng tượng bạn và tôi đặt cược về thời tiết của ngày mai. Tôi cá rằng mai sẽ có nắng trong khi bạn cược sẽ có mưa. Chúng ta đồng ý rằng kẻ thua cuộc phải cung cấp cho người chiến thắng $100. Làm thế nào chúng ta có thể làm điều này và đảm bảo rằng các kẻ thua cuộc sẽ giữ lời hứa của mình? Tôi có thể nghĩ đến ba cách khác nhau:
1) Tin tưởng lẫn nhau
Cách đơn giản nhất để làm điều này là tin tưởng lẫn nhau. Nếu chúng ta đã là bạn trong một thời gian dài, tin tưởng lẫn nhau là khá dễ dàng. Tôi biết nơi bạn sinh sống và bạn biết tất cả những thứ đáng xấu hổ về tôi. Nhưng mọi thứ trở nên khó khăn hơn nếu chúng ta xa lạ hoàn toàn. Bạn không có lý do để tin tưởng tôi và tôi cũng không có lý do để tin tưởng bạn.
2) Ký một thỏa thuận pháp lý
Một cách chính đáng khác là để xây dựng vụ cược của chúng ta như một thỏa thuận pháp lý. Chúng ta sẽ cùng ký một thỏa thuận xác định tất cả các điều khoản của vụ đặt cược một cách chi tiết – bao gồm những gì sẽ xảy ra nếu bên thua vi phạm thỏa thuận.
Thỏa thuận này sẽ làm cho chúng ta có nghĩa vụ pháp lý phải trả người chiến thắng, nhưng nó sẽ không phục vụ bất cứ mục đích thực tế nào vì ràng buộc thỏa thuận thông qua con đường luật pháp còn đắt hơn so với giá trị của vụ cược.
3) Tìm sự giúp đỡ từ một người bạn chung
Chúng ta có thể tìm thấy một người bạn chung, người cả hai đều tin tưởng và chúng ta đều đưa cho anh / cô ấy giữ 100 $ đảm bảo. Ngày hôm sau, anh / cô ấy sẽ kiểm tra thời tiết và đưa tổng số $ 200 cho người thắng cược. Đơn giản và dễ dàng, ngoại trừ một việc: Nếu người bạn đáng tin cậy bỏ chạy với $ 200?
Bây giờ chúng ta có ba cách khác nhau để đặt cược nhưng mỗi lựa chọn đều có những thiếu sót riêng. Bởi vì chúng ta là người lạ, chúng ta không thể tin tưởng lẫn nhau. Buộc một thỏa thuận pháp lý sẽ rất tốn kém mà nó sẽ không được khả thi lắm. Nhờ giúp đỡ từ một người bạn chung sẽ lại quay về các câu hỏi về niềm tin một lần nữa.
Hợp đồng thông minh Ethereum có thể cứu cánh trong một tình huống như vậy. Hợp đồng thông minh cũng giống như người bạn chung đáng tin cậy nhưng viết bằng mã. Ethereum cho phép chúng ta viết một phần mềm nhận ether trị giá $ 100 từ cả hai phía, và sau đó vào ngày hôm sau, sử dụng API thời tiết để kiểm tra thời tiết và chuyển tổng giá trị ether $ 200 cho người chiến thắng.Một khi một hợp đồng thông minh đã được viết nó không thể chỉnh sửa hoặc thay đổi bằng bất kỳ cách nào. Vì vậy, bạn có thể chắc chắn rằng bất kể hợp đồng ghi gì, nó sẽ được thực hiện trong mọi trường hợp.
Nhưng làm thế nào một hợp đồng thông minh được thực hiện? Và làm thế nào nó liên quan đến blockchain?
Làm thế nào mà hợp đồng thông minh liên quan đến blockchain?
Bất cứ khi nào một hợp đồng thông minh được thực thi, nó ghi lại các thông tin về hành động trên khối như một giao dịch. Trên một mức độ rất cao, một giao dịch trên Ethereum blockchain trông như thế này:Các vùng đều dễ hiểu trừ vùng cuối cùng. Ô ‘Data’ là thứ mang lại sức mạnh độc nhất cho Ethereum. Vùng ‘data’ được sử dụng để lưu trữ những sáng chế và thực hiện hợp đồng thông minh như một giao dịch. Bất kỳ khối nào trên blockchain Ethereum có thể chứa ba loại giao dịch:
1) Giao dịch ether thường xuyên từ một người dùng đến một người dùng.
Đây là những giao dịch giống như giao dịch Bitcoin thông thường trong mạng lưới. Nếu bạn gửi ether trực tiếp đến cho bạn bè, ô dữ liệu sẽ được để trống.
2) Ether không chuyển đến ai cả
Khi một giao dịch không có một người nhận được thực hiện, đồng nghĩa mục đích của giao dịch là tạo ra một hợp đồng thông minh trong mạng lưới bằng cách sử dụng các nội dung hiện tại trong vùng ‘data’. Vùng ‘data’ chứa mã phần mềm sẽ được hành động như một người dùng khác trong mạng.
3) Chuyển ether từ một người dùng đến một hợp đồng thông minh
Bất cứ khi nào một người sử dụng (hoặc hợp đồng thông minh) muốn thực hiện một hợp đồng thông minh, anh / cô / nó được yêu cầu thực hiện một giao dịch với hợp đồng thông minh và đưa các hướng dẫn để thực hiện trong vùng ‘data’.
Cũng giống như trong bất kỳ blockchain khác, bất cứ khi nào một trong ba sự kiện nêu trên xảy ra, nó sẽ thông báo cho toàn bộ mạng và tất cả mọi người sẽ ghi chú lại. Ngoài việc ghi chú, mỗi nút mạng cũng thực hiện hợp đồng thông minh theo hướng dẫn để đông bộ tình hình EVM của họ đồng bộ với phần còn lại của mạng lưới.
Mỗi nút thực hiện một phần của phần mềm, do đó, làm cho toàn bộ mạng lưới hoạt động như một máy tính khổng lồ (nhưng chậm) phân phối. Sau đó mỗi hành động nhỏ được lưu trữ trên blockchain để lưu nó vĩnh viễn.
Chờ đã, tôi nghe nói về một thứ đó gọi là Gas – đó là gì?
Tôi đã nói bạn rằng người dùng sử dụng hợp đồng thông minh phải trả một mức giá nhất định để thực hiện nó. Mức giá này được trả cho các nút thực sự tốn bộ nhớ, lưu trữ, tính toán và điện để thực hiện hợp đồng thông minh.
Để tính giá của hợp đồng thông minh, mỗi câu lệnh đều có mức phí gán cho nó. Ví dụ, nếu bạn thực hiện một lệnh rằng sử dụng bộ nhớ của nút, những loại lệnh đó có chi phí cụ thể. Nếu bạn thực hiện một lệnh sử dụng đĩa lưu trữ của nút, những loại báo cáo có chi phí cụ thể gắn liền với chúng. Các đơn vị trong đó chi phí được xác định được gọi là Gas. Cuối cùng, Gas được chuyển thành ether sử dụng một tỷ giá hối đoái.
Bất cứ khi nào bạn thực hiện một hợp đồng thông minh, bạn phải xác định lượng Gas tối đa được tiêu thụ. Việc thực hiện sẽ ngừng hoặc vào lúc thực hiện xong hoặc lúc đạt giới hạn Gas. Việc này được thực hiện để tránh vòng lặp vô hạn trong hợp đồng thông minh, ngăn chặn các chương trình bị mắc kẹt ngừng thực hiện một dãy các lệnh liên tục mà không tiếp diễn.
Tình huống như vậy xảy ra do sự bất cẩn của lập trình viên. Với mỗi sự lặp lại, một Gas đã đăng kí sẽ được sử dụng, do đó làm cho bất kỳ vòng lặp vô hạn nào trở nên hữu hạn. Thật vô lý khi một nút bị mắc kẹt vì lỗi của một lập trình viên. Khái niệm về Gas giải quyết vấn đề này.
Và, thưa các quý ông và quý bà, là Ethereum
Ethereum không chỉ là một cryptocurrency được giao dịch; giá trị thực của nó phụ thuộc vào mục đích của nó. Mục đích của Ethereum là cho phép chủ sở hữu sử dụng máy tính được phân bổ có vài ngàn nút được kích hoạt.
Tất nhiên, vì mỗi câu lệnh nhỏ phải được thực hiện bởi mọi nút trong mạng, một máy tính phân cấp, phân phối trở nên chậm chạp và tốn kém. Nhưng chậm so với cái gì? Các máy chủ nhanh hơn nhưng được điều khiển trung tâm.
Để hưởng các chi phí thấp hơn của việc sử dụng một máy tính tập trung, chúng tôi cho chúng quyền kiểm soát chúng. Nếu máy trung tâm (máy chủ) bị chậm hoặc bị hack, nó mang theo tất cả các khách hàng gắn liền với nó. Một máy tính phân cấp sẽ chỉ đi xuống nếu mỗi nút đi xuống, làm nó trở thành một máy tính sẽ luôn luôn có sẵn. Bất cứ nơi nào có Internet, sẽ có Ethereum.
Techtalk Via thenextweb