Một Bitcoin là một đơn vị tiền tệ kỹ thuật số của Bitcoin, giống như đô la, bản thân nó không có giá trị. Nó có giá trị vì chúng ta đồng ý trao đổi hàng hóa, dịch vụ để đổi lấy một lượng tiền lớn hơn dưới dự kiểm soát của chúng ta và chúng ta tin rằng người khác cũng sẽ làm như vậy.
Để theo dõi lượng Bitcoin mỗi người trong chúng ta sở hữu, blockchain sử dụng một sổ cái – file kỹ thuật số – theo dõi tất cả các giao dịch của Bitcoin.
Tập tin kỹ thuật số của Bitcoin đã được đơn giản hoá
File này không được lưu trữ trên máy chủ tập trung, giống như ngân hàng hay trung tâm dữ liệu. Nó được phân tán trên toàn thế giới thông qua mạng máy tính, vừa lưu trữ dữ liệu, vừa thực hiện tính toán. Mỗi máy tính đại diện cho một nút của mạng blockchain và có một bản sao của file sổ cái.
Nếu David muốn gửi Bitcoin cho Sandra, anh ta sẽ phát một tin nhắn tới mạng nói rằng số lượng Bitcoin trong tài khoản của anh ta sẽ giảm xuống 5 BTC, và số tiền của tài khoản Sandra sẽ tăng lên theo cùng số lượng. Mỗi nút trong mạng sẽ nhận được thông báo và áp dụng giao dịch yêu cầu vào bản sao của sổ cái, do đó cập nhật số dư tài khoản.
Thực tế là sổ cái được duy trì bởi một nhóm các máy tính được kết nối chứ không phải là một thực thể trung lập như ngân hàng:
- Trong hệ thống ngân hàng, chúng ta chỉ biết các giao dịch và số dư tài khoản của riêng mình, trên blockchain mọi người có thể thấy mọi giao dịch khác của người khác.
- Trong khi bạn có thể tin tưởng vào ngân hàng của mình, mạng Bitcoin sẽ được phân phối và nếu có vấn đề gì đó không có sự trợ giúp để gọi hoặc bất cứ ai để kiện.
- Hệ thống blockchain được thiết kế theo cách mà không cần sự tin tưởng, độ an toàn và độ tin cậy thu được thông qua các chức năng toán học đặc biệt và code.
Để có thể thực hiện các giao dịch trên blockchain, bạn cần một ví, một chương trình cho phép bạn lưu trữ và trao đổi Bitcoin. Vì chỉ có bạn mới có thể chi tiêu được Bitcoin của mình, mỗi chiếc ví được bảo vệ bởi một phương pháp mật mã đặc biệt, sử dụng một cặp khóa riêng biệt khác nhau nhưng có kết nối: một khoá riêng tư (private) và công khai (public).
Nếu một thông điệp được mã hoá bằng khóa công khai cụ thể, chỉ chủ nhân của khóa riêng tư đã ghép nối mới có thể giải mã và đọc tin nhắn. Mặt khác, nếu bạn mã hóa tin nhắn bằng khóa cá nhân của bạn, chỉ có thể sử dụng khóa công khai được ghép nối để giải mã nó. Khi David muốn gửi Bitcoin, anh ta cần phát một tin nhắn được mã hóa bằng khoá riêng của ví của anh ta, vì vậy anh ta và chỉ có anh ta mới có thể sử dụng Bitcoin mà anh ta sở hữu, vì David là người duy nhất biết chìa khóa riêng của anh ta cần để mở ví của mình. Mỗi nút trong mạng có thể kiểm tra chéo yêu cầu giao dịch đến từ David bằng cách giải mã thông báo yêu cầu giao dịch với khóa công khai của ví của anh ta.
Khi mã hóa yêu cầu giao dịch với khóa riêng tư của ví của bạn, bạn sẽ tạo ra một chữ ký số được sử dụng bởi các máy tính trong mạng blockchain để kiểm tra lại nguồn và tính xác thực của giao dịch. Chữ ký số là một chuỗi văn bản, là kết quả của việc kết hợp yêu cầu giao dịch và khóa riêng tư của bạn, vì vậy nó không thể được sử dụng cho các giao dịch khác. Nếu bạn thay đổi một ký tự trong thông báo yêu cầu giao dịch, chữ ký số sẽ thay đổi, do đó không kẻ tấn công tiềm ẩn nào có thể thay đổi yêu cầu giao dịch của bạn hoặc thay đổi lượng Bitcoin bạn đang gửi.
Mã hoá giao dịch chữ ký số đơn giản hóa
Để gửi Bitcoin, bạn cần phải chứng minh rằng mình sở hữu khóa riêng của một ví cụ thể, vì cần sử dụng nó để mã hóa thông báo yêu cầu giao dịch. Lưu ý rằng, bạn chỉ phát thông báo sau khi nó đã được mã hóa, nên không bao giờ phải tiết lộ khóa riêng.
Mỗi nút trong blockchain đang giữ một bản sao của sổ cái. Vì vậy, làm thế nào một nút biết số dư tài khoản của bạn là bao nhiêu? Hệ thống blockchain không theo dõi các số dư tài khoản, nó chỉ ghi lại từng giao dịch được yêu cầu. Sổ sách trên thực tế không theo dõi số dư, nó chỉ theo dõi mọi giao dịch được phát đi trong mạng Bitcoin. Để biết số dư trong ví của bạn, bạn cần phải phân tích và xác minh tất cả các giao dịch đã từng diễn ra trên toàn bộ mạng kết nối với ví của mình.
Sổ cái Bitcoin
Xác minh số dư này được thực hiện nhờ liên kết đến các giao dịch trước đó. Để gửi 10 Bitcoin cho John, Mary phải tạo yêu cầu giao dịch bao gồm các liên kết tới các giao dịch đến (số tiền nhận được) trước đó có tổng số dư bằng hoặc vượt quá 10 Bitcoin. Các liên kết này được gọi là đầu vào, các nút trong mạng sẽ xác minh rằng tổng số tiền của các giao dịch này bằng hoặc vượt quá 10 Bitcoin và các đầu vào này chưa được chi tiêu. Trên thực tế, mỗi lần bạn tham chiếu các đầu vào trong một giao dịch được xem là không hợp lệ trong bất kỳ giao dịch nào trong tương lai. Tất cả được thực hiện tự động trong ví của Mary và kiểm tra lại bởi các nút mạng Bitcoin, cô ấy chỉ gửi một giao dịch 10 BTC đến ví của John sử dụng khóa công khai của anh ấy.
Cấu trúc yêu cầu giao dịch Bitcoin
Vậy, làm thế nào hệ thống có thể tin tưởng giao dịch đầu vào và xem xét chúng có giá trị? Nó kiểm tra tất cả các giao dịch trước đó có tương quan với ví bạn sử dụng để gửi Bitcoin thông qua các tham chiếu và đầu vào. Để đơn giản hóa và đẩy nhanh quá trình xác minh, một bản ghi đặc biệt về các giao dịch không được sử dụng sẽ được giữ bởi các nút mạng. Nhờ kiểm tra bảo mật này, bạn không thể tiêu gấp đôi số Bitcoin nhận được.
Tất cả các code để thực hiện giao dịch trên mạng Bitcoin là mã nguồn mở, điều này có nghĩa là bất cứ ai có máy tính xách tay và một kết nối Internet đều có thể thực hiện giao dịch. Tuy nhiên, nếu có một lỗi trong code được sử dụng để phát thông báo yêu cầu giao dịch, Bitcoin liên quan sẽ bị mất vĩnh viễn. Hãy nhớ rằng vì mạng được phân phối, nên không có dịch vụ hỗ trợ khách hàng nào để gọi cũng như bất cứ ai có thể giúp bạn khôi phục lại giao dịch bị mất hoặc mật khẩu ví bạn đã quên. Vì lý do này, nếu bạn quan tâm đến giao dịch trên mạng Bitcoin, bạn nên sử dụng mã nguồn mở và phiên bản chính thức của phần mềm ví Bitcoin (chẳng hạn như Bitcoin Core) và để lưu mật khẩu của ví của bạn hoặc khóa riêng tư vào kho lưu trữ rất an toàn.