Cơ chế Giao dịch Bitcoin: UTXO, Mã hóa Khóa Công khai và Scripting

Để hiểu Bitcoin, bạn phải từ bỏ ý tưởng về các đồng tiền kỹ thuật số nằm trong một kho vòm ảo. Trong thế giới ngân hàng truyền thống, tiền được định nghĩa bởi số dư tài khoản. Nếu bạn có tiền trong ngân hàng, một cơ sở dữ liệu trung tâm giữ một con số cụ thể bên cạnh tên của bạn. Bitcoin hoạt động hoàn toàn khác. Không có đồng xu vật lý, cũng không có tệp kỹ thuật số đại diện cho các đồng xu riêng lẻ. Cũng không có tài khoản ở lớp giao thức chỉ đơn giản liệt kê số dư của người dùng.

Thay vào đó, toàn bộ hệ thống dựa trên lịch sử giao dịch. Những gì chúng ta gọi là "bitcoin" về cơ bản là một chuỗi chữ ký kỹ thuật số phản ánh lịch sử chuyển giao giá trị. Quyền sở hữu được thiết lập không phải bằng cách giữ một đối tượng tĩnh, mà bằng khả năng tạo một mục nhập mới trong sổ cái này. Khi người dùng kiểm tra số dư ví, phần mềm thực sự quét toàn bộ blockchain để tính tổng tất cả các giao dịch chưa chi tiêu có thể truy cập bởi khóa của họ.

Sự khác biệt kiến trúc này là nền tảng để mạng duy trì tính phi tập trung. Không có ngân hàng trung ương để cập nhật sổ cái chính của số dư, mạng dựa vào chuỗi lưu ký minh bạch, có thể xác minh. Mọi giao dịch đều chỉ về một giao dịch trước đó, liên kết hoàn toàn trở lại khoảnh khắc các đồng xu được đúc lần đầu bởi thợ đào. Cấu trúc này đảm bảo giá trị không thể được tạo ra từ không khí và lịch sử của mọi phần nhỏ của bitcoin đều có thể truy vết và bất biến.

Nền tảng của Quyền sở hữu: Mã hóa Khóa Công khai

Hiểu về Cặp Khóa

Trái tim của cơ chế giao dịch Bitcoin nằm ở mã hóa khóa công khai. Khung toán học này cho phép người dùng tạo danh tính kỹ thuật số an toàn mà không cần đăng ký với cơ quan trung ương. Quyền sở hữu được định nghĩa bởi việc sở hữu một cặp khóa: khóa riêng và khóa công khai. Khóa riêng là một bí mật được tạo ngẫu nhiên, tương tự như mật khẩu, nhưng phức tạp hơn nhiều. Nó cấp quyền di chuyển quỹ.

Khóa công khai được suy ra toán học từ khóa riêng. Nó có thể được chia sẻ công khai mà không ảnh hưởng đến bảo mật. Từ khóa công khai này, mạng tạo ra địa chỉ Bitcoin, hoạt động như điểm đến cho quỹ. Con đường một chiều này rất quan trọng. Bạn có thể dễ dàng tạo khóa công khai từ khóa riêng, nhưng không thể đảo ngược quá trình để suy ra khóa riêng từ khóa công khai.

Sự bất đối xứng này cho phép mạng hoạt động mà không cần tin cậy. Khi người dùng muốn nhận quỹ, họ chia sẻ địa chỉ của mình. Khi họ muốn chi tiêu quỹ, họ sử dụng khóa riêng để ký mật mã một thông điệp. Chữ ký này chứng minh họ sở hữu khóa riêng liên kết với địa chỉ giữ quỹ, mà không bao giờ tiết lộ khóa riêng cho mạng hoặc người nhận.

Vai trò của Chữ ký Kỹ thuật số

Một giao dịch Bitcoin về cơ bản là một thông điệp nêu rằng, "Tôi đang di chuyển những bitcoin cụ thể này đến địa chỉ mới này." Để làm cho thông điệp này hợp lệ, nó phải được ký kỹ thuật số. Chữ ký kỹ thuật số được tạo bằng cách áp dụng khóa riêng của người gửi vào dữ liệu giao dịch. Quá trình này tạo ra một chuỗi dữ liệu duy nhất cụ thể cho giao dịch chính xác đó.

Nếu bất kỳ phần nào của chi tiết giao dịch bị thay đổi—như số lượng hoặc địa chỉ đích—chữ ký sẽ không còn khớp. Điều này đảm bảo rằng một khi giao dịch được ký và phát sóng, nó không thể bị can thiệp bởi bên thứ ba. Các bên tham gia mạng, hoặc nút, có thể sử dụng khóa công khai của người gửi để xác minh chữ ký một cách toán học.

Nếu toán học khớp, mạng biết giao dịch là hợp pháp và được ủy quyền bởi chủ sở hữu thực sự. Nếu thất bại, giao dịch bị từ chối ngay lập tức. Việc xác minh này diễn ra tự động trên hàng nghìn máy tính trên toàn cầu, bảo mật mạng mà không cần can thiệp con người.

Thành phần Chức năng Mức độ công khai
Khóa Riêng Ký giao dịch để chứng minh quyền sở hữu Bí mật (Chỉ chủ sở hữu)
Khóa Công khai Xác minh chữ ký với địa chỉ Công khai (Mạng)
Địa chỉ Điểm đến để nhận quỹ Công khai (Ai cũng được)

Mô hình Đầu ra Giao dịch Chưa chi tiêu (UTXO)

Cách Bitcoin Xử lý Giá trị

Hầu hết mọi người quen với mô hình "dựa trên tài khoản" được sử dụng bởi ngân hàng và thẻ tín dụng. Trong hệ thống đó, nếu bạn có 100 đô la và chi 20 đô la, ngân hàng chỉ đơn giản cập nhật mục nhập cơ sở dữ liệu của bạn thành 80 đô la. Bitcoin sử dụng logic khác được gọi là mô hình Đầu ra Giao dịch Chưa chi tiêu (UTXO). Trong hệ thống này, không có số dư cố định, chỉ có các khối bitcoin đã nhận nhưng chưa chi tiêu.

Hãy tưởng tượng các UTXO này như tiền mặt kỹ thuật số hoặc các hạt vàng có kích thước khác nhau. Nếu bạn nhận một giao dịch 0.5 BTC và một giao dịch khác 0.3 BTC, bạn giữ hai UTXO riêng biệt trong ví. Chúng không hợp nhất thành một "đồng" 0.8 BTC duy nhất trên blockchain, ngay cả khi phần mềm ví hiển thị tổng số để tiện lợi. Chúng vẫn là các bản ghi giá trị riêng biệt đang chờ được sử dụng.

Khi bạn khởi tạo giao dịch, ví của bạn chọn đủ UTXO để bao phủ số lượng bạn muốn gửi. Bạn không thể chia UTXO làm đôi mà không chi tiêu toàn bộ. Điều này tương tự như cách tiền mặt vật lý hoạt động. Bạn không thể xé tờ 20 đô la để trả cho món hàng 10 đô la. Bạn phải giao toàn bộ tờ và nhận tiền thừa.

Đầu vào, Đầu ra và Tiền thừa

Mọi giao dịch Bitcoin bao gồm đầu vào và đầu ra. Đầu vào là tham chiếu đến các UTXO trước đó mà bạn đang chi tiêu. Đầu ra là các điểm đến mới cho giá trị đó. Khi bạn xây dựng giao dịch, bạn tiêu thụ các UTXO hiện có làm đầu vào và tạo UTXO mới làm đầu ra.

Ví dụ, nếu một thợ đào kiếm phần thưởng khối 6.25 BTC, đó là một UTXO duy nhất. Nếu thợ đào muốn gửi 1 BTC cho Alice, họ không thể chỉ gửi 1 BTC. Họ phải xây dựng giao dịch lấy UTXO 6.25 BTC làm đầu vào. Giao dịch sau đó sẽ có hai đầu ra.

Đầu ra đầu tiên gửi 1 BTC cho Alice. Đầu ra thứ hai gửi 5.25 BTC còn lại trở lại địa chỉ của chính thợ đào. Đầu ra thứ hai này được gọi là "đầu ra tiền thừa." Trên blockchain, UTXO 6.25 BTC gốc được đánh dấu là đã chi tiêu và không còn hợp lệ cho các giao dịch tương lai. Thay vào đó, hai UTXO mới (1 BTC và 5.25 BTC) được tạo và ghi nhận. Chuỗi đầu vào và đầu ra này tạo ra lịch sử bất khả phá vỡ của đồng tiền.

Bitcoin Script: Ngôn ngữ của Giao dịch

Thực thi Dựa trên Ngăn xếp

Các giao dịch Bitcoin không chỉ là chuyển giao giá trị đơn giản; chúng là các hướng dẫn có thể lập trình. Các hướng dẫn này được viết bằng ngôn ngữ gọi là Bitcoin Script. Không giống như các ngôn ngữ lập trình phức tạp dùng cho phát triển phần mềm chung, Script được thiết kế cố ý đơn giản. Nó "dựa trên ngăn xếp," nghĩa là xử lý dữ liệu bằng cách đẩy các mục vào danh sách (ngăn xếp) và thực hiện hoạt động trên các mục hàng đầu.

Script cũng không hoàn chỉnh Turing. Điều này có nghĩa là nó thiếu khả năng tạo vòng lặp hoặc logic phức tạp có thể chạy vô hạn. Lựa chọn thiết kế này là tính năng bảo mật cố ý. Bằng cách giới hạn độ phức tạp của ngôn ngữ, mạng ngăn chặn vòng lặp vô hạn có thể làm sập nút hoặc cho phép kẻ tấn công làm nghẽn hệ thống bằng các lệnh tốn kém tính toán.

Script quy định các điều kiện phải đáp ứng để chi tiêu một UTXO. Khi tạo giao dịch, người gửi gắn "Script Khóa" (ScriptPubKey) vào đầu ra. Script này về cơ bản nói rằng, "Quỹ này chỉ có thể được di chuyển bởi ai đó cung cấp chữ ký khớp với hash khóa công khai cụ thể này."

Mở khóa và Xác thực

Để chi tiêu quỹ sau đó, chủ sở hữu tạo giao dịch mới chứa "Script Mở khóa" (ScriptSig). Script này chứa chữ ký kỹ thuật số và khóa công khai. Khi nút xác thực giao dịch, nó chạy hai script cùng nhau. Nó đặt script mở khóa lên ngăn xếp theo sau là script khóa từ giao dịch trước.

Nút thực thi các hướng dẫn theo thứ tự. Nếu kết quả cuối cùng là "True," giao dịch hợp lệ và quỹ có thể được di chuyển. Nếu kết quả là "False," giao dịch không hợp lệ. Cơ chế này cho phép các điều kiện phức tạp hơn quyền sở hữu đơn giản.

Ví dụ, script có thể được viết để yêu cầu nhiều chữ ký (Multi-Sig), nơi hai trong ba khóa được chỉ định phải ký trước khi quỹ di chuyển. Script cũng có thể thực thi khóa thời gian, ngăn quỹ được chi tiêu cho đến khi đạt độ cao khối nhất định. Khả năng lập trình này là nền tảng cho các tính năng nâng cao như Lightning Network và sidechain, sử dụng script phức tạp để kích hoạt thanh toán ngoài chuỗi nhanh hơn, rẻ hơn.

Vòng đời Giao dịch: Từ Ví đến Blockchain

Tạo và Phát sóng

Hành trình của giao dịch Bitcoin bắt đầu trong phần mềm ví của người dùng. Ví thu thập các đầu vào cần thiết từ các UTXO có sẵn của người dùng và định nghĩa đầu ra. Nó tính sự khác biệt giữa đầu vào và đầu ra, trở thành phí giao dịch. Một khi chi tiết được đặt, ví sử dụng khóa riêng để tạo chữ ký kỹ thuật số.

Gói dữ liệu đã ký này sau đó được phát sóng đến mạng. Nút của người dùng gửi thông điệp đến các nút đồng cấp, sau đó lan truyền khắp toàn cầu. Mỗi nút nhận giao dịch thực hiện kiểm tra ban đầu. Họ xác minh chữ ký kỹ thuật số hợp lệ, đầu vào chưa bị chi tiêu, và giá trị giao dịch không âm.

Nếu giao dịch vượt qua các kiểm tra này, nút thêm nó vào khu vực lưu trữ tạm thời gọi là "mempool" (hồ bơi bộ nhớ). Mempool không phải hàng đợi trung tâm duy nhất mà là bộ sưu tập cục bộ các giao dịch hợp lệ chưa xác nhận được lưu bởi từng nút riêng lẻ. Ở giai đoạn này, giao dịch được mạng biết đến nhưng chưa là phần của lịch sử blockchain vĩnh viễn.

Thị trường Phí và Ưu tiên

Vì các khối trên blockchain Bitcoin có dung lượng kích thước hạn chế, không phải mọi giao dịch trong mempool đều vừa vào khối tiếp theo. Sự khan hiếm này tạo ra thị trường phí. Thợ đào, những người xây dựng khối, có động lực tài chính để bao gồm các giao dịch trả phí cao nhất mỗi byte dữ liệu.

Phí không được xác định bởi giá trị bitcoin được gửi mà bởi kích thước dữ liệu của giao dịch. Giao dịch di chuyển 10 triệu đô la có thể rất nhỏ về kích thước dữ liệu nếu chỉ sử dụng một đầu vào và một đầu ra. Ngược lại, giao dịch di chuyển 100 đô la có thể lớn về kích thước dữ liệu nếu thu thập bụi từ năm mươi đầu vào nhỏ để thực hiện thanh toán.

Người dùng muốn giao dịch được xác nhận nhanh phải gắn phí cạnh tranh đủ để thu hút thợ đào. Trong thời kỳ tắc nghẽn mạng cao, mempool đầy các giao dịch chưa xác nhận. Thợ đào tự nhiên chọn người trả giá cao nhất. Giao dịch phí thấp có thể nằm trong mempool hàng giờ hoặc ngày cho đến khi lưu lượng giảm hoặc người gửi tăng phí.

Thợ đào và Đồng thuận

Thợ đào đóng vai trò cuối cùng trong việc củng cố cơ chế giao dịch. Một thợ đào chọn một lô giao dịch từ mempool để tạo khối ứng cử. Họ sau đó tham gia Proof of Work (PoW), quá trình tính toán chuyên sâu nơi họ cạnh tranh giải câu đố toán học dựa trên dữ liệu trong khối đó.

Quá trình này yêu cầu băm tiêu đề khối lặp lại với số ngẫu nhiên gọi là nonce cho đến khi hash kết quả thấp hơn độ khó mục tiêu cụ thể. Độ khó điều chỉnh tự động mỗi 2.016 khối để đảm bảo khối mới được tìm thấy khoảng mỗi 10 phút, bất kể bao nhiêu sức mạnh tính toán tham gia mạng.

Một khi thợ đào tìm giải pháp hợp lệ, họ phát sóng khối mới đến mạng. Các nút khác nhận khối và xác minh giải pháp. Họ cũng xác minh lại mọi giao dịch trong khối đó để đảm bảo không vi phạm quy tắc. Một khi được xác thực, nút cập nhật bản sao blockchain cục bộ, loại bỏ các giao dịch được bao gồm khỏi mempool. Giao dịch giờ được xác nhận.

Giải quyết Vấn đề Chi tiêu Đôi

Thách thức của Sao chép Kỹ thuật số

Trong lĩnh vực kỹ thuật số, thông tin dễ dàng được sao chép. Nếu bạn gửi ảnh qua email, bạn vẫn giữ tệp gốc. Đối với tiền kỹ thuật số, điều này tạo lỗ hổng nghiêm trọng gọi là vấn đề chi tiêu đôi. Không có cơ chế ngăn chặn, kẻ xấu có thể ký giao dịch gửi 1 BTC cho thương gia và đồng thời ký giao dịch khác gửi chính 1 BTC đó cho chính mình hoặc bên khác.

Trong hệ thống tập trung, ngân hàng ngăn chặn bằng cách duy trì sổ cái chính. Trong mạng phi tập trung, không có cơ quan trung ương để nói giao dịch nào đến trước. Bitcoin giải quyết qua sự kết hợp sổ cái blockchain công khai và Proof of Work.

Vì mọi nút đầy đủ duy trì bản sao hoàn chỉnh blockchain, toàn mạng có đồng thuận về UTXO nào hiện hợp lệ. Nếu người dùng cố phát sóng hai giao dịch xung đột, nút sẽ chấp nhận cái đầu tiên họ thấy và từ chối cái thứ hai như nỗ lực chi tiêu đầu vào đã tham chiếu.

Tính Không thể đảo ngược Qua Proof of Work

Tuy nhiên, sự khác biệt thời gian có thể dẫn đến các nút chấp nhận các phiên bản sự thật khác nhau tạm thời. Đây là nơi thợ đào trở nên quyết định. "Sự thật" trong Bitcoin được định nghĩa bởi chuỗi dài nhất với Proof of Work tích lũy nhiều nhất. Một khi giao dịch được bao gồm trong khối, nó trở thành phần lịch sử chính thức.

Để đảo ngược hoặc chi tiêu đôi giao dịch đã xác nhận trong khối, kẻ tấn công cần đào lại khối đó và tất cả khối sau nhanh hơn phần còn lại của mạng cộng lại. Điều này gọi là tấn công 51%. Chi phí năng lượng và phần cứng khổng lồ cần thiết làm sổ cái thực tế bất biến.

Khi thêm nhiều khối hơn lên trên khối chứa giao dịch cụ thể, bảo mật tăng theo cấp số nhân. Giao dịch với một xác nhận thường an toàn, nhưng với sáu xác nhận được coi là toán học không thể đảo ngược trong điều kiện mạng bình thường. Cơ chế này biến dữ liệu kỹ thuật số, thường dễ sao chép, thành tài sản kỹ thuật số duy nhất, hữu hạn.

Vai trò của Nút trong Tính Toàn vẹn Mạng

Xác thực so với Thợ đào

Có quan niệm sai lầm phổ biến rằng chỉ thợ đào bảo mật mạng. Trong khi thợ đào sắp xếp giao dịch và tạo khối, "nút" là kiểm toán viên thực thi quy tắc. Nút là bất kỳ máy tính nào chạy phần mềm Bitcoin lưu blockchain và xác thực lưu lượng.

Nút đầy đủ tải xuống mọi khối và giao dịch. Họ kiểm tra chữ ký kỹ thuật số, xác minh số lượng đầu vào bao phủ đầu ra, và đảm bảo không có đồng nào bị chi tiêu đôi. Quan trọng, nút cũng xác minh công việc của thợ đào. Nếu thợ đào tạo khối vi phạm quy tắc giao thức—như tự thưởng quá nhiều bitcoin hoặc bao gồm giao dịch không hợp lệ—nút sẽ từ chối khối ngay lập tức.

Sự từ chối này xảy ra bất kể thợ đào tốn bao nhiêu năng lượng để tạo khối. Sự cân bằng quyền lực này đảm bảo thợ đào không thể thay đổi quy tắc hệ thống hoặc in tiền thừa. Họ là người phục vụ giao thức, được kiểm soát bởi mạng nút phi tập trung do cá nhân và doanh nghiệp trên thế giới vận hành.

Phi tập trung và Độ tin cậy

Sức mạnh của cơ chế giao dịch Bitcoin dựa trên sự đa dạng và số lượng nút này. Nút càng phân tán, càng khó cho bất kỳ thực thể nào kiểm duyệt giao dịch hoặc tắt mạng. Nút giao tiếp ngang hàng, lan truyền dữ liệu giao dịch như tin đồn lan qua đám đông.

Không có máy chủ trung tâm để hack. Nếu một phần internet offline, các nút còn lại tiếp tục hoạt động. Khi nút ngắt kết nối trở lại, chúng đồng bộ với mạng để tải lịch sử thiếu. Kiến trúc này đảm bảo sổ cái nhất quán và khả dụng toàn cầu, 24/7, không downtime.

Người dùng có thể chạy nút riêng để đạt chủ quyền tài chính. Bằng cách xác minh giao dịch riêng thay vì dựa vào dịch vụ ví bên thứ ba, họ loại bỏ nhu cầu tin tưởng ai khác về tình trạng tài chính. Điều này phù hợp với tinh thần cốt lõi của Bitcoin: "Đừng tin, hãy xác minh."

Phí Mạng và Trọng lượng Dữ liệu

Tính Toán Chi phí

Chi phí giao dịch Bitcoin thường bị hiểu lầm. Nó không phải phần trăm số lượng gửi, như phí xử lý thẻ tín dụng. Thay vào đó, nó nghiêm ngặt là thanh toán cho không gian khối. Không gian khối là hàng hóa khan hiếm, giới hạn dung lượng cụ thể mỗi khối (khái niệm 1MB, dù nâng cao bởi trọng lượng SegWit).

Vì hệ thống sử dụng mô hình UTXO, kích thước dữ liệu giao dịch phụ thuộc độ phức tạp đầu vào và đầu ra. Giao dịch hợp nhất mười đầu vào nhỏ thành một đầu ra chứa nhiều dữ liệu chữ ký kỹ thuật số hơn giao dịch sử dụng một đầu vào. Do đó, nó tiêu thụ nhiều byte hơn trong khối.

Thợ đào tính phí mỗi đơn vị dữ liệu, thường đo bằng satoshi mỗi byte (sat/vB). "Satoshi" là đơn vị nhỏ nhất của Bitcoin (0.00000001 BTC). Nếu tỷ giá thị trường hiện tại là 50 sats/byte, giao dịch đơn giản có thể tốn 2 đô la, trong khi phức tạp có thể tốn 10 đô la, ngay cả khi chuyển cùng giá trị.

Yếu tố Tác động đến Phí Lý do
Số lượng Đầu vào Tăng Phí Mỗi đầu vào yêu cầu script chữ ký kỹ thuật số
Số lượng Đầu ra Tăng Phí Mỗi đầu ra thêm dữ liệu cho địa chỉ mới
Tắc nghẽn Tăng Tỷ giá Nhu cầu cao đẩy giá sat/byte thị trường lên

Quản lý Tắc nghẽn

Phí mạng dao động mạnh dựa trên nhu cầu. Khi mempool trống, người dùng có thể trả phí tối thiểu và vẫn được xác nhận trong khối tiếp theo. Khi mạng bận, người dùng phải cạnh tranh. Ví thường ước tính phí cần thiết bằng cách xem backlog hiện tại trong mempool.

Đối với người dùng đặt phí quá thấp, giao dịch không mất; nó chỉ treo trong mempool. Cuối cùng, nếu không bao giờ được thợ đào chọn, nó sẽ bị loại khỏi bộ nhớ nút, và quỹ hiệu quả vẫn ở ví người gửi. Trong tình huống khẩn cấp, người dùng có thể sử dụng bộ tăng tốc giao dịch hoặc giao thức "Replace-by-Fee" (RBF) để tăng phí giao dịch kẹt, hiệu quả phát sóng lại với ưu đãi cao hơn cho thợ đào.

Kết luận

Cơ chế giao dịch Bitcoin đại diện cho sự chuyển dịch từ hệ thống tài chính dựa trên tin cậy sang hệ thống mật mã dựa trên xác minh. Bằng cách thay thế số dư tài khoản bằng mô hình UTXO, Bitcoin coi giá trị như chuỗi lưu ký kỹ thuật số có thể được kiểm toán bởi bất kỳ ai. Mã hóa khóa công khai đảm bảo chỉ chủ sở hữu khóa riêng có thể khởi tạo các chuyển giao này, cung cấp mức bảo mật không dựa vào kho ngân hàng hoặc kiểm tra danh tính.

Hệ thống này được giữ bởi sự tương tác của nút, thợ đào và quy tắc cụ thể của Bitcoin Script. Ngôn ngữ script, dù cố ý giới hạn phạm vi, cung cấp logic cần thiết để xác thực quyền sở hữu và kích hoạt điều kiện chi tiêu phức tạp mà không ảnh hưởng ổn định mạng. Thị trường phí cạnh tranh và mempool đảm bảo tài nguyên không gian khối hạn chế được phân bổ hiệu quả, trong khi Proof of Work cung cấp bảo mật nhiệt động làm sổ cái bất biến.

Hiểu các cơ chế này tiết lộ tại sao Bitcoin được mô tả là sổ cái phi tập trung. Nó không chỉ là tiền tệ mà là hệ thống kế toán tự động nghiêm ngặt được duy trì bởi đồng thuận toàn cầu. Mọi khía cạnh, từ toán học của khóa đến đầu vào của tập UTXO, được thiết kế để cho phép người lạ trao đổi giá trị mà không cần trung gian, giải quyết vấn đề chi tiêu đôi qua mã thay vì quyền lực.

Bitcoin thay thế tin tưởng vào tổ chức bằng chứng minh mật mã, đảm bảo chuyển giao giá trị được xác minh, bất biến và nghiêm ngặt thuộc về người giữ khóa.