General
Blockchain cơ bản

Blockchain cơ bản

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

Vấn đề chi tiêu gấp đôi dường như là không thể về mặt toán học—tiền kỹ thuật số mà không cần cơ quan trung ương. Giải pháp kết hợp ba công cụ toán học đã tồn tại trong nhiều thập kỷ. Cả ba đều đã tồn tại trong nhiều thập kỷ. Đột phá là kết nối chúng lại thành một giao thức duy nhất.

Blockchain hoạt động như thế nào? Chúng giải quyết vấn đề chi tiêu gấp đôi bằng cách sử dụng mật mã và sổ cái phân tán. Thay vì tin tưởng vào một ngân hàng, blockchain cho phép bất kỳ ai xác minh các giao dịch trong khi khiến cho việc gian lận trở nên cực kỳ tốn kém. Hệ thống hoạt động vì gian lận tốn kém hơn giá trị mà nó mang lại.

Hàm băm: Dấu vân tay kỹ thuật số

Hàm băm xác minh rằng một tài liệu khổng lồ không bị thay đổi bằng cách chỉ gửi một mảnh thông tin nhỏ để chứng minh điều đó.

Một hàm băm nhận bất kỳ đầu vào nào—dù là một từ, toàn bộ một cuốn sách, hay một khối chứa hàng nghìn giao dịch—và tạo ra một đầu ra có kích thước cố định: một dấu vân tay kỹ thuật số duy nhất.

Xem xét các hàm băm SHA-256 sau:

plaintext
SHA-256("Hello") = 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
SHA-256("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Chỉ thay đổi chữ hoa của một chữ cái tạo ra một kết quả băm hoàn toàn khác. Đây là hiệu ứng avalanche: những thay đổi nhỏ trong đầu vào tạo ra các đầu ra hoàn toàn khác nhau.

Hàm băm là xác định—cùng một đầu vào luôn cho cùng một đầu ra. "Hello" sẽ luôn tạo ra 185f8db3.... Chúng cũng không thể đảo ngược: tính toán một giá trị băm mất vài mili giây, nhưng làm ngược lại từ một giá trị băm sẽ mất hàng tỷ năm ngay cả khi tất cả máy tính trên trái đất chạy đồng thời. Và chúng thể hiện hiệu ứng avalanche, nơi thay đổi chỉ một bit của đầu vào hoàn toàn thay đổi đầu ra.

Trong blockchain, các hàm băm tạo ra lịch sử không thể thay đổi. Mỗi khối chứa giá trị băm của khối trước đó. Nếu ai đó sửa đổi một giao dịch từ tuần trước, họ sẽ thay đổi giá trị băm của khối đó, làm hỏng tham chiếu của khối tiếp theo. Để che giấu sự thay đổi, họ sẽ cần phải tính toán lại giá trị băm của tất cả các khối tiếp theo nhanh hơn mạng lưới đang thêm các khối mới—gần như không thể.

Chữ ký số: Chứng minh quyền sở hữu

Chữ ký số sử dụng cặp khóa công khai/khóa riêng để chứng minh quyền sở hữu một cách toán học thay vì dựa vào ngân hàng.

Xác thực truyền thống dựa vào các bí mật chia sẻ như mật khẩu. Điều đó không hoạt động cho một hệ thống không có cơ quan trung ương và không có cách nào để chia sẻ bí mật một cách riêng tư. Chữ ký số cho phép xác thực mà không tiết lộ bất kỳ thông tin bí mật nào.

Chữ ký số sử dụng mã hóa bất đối xứng—mối quan hệ toán học chỉ đi theo một hướng: nhanh để tính toán tiến lên, không thể đảo ngược. Khi bạn tạo một hệ thống chữ ký số, bạn tạo ra hai số liên quan về mặt toán học: một khóa riêng và một khóa công khai. Khóa riêng phải được giữ bí mật. Khóa công khai có thể được chia sẻ tự do.

Khóa riêng tạo ra chữ ký số cho một giao dịch cụ thể. Chữ ký là duy nhất đối với cả khóa riêng của bạn và nội dung chính xác của giao dịch. Bất kỳ ai cũng có thể sử dụng khóa công khai của bạn để xác minh rằng chữ ký chỉ có thể được tạo bởi người sở hữu khóa riêng tương ứng.

Không có khóa riêng của bạn, việc tạo một chữ ký hợp lệ là không thể về mặt tính toán, ngay cả khi có quyền truy cập vào hàng triệu chữ ký trước đó. Để ngăn kẻ tấn công phát lại một giao dịch cũ, mỗi chữ ký phải bao gồm dữ liệu duy nhất—thường là một bộ đếm đơn giản gọi là nonce—đảm bảo mỗi chữ ký là duy nhất.

Một khi bạn ký một giao dịch, bạn không thể phủ nhận rằng bạn đã thực hiện nó. Toán học chứng minh điều đó, và bạn không thể phủ nhận nó sau này—một tính chất gọi là không thể chối bỏ.

Trong blockchain, đây là cách ví hoạt động. Ví của bạn lưu trữ các khóa riêng của bạn và ký các giao dịch—đó là tất cả những gì nó làm. Chính các đồng tiền tồn tại trên blockchain dưới dạng các mục của sổ cái.

Cây Merkle: Xác minh hiệu quả

Làm thế nào để bạn xác minh rằng một giao dịch cụ thể tồn tại trong một khối chứa hàng nghìn giao dịch khác mà không cần tải xuống toàn bộ khối?

Cây Merkle tổ chức dữ liệu trong một cây nhị phân, nơi mỗi lá là một giao dịch, và mỗi nút cha chứa giá trị băm của hai nút con của nó. Cấu trúc này tiếp tục lên cây cho đến khi bạn đạt được một giá trị băm gốc duy nhất đại diện cho toàn bộ tập dữ liệu.

Để chứng minh bất cứ giao dịch nào tồn tại trong cây, bạn chỉ cần giao dịch đó và đường dẫn trên cây Merkle: các giá trị băm của các nút anh em cần thiết để tái tạo giá trị gốc. Đối với một cây có một triệu giao dịch, bạn chỉ cần khoảng 20 giá trị băm để chứng minh sự tồn tại—vài kilobyte thay vì gigabyte.

Quá trình xác minh hoạt động như sau:

  1. Bắt đầu với giao dịch của bạn và băm nó

  2. Kết hợp băm của bạn với băm của nút anh em và băm kết quả

  3. Lặp lại cho đến khi bạn đạt được gốc

  4. So sánh gốc bạn tính toán với gốc đã biết

Nếu các gốc khớp nhau, giao dịch chắc chắn tồn tại trong khối. Nếu ai đó thay đổi bất kỳ giao dịch nào, giá trị băm gốc sẽ thay đổi hoàn toàn, điều này làm cho việc giả mạo ngay lập tức bị phát hiện.

Trong blockchain, cây Merkle làm cho việc xác minh trở nên khả thi. Các máy khách thông thường—thiết bị không có không gian để lưu trữ toàn bộ blockchain—có thể xác minh các giao dịch chỉ với vài kilobyte bằng chứng. Mức độ bảo mật vẫn mạnh: nếu đường dẫn Merkle kiểm tra đúng, giao dịch chắc chắn tồn tại trong khối.

Các khối và chuỗi

Giao dịch được nhóm thành các khối. Mỗi khối chứa:

  • Một danh sách các giao dịch

  • Một dấu thời gian

  • Giá trị băm của khối trước đó

  • Một gốc Merkle của tất cả các giao dịch

  • Thông tin bổ sung

Giá trị băm của khối trước đó tạo thành chuỗi. Khối 100 chứa giá trị băm của Khối 99. Khối 99 chứa giá trị băm của Khối 98. Liên kết này tiếp tục trở lại khối khai sinh—khối đầu tiên trong chuỗi.

Kiến trúc này khiến việc giả mạo dễ bị phát hiện. Thay đổi bất kỳ giao dịch nào sẽ thay đổi giá trị băm của khối đó, làm hỏng tham chiếu của khối tiếp theo đến nó. Để che giấu việc giả mạo, kẻ tấn công sẽ cần phải tính toán lại giá trị băm của khối đó, sau đó là giá trị băm của khối tiếp theo, và tiếp tục cho tất cả các khối sau đó, trong khi mạng lưới vẫn tiếp tục thêm các khối mới. Càng quay lại xa trong lịch sử, việc che giấu giao dịch bị giả mạo càng tốn nhiều công sức.

Sổ cái phân tán

Một sổ cái phân tán có nghĩa là hàng nghìn máy tính mỗi máy giữ một bản sao hoàn chỉnh của hồ sơ giao dịch—không phải một ngân hàng duy trì phiên bản chính thức. Mỗi giao dịch được phát tán đến tất cả các thành viên, những người xác minh nó một cách độc lập. Nếu giao dịch hợp lệ, nó sẽ được thêm vào bản sao của họ.

Sự phân phối này làm cho việc gian lận trở nên dễ bị phát hiện. Nếu ai đó cố gắng sửa đổi bản sao cục bộ của họ để tự tăng số tiền, bản sao của họ sẽ không còn khớp với bản sao của mọi người khác. Mạng lưới sẽ phát hiện sự khác biệt và từ chối phiên bản gian lận. Một kẻ tấn công sẽ cần thuyết phục đa số mạng lưới chấp nhận phiên bản sai của họ, điều này trở nên tốn kém về mặt kinh tế khi mạng lưới phát triển.

Sổ cái phân tán loại bỏ điểm thất bại duy nhất. Không có thực thể nào kiểm soát hệ thống, không có máy chủ nào có thể sập và phá vỡ mọi thứ, và không có công ty nào có thể kiểm duyệt giao dịch hoặc đóng băng tài khoản. Miễn là một số người tham gia vẫn trực tuyến, mạng lưới tiếp tục hoạt động.

Một hành trình của giao dịch

Những thành phần này hoạt động cùng nhau mỗi khi ai đó gửi tiền điện tử. Đây là những gì xảy ra khi Alice gửi 1 BTC cho Bob:

  1. Ví của Alice tạo một giao dịch ("chuyển 1 BTC từ Alice đến Bob") và ký nó bằng khóa riêng của cô ấy. Chữ ký số chứng minh Alice đã ủy quyền cho việc chuyển tiền cụ thể này.

  2. Ví gửi giao dịch đã ký đến mạng lưới. Các nút kiểm tra chữ ký và xác nhận Alice có đủ số dư. Các giao dịch hợp lệ nằm trong bộ nhớ đệm cho đến khi một thợ đào chọn chúng.

  3. Một thợ đào thu thập các giao dịch đang chờ xử lý từ bộ nhớ đệm, tổ chức chúng thành một cây Merkle và bao gồm giá trị băm của khối trước đó để mở rộng chuỗi.

  4. Thợ đào tìm một giá trị băm hợp lệ cho khối (chi tiết hơn trong bài học về đồng thuận). Điều này tốn công sức tính toán thực sự, làm cho việc đề xuất các khối gian lận trở nên đắt đỏ.

  5. Thợ đào phát tán khối hoàn chỉnh. Mỗi nút kiểm tra một cách độc lập: Tất cả chữ ký có hợp lệ không? Tất cả người gửi có đủ số dư không? Giá trị băm của khối có đáp ứng yêu cầu độ khó không? Nó có tham chiếu đúng đến khối trước không?

  6. Các nút xác minh khối thêm nó vào bản sao chuỗi của chúng. Giao dịch của Alice bây giờ đã được ghi lại. Càng nhiều khối được xây dựng từ nó, giao dịch càng khó đảo ngược—sau sáu khối (~60 phút đối với Bitcoin), việc đảo ngược là không thể về mặt kinh tế.

Ví của Bob phát hiện số dư mới. Việc chuyển tiền đã hoàn tất. Không có ngân hàng hay trung gian nào tham gia, và bất kỳ ai trên mạng đều có thể xác minh việc chuyển tiền một cách độc lập.

Tạo niềm tin mà không cần cơ quan

Cùng nhau, các giá trị băm phát hiện sự giả mạo, chữ ký chứng minh quyền sở hữu, cây Merkle giữ việc xác minh dễ dàng, và phân tán loại bỏ bất kỳ điểm kiểm soát duy nhất nào. Mỗi người tham gia có thể xác minh độc lập toàn bộ lịch sử chỉ bằng tài nguyên tính toán của riêng họ—không cần tin tưởng ai, chia sẻ bí mật, hay phụ thuộc vào một máy chủ duy nhất nào.

Các hệ thống truyền thống kiểm soát quyền truy cập thông qua các trung gian. Blockchain đảo ngược điều đó: bất kỳ ai cũng có thể xác minh, và gian lận là dễ bị phát hiện. Nó hoạt động vì toán học khiến cho việc gian lận tốn kém hơn so với việc chơi công bằng.

Những nguyên tắc mật mã này ngăn chặn việc giả mạo và chứng minh quyền sở hữu. Nhưng nếu bất kỳ ai cũng có thể đề xuất các giao dịch mới, làm thế nào hàng nghìn người lạ có thể đồng ý về phiên bản nào của sổ cái là chính xác? Cơ chế đồng thuận giải quyết vấn đề phối hợp này.

Nội dung
Xem mã nguồn
Blueshift © 2026Commit: 0b5b255