This article has been translated from English to Vietnamese.
Làm thế nào để giao dịch Bitcoin hoạt động?
Một giao dịch Bitcoin là việc chuyển một số lượng bitcoin nhất định từ một địa chỉ tới địa chỉ khác và được ghi lại trên blockchain.
Nhưng quá trình "chuyển đổi" này thực sự hoạt động như thế nào nhỉ?
Trong bài học này, mình sẽ cho bạn thấy cách một giao dịch Bitcoin hoạt động từ đầu đến cuối.
Đầu tiên, chúng ta sẽ xem xét cách một giao dịch Bitcoin hoạt động từ quan điểm của người dùng. Và sau đó, chúng ta sẽ nhìn từ góc nhìn của một con chim.
Điều này sẽ giúp bạn nhớ lại tất cả các khái niệm mới mà bạn đã học trong các bài học trước.
Sẵn sàng chưa nào?!

Giả sử Ironman có 1 bitcoin muốn gửi cho Batman.

Quan điểm của Ironman
Điều đầu tiên mà Ironman sẽ làm là mở ví Bitcoin của mình.
Điều này có thể là bất kỳ loại ví nào nhưng trong ví dụ này, anh ấy đang sử dụng một ví phần mềm mà anh ấy đã cài đặt trên laptop của mình.

Điều tiếp theo anh ấy làm là hỏi Batman địa chỉ Bitcoin của anh ấy.
Nơi đây là nơi Batman muốn nhận bitcoin của mình. Batman gửi email cho anh ấy một địa chỉ Bitcoin và Ironman sao chép và dán nó.

Ironman sau đó nhập số lượng bitcoins mà anh muốn gửi cho Batman.

Vì ngón tay bằng hợp kim vàng-titan khổng lồ của mình dễ bị sai số, anh ấy kiểm tra lại để đảm bảo đã nhập đúng số.
Và nhấn Gửi.

Phần mềm ví sau đó yêu cầu mật khẩu để xác nhận giao dịch.
Để gửi bitcoin, Ironman cần chứng minh cho mạng lưới Bitcoin rằng chính anh ấy đang gửi tiền và anh ấy sở hữu bitcoin.
Đó là lúc mà khóa riêng tư của anh ấy phát huy tác dụng (được lưu trữ trong ví).
Sau khi Ironman nhập mật khẩu đúng, phần mềm ví sẽ “ký” giao dịch bằng khóa riêng tư của Batman, tạo ra một mảnh dữ liệu riêng biệt được gọi là “chữ ký số“. (Tất cả điều này được thực hiện phía sau hậu trường.)

Giao dịch Bitcoin từ phía sau hậu trường
Từ lúc này, sự tham gia của Batman đã xong.
Phần mềm ví kết nối với một nút Bitcoin và gửi thông điệp giao dịch, cùng với “chữ ký số” và khóa công khai.
Nút kiểm tra xem giao dịch có hợp lệ không:
- Người gửi có đủ BTC gắn với địa chỉ của họ để thực hiện giao dịch không?
- Người gửi có được ủy quyền gửi BTC không?
Ví dụ, nó kiểm tra để đảm bảo rằng Batman thực sự có 1 BTC để gửi. Nếu giao dịch vượt qua tất cả các kiểm tra, nút sẽ truyền giao dịch cho các nút khác.
Theo mặc định, các nút không tin tưởng lẫn nhau, vì vậy chúng sẽ xác thực giao dịch lại cho chính mình.
Và chỉ khi nó xác định giao dịch hợp lệ, chúng mới chia sẻ giao dịch với những nút mà chúng kết nối.

Nếu một giao dịch được coi là hợp lệ, nó sẽ được lưu trữ trong một khu vực lưu trữ tạm thời được gọi là "memory pool" hoặc “mempool“.
Tại thời điểm này, một giao dịch được coi là "chưa xác nhận" hoặc “đang chờ xử lý“.

Các nút đặc biệt được gọi là “thợ mỏ” sẽ gói gọn giao dịch này cùng với các giao dịch hợp lệ khác từ mempool của họ thành một “khối“.

Thợ mỏ sau đó sẽ cạnh tranh để là người đầu tiên "đào" khối của họ. Điều này liên quan đến việc tìm một số bắt đầu bằng một số lượng số không nhất định.
Cách duy nhất để tìm ra số này là thử và sai. Nói cách khác, đưa ra càng nhiều dự đoán càng tốt.

Thợ mỏ đầu tiên đoán đúng số tức là người đầu tiên "đào" khối của mình.
Ngay khi thợ mỏ đoán đúng, nó chia sẻ khối của mình cùng với "số đoán đúng" cho các nút khác trong mạng Bitcoin.

Các nút trên mạng Bitcoin xác minh rằng thợ mỏ đã đoán đúng số và nếu đúng, nó thêm khối của thợ mỏ chiến thắng vào bản sao của blockchain của họ. Và họ cũng gửi khối này cho các nút khác.
Vì khối (chứa giao dịch) đã được thêm vào phiên bản "chính thức" của blockchain, giao dịch hiện được coi là đã được “xác nhận“.
Một khi khối đó được tạo ra và giao dịch mới được xác minh và bao gồm trong khối đó, giao dịch được coi là đã có “một xác nhận“.

Quan điểm của Batman
Batman thấy rằng giao dịch đã được xác nhận và kiểm tra ví Bitcoin của mình để xem bitcoin có được chuyển không.

Càng có nhiều khối được xây dựng trên khối chứa giao dịch của Ironman, giao dịch càng được xác nhận trên blockchain.
Cơ bản là, mỗi khối được thêm vào được coi là “xác nhận bổ sung“. Chờ đợi sáu xác nhận là tiêu chuẩn hiện tại để hầu hết các giao dịch được coi là an toàn.
Và ba bạn đã có nó!
Một bitcoin đã được chuyển từ một địa chỉ do Ironman sở hữu sang một địa chỉ mới do Batman sở hữu.
Và trừ khi Ironman hoặc Batman chia sẻ địa chỉ ví Bitcoin của họ công khai, không ai biết hai siêu anh hùng nổi tiếng đã tham gia vào một giao dịch Bitcoin.
Tất cả mọi người sẽ thấy là 1 BTC được gửi từ một địa chỉ đến địa chỉ khác, nhưng họ sẽ không biết ai đứng sau các địa chỉ đó.
Như bạn có thể thấy, rất nhiều bước trong một giao dịch Bitcoin đã được thực hiện phía sau hậu trường.
Một khi Batman chia sẻ địa chỉ của anh ấy với Ironman, và Ironman bắt đầu giao dịch bằng ví Bitcoin của mình, phần còn lại đã được xử lý bởi máy tính và mã phần mềm.
Góc nhìn của một con chim về giao dịch Bitcoin
Bây giờ hãy nhìn từ góc nhìn của một con chim về cách một giao dịch Bitcoin hoạt động.
Giả sử Ironman đã nhập địa chỉ của Batman và số lượng bitcoin cần gửi.

Ví của Ironman kết nối với một nút phát sóng một thông điệp đến tất cả các máy tính (“mạng Bitcoin”) chạy bản sao của cơ sở dữ liệu cập nhật (“blockchain của Bitcoin”) nói rằng, về cơ bản, “Tôi muốn gửi 1 bitcoin cho Batman.”
Ironman có một chuỗi chữ cái và số duy nhất được gọi là "khóa riêng tư". Với khóa riêng tư này, phần mềm ví của Batman tạo ra một “chữ ký số” đảm bảo rằng thông điệp đến từ anh ấy chứ không phải từ ai khác.
Các máy tính (“nút đầy đủ”) trong mạng Bitcoin có thể dễ dàng xác nhận nếu Ironman là người thực sự gửi thông điệp bằng cách sử dụng một chuỗi chữ cái và số khác mà Ironman cung cấp, được gọi là “khóa công khai” để xác thực “chữ ký số” này.
Họ cũng có thể dễ dàng xác nhận rằng Ironman có 1 bitcoin để gửi vì họ đều có bản sao của cơ sở dữ liệu hiện tại.
Tất cả các nút đều liên tục cập nhật nhau với thông tin mới nhất (“giao dịch”) được thêm vào mạng Bitcoin.
Một giao dịch tồn tại như một hồ sơ của việc chuyển bitcoin từ một địa chỉ này sang địa chỉ khác. Các giao dịch không được ghi lại riêng lẻ trên blockchain, mà được nhóm lại thành các khối trước.
Quan trọng là, tại thời điểm này, giao dịch chỉ mới được đề xuất. Chưa có máy tính nào cập nhật bản sao sổ cái (“blockchain”) của mình cả.
Giao dịch ban đầu được đặt vào một phòng chờ (“mempool”), nơi chúng ngồi chờ xác nhận.
Mempool (memory pool) là một cơ sở dữ liệu nhỏ hơn của các giao dịch chưa được xác nhận (đang chờ xử lý) mà mỗi nút giữ. Tất cả các giao dịch trong mempool đang chờ xử lý và không nên được tin tưởng cho đến khi chúng được bao gồm trong một khối.
Vì giao dịch chỉ đang được đề xuất chứ không được giải quyết, hệ thống có thể nhanh chóng truyền tải thông điệp để đảm bảo mọi người tham gia đều biết về nó.
Trong sơ đồ dưới đây, Ironman và Batman được đại diện là các ví tím.
Các vòng tròn màu xám đại diện cho các máy tính (“nút đầy đủ”) là một phần của mạng ngang hàng (P2P) Bitcoin.
Các ô vuông màu đen đại diện cho “blockchain”, các bản sao sổ cái được cập nhật theo trình tự, tại thời điểm Ironman đề xuất giao dịch của mình với mạng.
Như bạn có thể thấy, các bản sao giống hệt của blockchain được lưu trữ trên các máy tính trên khắp thế giới (“nút đầy đủ”) chạy phần mềm Bitcoin. Thiết kế này đảm bảo rằng không có thực thể nào kiểm soát được sổ cái và làm cho Bitcoin khó bị kiểm soát (hoặc đóng cửa) bởi bất kỳ chính phủ hoặc cơ quan trung ương nào.
Tất cả các nút duy trì một bản sao hoàn chỉnh của blockchain được gọi là “nút đầy đủ” sẽ cần phải bị phá hủy để xóa sổ cái. Miễn là toàn bộ sổ cái tồn tại trên ít nhất một nút đầy đủ, sẽ có một bản ghi của tất cả các giao dịch Bitcoin trong suốt lịch sử.

Dĩ nhiên, Ironman không phải là người duy nhất tạo giao dịch. Có những thành viên khác của Avengers cũng gửi bitcoin của họ cho những người nhận khác. Ví dụ, Captain America có thể đang gửi một số bitcoin cho Winter Soldier.
Đây là nơi mà một người tham gia đặc biệt trong mạng bước vào: “thợ mỏ.”
Thợ mỏ là các máy tính phân tán trên khắp thế giới và là một phần quan trọng của mạng Bitcoin. Công việc của họ là gói hoặc nhóm các giao dịch mới hợp lệ lại, chẳng hạn như của Ironman, và đề xuất chúng để giải quyết.Những nhóm giao dịch này được gọi là “khối,” và đây là nơi mà “khối” trong “blockchain” xuất phát.
Một khối là một tập hợp của các giao dịch. Các khối được liên kết với nhau theo thời gian để tạo thành một “chuỗi các khối” hoặc blockchain.
Vào bất kỳ thời điểm nào, hàng ngàn máy tính này đang cạnh tranh với nhau để có quyền tạo khối tiếp theo. Cuộc cạnh tranh liên quan đến việc giải một câu đố, và thợ mỏ có thể đề xuất một khối mới chỉ khi họ giải được câu đố hiện tại.
Câu đố này cơ bản là cố gắng đoán một số đúng. Xác suất đoán đúng số là khoảng 1 trong 6 nghìn tỷ.
Vì vậy, mẹo để là người đầu tiên tìm ra số "thắng" là đoán càng nhiều số càng tốt. Điều này đòi hỏi rất nhiều sức mạnh tính toán sử dụng lượng năng lượng khổng lồ.
Ai tìm thấy giải pháp đầu tiên sẽ được quyền nhận phần thưởng, được gọi là “phần thưởng khối”.
Phần thưởng khối được thiết kế để khuyến khích các nút tham gia vào việc đào. Nếu không, sẽ không có thợ mỏ nào vì họ sẽ không thể bù đắp chi phí cao của các máy tính và chi phí điện để vận hành chúng.
Phần thưởng khối được tạo thành từ HAI thành phần:
- Bitcoin mới khai thác
- Phí giao dịch (được thanh toán bởi người khởi tạo giao dịch như Ironman)
Những bitcoin mới khai thác “thắng” bởi thợ mỏ được gọi là “trợ cấp khối” và đại diện cho phần lớn nhất của phần thưởng. Hiện tại, mỗi khối mới đi kèm với phần thưởng 6.25 bitcoin mới khai thác.
Mỗi khối chứa nhiều giao dịch, và tất cả giao dịch đều bao gồm một khoản phí mà thợ mỏ thu thập.
Tóm lại:
Phần thưởng khối = trợ cấp khối + phí giao dịch
Phần thưởng khối là thứ khuyến khích thợ mỏ thực hiện công việc cần thiết để xác minh giao dịch và duy trì cơ sở dữ liệu.
Mỗi 210,000 khối, hoặc khoảng mỗi bốn năm, trợ cấp khối được cắt giảm một nửa trong một sự kiện được gọi là "halving". Quá trình này sẽ tiếp tục cho đến khi trợ cấp khối bằng không. Lúc đó, thợ mỏ sẽ chỉ thu thập phí giao dịch
Các khối mới được giải quyết trên mạng Bitcoin mỗi 10 phút, mặc dù thời gian chính xác phụ thuộc vào việc "câu đố" được giải nhanh như thế nào.
Ngày nay, hầu hết việc đào được thực hiện bởi “nhóm đào”, các nhóm thợ mỏ kết hợp sức mạnh xử lý của họ và chia sẻ phần thưởng khối giữa họ.
Quá trình này được hiển thị trong sơ đồ dưới đây.

Các thợ mỏ hiện được đại diện bằng các vòng tròn cam.
Ô vuông xanh lam hiển thị sổ cái được cập nhật bao gồm một số giao dịch mới, bao gồm của Ironman
Hiện tại, chỉ có một người tham gia mạng (thợ mỏ đề xuất khối giao dịch mới) có thể thấy sổ cái được cập nhật hoàn toàn.
Tất cả các người tham gia khác chỉ thấy các khối cũ hơn, được mô tả bằng màu đen.
Vì phần thưởng là đáng kể, nên nhiều thợ mỏ cạnh tranh để giải quyết mỗi khối giao dịch.
Theo thiết kế, việc giải "câu đố" là một công việc tốn kém vì nó đòi hỏi nhiều sức mạnh tính toán và cần rất nhiều điện năng. Và việc biết được ai trong số hàng ngàn thợ mỏ sẽ giải được "câu đố" đầu tiên là không thể.
Một khi một thợ mỏ giải được "câu đố" (đoán đúng số), nó có thể đăng giải pháp và đề xuất khối giao dịch của mình lên mạng.
Điều thú vị về phương pháp này là mặc dù giải câu đố là khó khăn và tốn kém, việc kiểm tra kết quả lại rất dễ dàng. Và khi một thợ mỏ đăng một giải pháp và khối giao dịch của mình, các thành viên mạng khác kiểm tra công việc.
Nếu các giao dịch hợp lệ và giải pháp cho "câu đố" là đúng, các thành viên mạng cập nhật bản sao cơ sở dữ liệu của mình để phản ánh các giao dịch mới.
Tại thời điểm đó, giao dịch của Ironman được coi là giải quyết hoặc “xác nhận“. 1 bitcoin đã chuyển từ địa chỉ của Ironman sang địa chỉ của Batman và đã chính thức được ghi lại trên blockchain.
Cơ chế đồng thuận này của việc xác định giao dịch nào được ghi lại vĩnh viễn và “xác nhận” là cốt lõi của thiết kế blockchain của Bitcoin.
Quá trình này được hiển thị dưới đây.

Tất cả các thành viên mạng hiện đã chấp nhận khối giao dịch mới được đề xuất (ô xanh lam), kết quả là sổ cái của họ được cập nhật và đồng bộ hóa.
Điều quan trọng là, cuộc cạnh tranh để giải quyết khối giao dịch tiếp theo phụ thuộc vào việc bao gồm thông tin từ khối trước đó, điều này khiến các thợ mỏ nhanh chóng cập nhật bản sao cơ sở dữ liệu của mình và đảm bảo rằng việc can thiệp vào một khối đã giải quyết là rất khó.
Việc "liên kết các khối lại với nhau" là lý do tại sao kiến trúc cơ sở dữ liệu này được gọi là "blockchain".
Blockchain của Bitcoin chứa tất cả các khối kể từ khi khởi đầu, quay trở lại khối đầu tiên được biết đến là “Khối Khởi Nguồn.”
Điều gì sẽ xảy ra nếu thợ mỏ Bitcoin không rõ danh tính đang đệ trình một khối là một kẻ xấu và đề xuất một khối giao dịch không hợp lệ mà bằng cách nào đó có lợi cho nó?
Hoặc điều gì sẽ xảy ra nếu Ironman có ác ý, và anh ấy đang cố gắng gửi cùng một 1 bitcoin cho cả Spider-Man và Wonder Woman cùng một lúc mà không ai nhận biết?
Các thành viên mạng kiểm tra từng giao dịch trong mỗi khối được đề xuất và từ chối các khối có giao dịch không hợp lệ. Ngày nay, hơn 100,000 nút đang độc lập xác minh từng giao dịch Bitcoin!
Vì công việc xác minh giao dịch và đảm bảo rằng chỉ các giao dịch hợp lệ được giải quyết là rất dễ dàng đối với các thành viên mạng nhưng việc cố gắng giải quyết giao dịch thì tốn kém, nên động cơ để thậm chí cố gắng lừa đảo hệ thống là rất ít.
Tóm tắt
Hãy tóm tắt tất cả các tương tác trên mạng Bitcoin:
- Nếu bạn muốn gửi bitcoin cho người khác, bạn cung cấp địa chỉ Bitcoin của người nhận, và ví của bạn sẽ kết nối với nút để khởi tạo giao dịch.
- Nút sẽ xác minh giao dịch, xác nhận giao dịch và sau đó phát và truyền tải giao dịch hợp lệ cho các nút và thợ mỏ khác. Nếu giao dịch vi phạm một trong các quy tắc của Bitcoin, các nút sẽ tự động từ chối giao dịch đó.
- Các thợ mỏ gộp các giao dịch này vào một “khối ứng cử viên” (khối tạm thời) và cạnh tranh để là người được đăng khối của họ lên blockchain bằng cách là người đầu tiên đoán đúng giải pháp cho một “câu đố” toán học.
- Thợ mỏ "thắng cuộc" được quyền đăng khối tạm thời này như một khối vĩnh viễn lên blockchain, xác nhận giao dịch (và các giao dịch khác trong nhóm).
- Các nút nhận khối này và xác minh rằng thợ mỏ đang tuân theo các quy tắc của mạng. (Nếu khối vi phạm một trong các quy tắc của Bitcoin, các nút sẽ tự động từ chối nó.)
- Bất cứ khi nào một nút nhận được một khối mới và coi nó là hợp lệ, nó sẽ truyền tải nó đến các nút khác, để tất cả các nút (bao gồm cả thợ mỏ) có thể duy trì và duy trì các blockchain giống hệt nhau.
- Tất cả các thợ mỏ khác xóa khối tạm thời mà họ đang làm việc và bắt đầu làm việc trên một “khối ứng cử viên” mới với một “câu đố” toán học mới.
- Một khi nút mà ví của người nhận kết nối đã nhận được khối mới, ví của người nhận sẽ hiển thị số dư cập nhật với số bitcoin mới nhận được.