Hashing Hoạt Động Như Thế Nào trong Blockchain?
Vậy thuật toán hashing trong blockchain là gì, và nó hoạt động như thế nào? Nói vắn tắt, thuật toán hashing lấy một dãy số vô hạn của bit, thực hiện phép toán, và đầu ra là một số cố định của bit. Bất kể kích thước dữ liệu đầu vào là gì, đầu ra luôn được điều chỉnh. Kết quả là, dữ liệu ban đầu được gọi là đầu vào, và lần chuyển hóa cuối cùng được gọi là hash. Ngày nay, rất nhiều thuật toán hashing chỉ khác nhau về cách thông tin được xử lý.
Để hiểu được hoàn toàn hashing là gì, trước hết cần phải hiểu được cấu trúc dữ liệu. Cấu trúc dữ liệu là một cách đặc biệt để lưu trữ dữ liệu bao gồm hai yếu tố then chốt: con trỏ và danh sách liên kết. Con trỏ là các biến trỏ tới các biến khác, nên chúng hoạt động như các chỉ số dẫn đường tới đúng địa chỉ. Bên cạnh đó, nó cung cấp địa chỉ của khối tiếp theo trong chuỗi. Danh sách liên kết, mặt khác, tạo ra một tập hợp các nút mạng liên kết với nhau với sự giúp đỡ của con trỏ.
Nhờ có hashing trong blockchain, mỗi khối được giao một định danh gốc, thứ sẽ kéo theo những kết quả không thể đảo ngược khi thay đổi blockchain. Khối được xác định bằng thông tin nằm trên tiêu đề của khối. Nó bao gồm những chi tiết như:
- Số phiên bản của blockchain
- Dấu thời gian UNIX
- Con trỏ hash
- Nonce, là giá trị mà thợ đào cần để tạo ra khối
- Hash của Merkle root
Tất cả yếu tố này là cần thiết để tạo ra khối. Nên khi hash xảy ra trên blockchain, dữ liệu sẽ được chuyển đổi thành một chuỗi độc nhất trong một khối.
Làm Thế Nào Để Giải Mã Hash?
Để giải mã hash, nó bắt đầu từ việc giải phép toán phức tạp chứa dữ liệu trên tiêu đề khối. Nhưng trước khi thợ đào bắt đầu thực hiện, họ cần trải qua quá trình trial-and-error để quyết định dùng chuỗi nào làm một nonce. Khi một nonce được xác định, thợ đào sẽ tập trung vào nonce (một chuỗi số) liên quan tới nội dung hash của khối trước đó. Để một hash được coi là thành công, hash mới cần phải nhỏ hơn hoặc bằng hash mục tiêu. Và đổi lại, thợ đào sẽ nhận được phần thưởng để thêm khối vào blockchain.
Mối Liên Hệ của Proof of Work trong Hashing
Thuật toán Proof of Work (PoW) tương quan với hash blockchain vì thuật toán này rất hữu dụng để xác nhận giao dịch và tạo ra khối mới trong chuỗi.
PoW Hoạt Động Như Thế Nào?
Tính phi tập trung là một thuộc tính quan trọng của blockchain, nhưng nó vốn có thể bị tổn thương. Làm thế nào để người dùng khác biết được blockchain là chính xác nếu người tham gia muốn tải một bản sao của blockchain? Giả sử có hàng ngàn máy tính trên mạng; điều gì ngăn họ lập mưu lừa người dùng mới với dữ liệu do họ tạo ra?
Đó là lúc thuật toán PoW sinh ra. Nó cho phép người tham gia mạng lưới blockchain biết được thông tin thực sự là miễn phí hay gì khác.
Lịch sử giao dịch là tất cả trên web, nơi bạn cần biết ai trả tiền và ai nhận được nó. Trước đây, không thể có được sự đồng nhất hoàn toàn trong mạng lưới phi tập trung mà không có bên thứ ba kiểm soát. Hàm hash đã biến nó thành có thể vì nó cung cấp dấu vân tay kỹ thuật số độc nhất của một mẩu dữ liệu.
PoW trong Thế Giới Crypto
Ý tưởng của PoW được thiết kế để chống lại tấn công DDoS làm đóng băng hệ thống và từ chối thực hiện yêu cầu của người dùng. PoW cũng ngăn chặn spam và bảo vệ hiệu quả toàn hệ thống mạng. Dù nó không phải giải pháp lý tưởng cho vấn đề, ý tưởng này vẫn tương đối hiệu quả.
Trong thế giới crypto, PoW bảo vệ tiền điện tử vì nó hỗ trợ mạng phi tập trung. Một ví dụ đơn giản: một người tạo ví điện tử không đồng bộ hóa với toàn bộ mạng lưới. Ngay khi anh ta kết nối, ví thay đổi tình trạng thành ‘đã đồng bộ’ khi nó bắt đầu truy cập blockchain.
Tại Sao Lừa Đảo Mạng Lại Không Đem Lại Lợi Nhuận Cho Thợ Đào?
Hash rất hữu ích giúp điều tiết hệ thống tốt hơn, nhưng nó cũng có giá của nó. Khi thợ đào tạo một khối mới cho blockchain, họ phải cung cấp hai hash cho mạng:
- Một hash cho toàn bộ giao dịch trong khối.
- Một hash chứng minh thợ đào đã tốn một lượng tài nguyên năng lượng đáng kể để tạo ra khối.
Dù hệ thống có ổn định, thì phần thưởng cho thợ đào cũng rất nhỏ. Cân nhắc lượng tài nguyên cần để giải mã hash cho thấy công việc này không có mấy lợi nhuận. Nhưng để làm điều đó, thợ đào cần phải tổ chức một hệ thống như chơi xổ số, mà chỉ có một người thắng cuộc. Và chẳng có gì đảm bảo tìm được hash.
Bên cạnh đó, nếu GPU và CPU yếu thì thời gian xử lý sẽ là vô tận, chỉ có máy tính với trang bị đắt tiền mới đảm nhận được sức mạnh xử lý. Kể cả vậy, những máy tính này tiêu thụ lượng lớn điện, khiến cho toàn bộ quá trình không mang lại lợi nhuận cho thợ đào khi tìm được hash hợp lệ cho một khối không hợp lệ giao dịch. Cuối cùng, thật vô nghĩa khi xác minh một khối “sai”, dù toàn bộ giao dịch là hợp lệ và tiến hành hash. Toàn bộ máy tính khác trên mạng sẽ từ chối khối không hợp lệ, nghĩa là thợ đào sẽ không nhận được phần thưởng.
Bằng Chứng Giao Dịch (Proof of Transaction)
Khi gửi tiền điện tử, người dùng phải xác nhận hành động trên ví của họ, điều đó sẽ phát sinh giao dịch trên blockchain. Sau đó, giao dịch sẽ nằm trong bể giao dịch chờ xử lý, nơi chúng sẽ nằm chờ cho tới khi được thợ đào nhặt lên.
Những giao dịch loại này có thể tích lũy trong một bể lớn hoặc các bể nhỏ riêng biệt. Thợ đào chọn giao dịch từ mỏ đào và đưa chúng vào khối mới. Khối này bao gồm các giao dịch đang chờ xác nhận kèm theo siêu dữ liệu. Cuối cùng, mỗi thợ đào tạo một khối riêng. Và cùng các giao dịch đó có thể tham gia khối của các thợ đào khác nhau.
Thợ đào phải đảm bảo rằng mỗi giao dịch đưa ra phải đáp ứng các yêu cầu thực thi. Trong trường hợp người gửi có đủ số dư trong tài khoản, giao dịch là hợp lệ và có thể thêm vào khối. Để xử lý nhanh hơn, người gửi có thể tăng phí đào. Như thế, các thợ đào sẽ nhận các giao dịch có giá trị cao hơn, chọn các giao dịch có lợi nhuận lớn nhất, làm quá trình xử lý giảm xuống.
Mỗi giao dịch có hash được lưu lại theo cấu trúc hình cây. Các hash này cũng là hash theo mô hình Merkel root. Công nghệ này chứa đựng thông tin về toàn bộ các giao dịch.
Hàm Hash Mật Mã Hóa Là Gì?
Hàm hash mật mã hóa có nhiều thuộc tính đặc trưng khiến chúng rất hữu ích khi dùng trong cryptographic sphere.
- Kết quả của hàm hash luôn giống nhau. Đặc tính này gọi là tính xác định. Dù bạn có nhập cùng một thông điệp bao nhiêu lần, đầu ra vẫn luôn như vậy sau khi áp dụng hàm hash. Tuy nhiên, chỉ một thay đổi nhỏ ở dữ liệu đầu vào (‘Bài báo’ thay vì ‘bài báo’) thì kết quả sẽ thay đổi ngay lập tức.
- Nó có chức năng tính toán nhanh vì tốc độ chậm sẽ làm hệ thống không hiệu quả.
- Tính năng Preimage resistance trong hàm hash khiến nó không thể tính toán để xác định đầu vào từ dữ liệu hash. Từ đó, thợ đào chỉ có thể so sánh kết quả tới khi tìm được cặp trùng nhau.
Đơn Vị Tỉ Lệ Hash
Tỉ lệ hash là tổng năng lực tính toán của thiết bị đào tham gia đào tiền điện tử. Đơn vị đo lường bao gồm:
- Hash/giây (H/s)
- Kilohash/giây (KH/s)
- Megahash/giây (MH/s)
- Gigahash/giây (GH/s)
- Terahash/giây (TH/s)
- Petahash/giây (PH/s)
- Exahash/giây (EH/s)
Do việc đào ngày càng trở nên phức tạp, gần như không thể nhìn thấy đơn vị ‘H/s’ trong mạng lưới blockchain hiện đại. Ngày nay, các thiết bị được tăng cường sức mạnh cần để giải quyết các vấn đề rơi vào khoảng 10 MH/giây.
Ví dụ, một bộ vi xử lý có sức mạnh 10 MH/giây nghĩa là nó có thể tạo ra 10 triệu tổ hợp số học khác nhau trong một giây để tìm ra hash sẽ khớp với mọi thông số đặt ra bởi mạng lưới.
Tuy nhiên, có nhiều yếu tố khác nhau để xác định tỉ lệ hash. Kể cả việc lựa chọn thuật toán đào cũng ảnh hưởng tới thông số. Cũng cần biết các thiết bị khác phản ứng thế nào với các thuật toán khác nhau. Trong khi một số cung cấp khả năng tối đa cho mạng lưới có thuật toán SHA (Bitcoin, Peercoin, v.v.), kết quả có thể kém đi nếu cùng mạng lưới đó dùng thuật toán Script.
Dữ Liệu Hash Được Bảo Mật Như Thế Nào?
Mỗi khối chứa một hash từ khối trước (khối mẹ) ngoại trừ khối Genesis. Hình dung một chuỗi các khối có hash của các khối mẹ. Nếu thông tin của một trong những khối này thay đổi, nó sẽ ảnh hưởng tới toàn bộ chuỗi khối khác. Tuy nhiên, khi mạng lưới phát triển, thay đổi hash trên toàn bộ các khối trở nên bất khả thi. Từ đó, quá trình hash trở nên cần thiết cho blockchain, đảm bảo tính độc nhất và nguyên bản của mỗi yếu tố trong hệ thống.
Dữ liệu bất biến và đáng tin cậy là một trong những thuộc tính lõi của blockchain, khiến nó có giá trị và mang lại tiềm năng khổng lồ cho blockchain. Thông tin luôn xác thực, do đó xác định tính toàn vẹn của blockchain.
Làm Thế Nào Để Đo Lường Tỉ Lệ Hash Của Mạng Bitcoin?
Tỉ lệ hash Bitcoin đại diện cho tổng sức mạnh tính toán của toàn bộ nút mạng trên thế giới đang đào Bitcoin. Tuy nhiên, khó mà xác định được nó vì các máy đào tham gia vào mạng lưới ít thông tin, và chúng chỉ liên lạc với mạng lưới sau khi tìm thấy một khối.
Dù vậy, tỉ lệ hash được ước tính hàng ngày bằng cách so sánh số khối tìm thấy trong vòng 24 giờ với con số 144, đó là tỉ lệ kỳ vọng để tìm thấy một khối. Theo thuật toán, tốc độ đào sẽ giữ nguyên (600 giây). Theo cách đó, công thức tính công suất hash Bitcoin là:
Công suất Hash = ((Số khối tìm thấy trong 24 giờ/số lượng khối kỳ vọng) x Công việc)/600
Tỉ lệ hash Bitcoin càng cao, tham số đào càng khó. Vì nó luôn điều chỉnh để tuân thủ với toàn bộ công việc hash. Việc điều chỉnh độ khó là cần thiết cho bảo mật. Vì thế nó giúp các giao thức tránh độc quyền. Duy trì tốc độ đào tiền điện tử là điều cần thiết để tránh lạm phát. Nếu không, thợ đào sẽ tạo ra nhiều Bitcoin nhanh hơn, và tiền điện tử sẽ mất giá.
Hash Ảnh Hưởng Tới Đào Bitcoin Như Thế Nào?
Việc đào giữ được tính phi tập trung bởi vì đơn giản hai thợ đào không thể cùng hash khối như nhau. Thợ đào nhận được giao dịch từ trên mạng theo thứ tự khác nhau. Vì lý do đó, và vì mỗi cá nhân có sở thích khác nhau về vấn đề hoa hồng, mỗi thợ đào xử lý khối sẽ khác nhau một chút.
Trong khi toàn bộ khối có thể được kiểm định chính xác, chỉ một khối được nhập vào blockchain tại một thời điểm. Tất cả thợ đào sẽ phải tiếp tục hash tới khi họ tìm thấy một số cho ra kết quả để mạng lưới công nhận là hợp lệ và thêm khối đó vào blockchain.
Bên cạnh đó, mạng lưới phải bảo đảm tạo ra khối mới mỗi 10 phút để duy trì chính sách tài chính của Bitcoin. Mạng lưới làm việc đó bằng cách điều chỉnh độ khó khi đào hai tuần một lần. Như vậy, nếu khối được kiểm định quá nhanh vì lý do tăng số lượng thợ đào mới, mạng lưới sẽ tăng độ phức tạp lên để giảm lạm phát.
Vì hash blockchain hoàn toàn ngẫu nhiên, kể cả thợ đào với máy tính mạnh nhất không phải lúc nào cũng thắng. Ý tưởng này tương tự như trò xổ số. Người dùng có lượng vé lớn nhất thì có cơ hội thắng nhiều hơn, nhưng không có gì đảm bảo lần nào cũng thắng.
Nói chung, thợ đào tạo ra khối giao dịch đã kiểm định rồi chạy Proof of Work trên khối đó, hy vọng tìm được hash theo quy tắc của mạng lưới trước những thợ đào khác. Nếu quá trình thành công, khối này sẽ nhập vào blockchain, và thợ đào nhận được phần thưởng. Cấu hình phần cứng cũng quan trọng, cần phải cân nhắc yếu tố này khi mua thiết bị đào.
Có Phải Hash Chỉ Áp Dụng cho Bitcoin?
Hashing là phần trung tâm và tích hợp của các blockchain khác nhau. Rất nhiều tiền điện tử hỗ trợ đào, như là Litecoin hay Bitcoin Cash. Các blockchain khác vẫn sử dụng thuật toán đào khác nhau. Tuy nhiên, ngày nay, rất nhiều thuật toán hashing chỉ khác nhau về cách xử lý dữ liệu.
So Sánh Tiêu Thụ Điện Giữa Bitcoin và Ethereum
Bitcoin vẫn là tiền điện tử ngốn nhiều năng lượng nhất. Khi so sánh Ethereum với Bitcoin, Proof of Stake của Ethereum đồng thuận mục tiêu giảm 99% tiêu thụ điện. Để so sánh, PoW của Bitcoin vẫn tiếp tục tăng lên, khi nó đã vượt qua tổng lượng điện tiêu thụ trên toàn Thụy Sĩ. Với việc chuyển sang ETH 2.0, mạng lưới được các người kiểm định tham gia thay vì các thợ đào. Từ đó, nó trở nên bền vững hơn và tạo ra ít phát thải carbon hơn cho môi trường.
Kết Luận
Công nghệ blockchain trở thành một phát minh gây ảnh hưởng nhất thế kỷ qua, định hướng tương lai phát triển công nghệ. Hashing là một hàm mật mã hóa làm tăng sức mạnh cho công nghệ này. Cần phải hiểu hashing là gì và bản chất của công nghệ để có thể đào trong blockchain và kiếm tiền từ nó.
Nguồn: learn.bybit.com