Tại sao chúng ta cần blockchain?
Về bản chất, Blockchain là một cơ sở dữ liệu phi tập trung hay cuốn sổ cái (dịch ra tiếng việt là chuỗi khối), là một hệ thống cơ sở dữ liệu chứa thông tin, được dùng để lưu trữ thông tin trong các khối thông tin được liên kết với nhau, và được quản lý bởi tất cả mọi người tham gia hệ thống, thay vì một bên thứ 3 riêng lẻ như nhà nước hay ngân hàng trung ương; đồng thời cho phép truyền tải dữ liệu một cách an toàn bằng một hệ thống mã hóa phức tạp, và được mở rộng theo thời gian.
Để giải thích cách blockchain hoạt động, tôi sẽ sử dụng một ví dụ. Hãy tưởng tượng bạn muốn gửi một số tiền cho bạn của bạn, bạn sẽ làm thế nào? Bạn sẽ liên hệ với ngân hàng của bạn và yêu cầu ngân hàng chuyển tiền từ tài khoản của bạn đến bạn bè của bạn.
Khi chúng ta thực hiện giao dịch này, tất cả những gì ngân hàng cần làm là tạo một mục trong danh sách đăng ký. Nó sẽ trông giống như hình ảnh trên. Khi mục nhập đã được thực hiện trong danh sách đăng ký, bạn có thể gọi cho bạn bè và nói với họ số tiền đã được chuyển tới tài khoản của họ.
Lưu ý: Chúng tôi không nói về máy tính chỉ để tránh sự phức tạp. Nếu bạn thích, hãy nghĩ về việc đăng ký này như là một cơ sở dữ liệu khác.
Việc mà tất cả chúng ta cần khi chuyển tiền là nhập thông tin vào một đăng ký. Tuy nhiên, mục nhập cần phải được thực hiện trong đăng ký của người khác, và đó là vấn đề. Điều gì xảy ra nếu người quản lý ngân hàng của bạn mắc lỗi khi viết ra giao dịch? Điều gì sẽ xảy ra nếu người quản lý ngân hàng cố tình viết sai giao dịch để giúp cho bạn của bạn? Điều gì xảy ra nếu người quản lý ngân hàng bỏ trốn với sổ đăng ký?
Những người thông minh trong số chúng ta bắt đầu hỏi một câu hỏi quan trọng: làm thế nào chúng ta có thể tránh các bên thứ ba, như ngân hàng, và vẫn duy trì đăng ký? Giải pháp là blockchain.
Blockchain hoạt động như thế nào?
Bây giờ chúng ta biết rằng blockchain chỉ là một cách khác để duy trì đăng ký – không có gì hơn thế. Hãy tưởng tượng có 10 cá nhân muốn ngừng sử dụng tài khoản ngân hàng. Theo thỏa thuận chung, họ luôn có thông tin chi tiết về tài khoản của nhau – mà không cần biết danh tính của người kia.
1. Thư mục trống
Để bắt đầu, mọi người đều có một thư mục trống. Dần dần, mỗi trong số 10 cá nhân này sẽ thêm các trang vào thư mục của họ. Tập hợp các trang này sẽ tạo thành sổ đăng ký theo dõi các giao dịch.
2. Chuyển khoản
Mọi người trong hệ thống ngồi với một trang trống và một cây bút trong tay. Họ đều sẵn sàng viết bất kỳ giao dịch nào xảy ra trong hệ thống.
Giả sử người số 2 muốn gửi 10$ cho người số 9. Để thực hiện giao dịch, người số 2 không nhất thiết phải nói với mọi người rằng: “Tôi muốn chuyển 10$ cho số 9. Vui lòng ghi lại giúp.”
Mọi người sẽ kiểm tra xem số 2 có đủ số dư để chuyển 10$ sang cho số 9 không. Nếu cô ấy có thể, mọi người sau đó ghi lại giao dịch trên trang trống của họ.
3. Theo dõi giao dịch
Giao dịch tiếp tục diễn ra trong hệ thống và mọi người tiếp tục viết chúng xuống cho đến khi trang của họ được lấp đầy. Khi điều đó xảy ra, mọi người phải đặt trang đó vào thư mục của họ, đưa ra một trang mới và bắt đầu lại toàn bộ quá trình.
4. Bắt đầu một trang mới
Thỏa thuận là khi trang đi vào thư mục, phiên bản trang của mọi người phải giống nhau và không được sửa đổi trong tương lai. Để thực hiện điều này, chúng tôi sẽ niêm phong nội dung của trang.
Làm thế nào để chúng ta đánh dấu một trang?
Chúng tôi niêm phong trang bằng cách sử dụng một hàm gọi là hàm băm. Hãy nghĩ về hàm băm như một cỗ máy ma thuật lấy một số dữ liệu từ bên trái và xuất ra một số dữ liệu trông có vẻ vô nghĩa ở bên phải.
Điều quan trọng về các cỗ máy này là chúng làm cho quá trình này rất khó có thể đảo ngược lại. Nói cách khác, được cung cấp một đầu ra, cách duy nhất để tìm ra đầu vào là thử mọi tùy chọn có thể cho đến khi bạn nhấn vào bên phải.
Vì vậy, hãy nói rằng tôi hỏi bạn câu hỏi sau: Tôi nên gửi gì từ phía bên trái của máy để tôi có được một đầu ra bắt đầu bằng ba số 0 đứng đầu (ví dụ: 000ab hoặc 00098)? Bởi vì việc đảo ngược quá trình là không thể, chúng tôi sẽ phải thử mọi số trong vũ trụ cho đến khi chúng tôi có được đầu ra với các ràng buộc mong muốn – ba số không đứng đầu. Tính năng này có ích khi niêm phong trang.
Bây giờ hãy tưởng tượng tôi đã cho bạn hai hộp. Hộp đầu tiên chứa số 20893. Tôi hỏi bạn: Bạn có thể tìm ra một số mà khi thêm vào số trong hộp đầu tiên và đưa vào máy sẽ cho chúng ta một mã bắt đầu bằng ba số 0 đứng đầu không?
Sau khi thử mọi số, chúng ta có thể vấp phải con số – giả sử 21191 – chúng ta đang tìm kiếm. Trong trường hợp này, số 21191 trở thành con dấu cho số 20893. Nếu chúng ta viết 20893 trên một trang và đặt một con dấu có nhãn 21191 trên trang, trang sẽ được niêm phong. Nếu bất cứ ai phải xác minh tính xác thực của trang, họ chỉ cần thêm hai số và đưa ra câu trả lời cho máy. Nếu đầu ra có ba số 0 đứng đầu, nội dung vẫn là xác thực.
Để niêm phong một trang chứa danh sách các giao dịch, chúng tôi cần tìm ra một số mà khi được thêm vào danh sách các giao dịch và được đưa vào máy sẽ cung cấp một mã bắt đầu bằng ba số 0 đứng đầu bên phải.
Bây giờ chúng tôi biết về việc niêm phong trang, chúng tôi sẽ quay lại thời điểm viết xong giao dịch cuối cùng trên trang và chúng tôi đã hết dung lượng để viết thêm.
Làm thế nào để thiết lập số niêm phong?
Ngay khi mọi người hết phòng trên trang để viết thêm các giao dịch, họ tính toán số niêm phong cho trang để có thể lưu trữ nó trong thư mục. Mọi người trong mạng đều tính toán. Người đầu tiên trong mạng tìm ra số niêm phong thông báo nó cho những người khác.
Ngay lập tức khi nghe số niêm phong, mọi người kiểm tra xem nó có mang lại đầu ra cần thiết hay không. Nếu có, mọi người sẽ niêm phong trang của họ bằng số này và bỏ nó vào thư mục của mình.
Bạn có thể hỏi tôi ngay bây giờ: Tại sao mọi người dành thời gian thực hiện phép tính khi họ biết rằng người khác sẽ tính toán và thông báo cho họ? Tại sao không chờ đợi thông báo? Đó là một câu hỏi tuyệt vời. Người thực hiện phép tính đầu tiên sẽ được thưởng một loại tiền điện tử miễn phí – đó là bitcoin . Đó là cách mà bitcoin ra đời.
Và giờ chuyện gì sẽ xảy ra?
Khi mọi người đã lưu trữ trang trong các thư mục của mình, họ đưa ra một trang trống mới và lặp lại toàn bộ quá trình một lần nữa, và cứ như vậy, mãi mãi. Do đó, hãy nghĩ về một trang như một khối giao dịch và thư mục là chuỗi các trang (‘khối’), do đó, họ đã tạo ra blockchain. Và đó, các bạn của tôi, đó là cách blockchain hoạt động.
bởi Quốc Cường vào | 439 lượt xem