Tiền điện tử Bitcoin (BTC) là gì, hoạt động như thế nào

Thảo luận trong 'Cơ bản' bắt đầu bởi Cờ ríp tô cơ rừn si, 28/1/18. Trả lời: 0 Xem: 1,063.

  1. Cờ ríp tô cơ rừn si
    Bitcoin (ký hiệu: BTC, XBT) là một loại tiền mã hóa, được phát minh bởi Satoshi Nakamoto* dưới dạng phần mềm mã nguồn mở từ năm 2009. Bitcoin có thể được trao đổi trực tiếp bằng thiết bị kết nối Internet mà không cần thông qua một tổ chức tài chính trung gian nào. Bitcoin được cấp tới các máy tính "đào" Bitcoin để trả công cho việc xác minh giao dịch và ghi chúng vào cuốn sổ cái được phân tán trong mạng ngang hàng - được gọi là blockchain.

    bitcoin.jpg
    Tiền điện tử Bitcoin (BTC) là gì, Bitcoin hoạt động như thế nào
    * Từ tài liệu Satoshi https://bitcoin.org/bitcoin.pdf
    * Satoshi Nakamoto: Có thể là tên một cá nhân, một tổ chức, một nhóm người hay biệt danh ẩn nào đó. Đến nay vẫn chưa xác thực được chính xác Satoshi là ai.

    Tư tưởng của dự án

    Một phiên bản của tiền điện tử cho phép thanh toán trực tuyến, trực tiếp giữa mọi cá nhân và tổ chức với nhau mà không cần có sự tham gia của các tổ chức tài chính. Công nghệ về chữ ký số cũng có thể được coi là một giải pháp tuy nhiên, nó không phải là giải pháp triệt để bởi giải pháp này chưa mang lại lợi ích cốt lõi do vẫn cần sự tham gia của bên thứ ba uy tín - nhằm tránh trường hợp bị thanh toán đúp. Từ đó, tài liệu đã đề cập tới một giải pháp để giải quyết triệt để vấn đề giao dịch đúp đó là mạng lưới ngang hàng P2P.

    Với các hệ thống tập trung thì giờ giao dịch và giờ hệ thống không phải là vấn đề lớn bởi nó được xác định từ một máy tính trung tâm, tuy nhiên với mạng ngang hàng khi không có máy tính nào giữ vai trò trung tâm thì vấn đề này trở nên cực kỳ phức tạp. Ý tưởng để giải quyết vấn đề này ở mạng phân tán là: Sử dụng giờ mạng lưới. Giờ mạng lưới được hiểu là giờ xác định một nhóm giao dịch, trong quãng thời gian này thì sẽ không tiếp nhận giao dịch trùng lặp. Cả mạng lưới sẽ xác định giao dịch trong một khoảng thời gian bằng cách mã hoá băm các giao dịch và nhóm chúng vào chuỗi băm theo phương thức khai thác theo năng lực PoW (proof of work), các nhóm này sẽ không bị thay đổi trừ khi thực hiện lại phương thức PoW.

    Nhóm chuỗi càng dài càng được thể hiện rằng nó xuất phát từ năng lực mã hoá của nhóm máy có năng lực tốt nhất. Trong hệ thống mạng, nếu đa phần các máy có năng lực tốt đều phối hợp với nhau thì sẽ đảm bảo chuỗi dài nhất được sinh ra từ nhóm máy này và do vậy nó sẽ loại trừ sự tấn công từ bên ngoài.

    Kiến trúc mạng được thiết kế cũng khá tối giản để các thông điệp được phân phối trên mạng lưới theo cơ chế tối ưu bên cạnh đó việc tham gia hay rời đi của từng máy tính hoàn toàn không ảnh hưởng tới mạng lưới. Các máy tính có thể rời mạng lưới và sau đó kết nối lại, khi đó các máy này sẽ làm việc với chuỗi dài nhất.

    1. Giới thiệu

    Thương mại điện tử ngày nay chủ yếu đang dựa vào các tổ chức tài chính - bên thứ ba uy tín trong việc xử lý giao dịch. Thực tế các hệ thống này đang hoạt động khá tốt tuy nhiên, nó cũng có những nhược điểm cố hữu do chính tính chất tập trung của hệ thống
    • Các giao dịch bắt buộc kết toán thực sự
    • Không hoàn toàn được các tổ chức tài chính hỗ trợ, bởi trong thực tế họ không thể bỏ qua các khiếu nại về giao dịch
    • Chi phí gia tăng của các bên trung gian
    • Giới hạn của số tiền thanh toán tối thiểu
    • Chi phí gia tăng do phải triển khai các dịch vụ hỗ trợ cho khiếu nại giao dịch.
    Chính bởi cho phép giao dịch đảo nên các điểm thanh toán cũng cần để ý tới khách hàng, thu thập nhiều thông tin về khách hàng càng làm cơ sở cho an toàn giao dịch. Bên cạnh đó, các tổ chức tài chính trong công việc quản lý cũng phải quy định cho chính họ một tỷ lệ rủi ro bởi những vấn đề này là không tránh được.

    Bởi vậy chúng ta cần một hệ thống thanh toán điện tử với nền tảng mật mã học thay vì dựa vào uy tín, hệ thống mới này cho phép bất cứ ai giao dịch mà không cần có bên thứ ba uy tín làm trung gian.

    2. Giao dịch

    Chúng ta định nghĩa tiền điện tử là chữ ký số dạng chuỗi, người sở hữu sẽ gửi tiền cho người khác bằng cách ký vào giao dịch đã được mã hoá băm diễn ra trước đó bằng khoá công khai của người nhận và nối dữ liệu này vào cuối chuỗi. Người nhận có thể xác định chữ ký để qua đó xác định chủ sở hữu của chuỗi.

    bitcoin-pdf.png
    Trong tình huống này sẽ nảy sinh một vấn đề, đó là người nhận không thể xác định được liệu người gửi có gửi đúp giao dịch không. Các giải pháp đang phổ biến hiện nay để giải quyết vấn đề này là đưa ra một hệ thống xác thực đứng ra với vai trò trung tâm và uy tín, hệ thống này sẽ đảm đương việc kiểm tra mỗi giao dịch có bị đúp hay không.

    Sau khi các giao dịch diễn ra thì các giao dịch này được gửi lại hệ thống trung tâm để phát hành thêm tiền mới và chỉ những đồng tiền mới được phát hành từ những hệ thống trung tâm mới được coi là một thành phần xác định giao dịch này không bị đúp. Giải pháp này cũng có một nhược điểm lớn đó là sự phụ thuộc của toàn bộ mạng lưới vào chỉ một tổ chức vận hành hệ thống trung tâm này.

    Chúng ta cần một giải pháp để người nhận xác định được người gửi không ký bất kỳ giao dịch nào trước đó. Bởi với tính chất giao dịch sớm nhất là giao dịch được chỉ định chúng ta sẽ không nhận thêm bất cứ giao dịch nào sau đó. Thực tế là chỉ có một cách duy nhất để xác định giao dịch đó là có hay không là phải nắm được dữ liệu của toàn bộ các giao dịch.

    Trong mô hình tập trung, việc này khá dễ dàng bởi hệ thống tập trung lưu tất cả các giao dịch tuy nhiên trong hệ thống phân tán cần có một cơ chế để tất cả các máy thành phần tham gia vào hệ thống cùng đồng thuận việc xác nhận một giao dịch là giao dịch đầu và từ đó bỏ qua các giao dịch đúp tiếp theo.

    3. Phiên giao dịch mạng lưới

    Giải pháp được chúng ta đề xuất đó là giải pháp về việc định thời gian của phiên giao dịch mạng lưới. Theo đó phiên thời gian này được xác định bởi tiền tình mã hoá băm một khối các đối tượng và sau đó phân phối dữ liệu mã hoá này lên toàn mạng lưới làm cơ sở để cho các phiên giao dịch mạng lưới sau lấy làm dữ liệu.

    Phiên giao dịch mạng lưới là quãng thời gian cơ sở để xác định rằng dữ liệu giao dịch chắc chắn phải tồn tại trong khoảng thời gian đó để được mã hoá băm. Qua mỗi phiên chúng ta sẽ có được những dữ liệu của phiên và các dữ liệu này có chứa cả dữ liệu của phiên trước đó chúng tạo thành cấu trúc dạng chuỗi (chain).

    bitcoin-1.png
    4. Khai thác theo năng lực

    Để triển khai các máy tính phân tán có tính năng phiên giao dịch trên mạng ngang hàng P2P chúng ta cần sử dụng phương pháp khai thác theo năng lực, đây là một phương pháp tương đồng với phương pháp mã hoá băm của Adam Back. Theo đó phương pháp này sẽ bao gồm tiến trình dò tìm giá trị mà khi được mã hoá băm SHA-256 thì mã hoá băm đó sẽ bắt đầu bằng những giá trị 0.

    Với phiên giao dịch mạng lưới chúng ta triển khai PoW bằng cách tăng giá trị nonce trong block cho đến khi tìm được giá trị mà khi mã hoá băm block đó sẽ được số lượng giá trị 0 cần thiết. Một khi mà nguồn lực CPU của máy tính được sử dụng cho giải thuật PoW thì khối block không thay đổi được trù khi thực thi lại công việc này. Sau khi thực hiện xong giá trị này được dùng để gắn thêm các khối block về sau.

    bitcoin-2.png
    Phương pháp khai thác theo năng lực đồng thời cũng giải quyết vấn đề về xác định đại diện ra quyết định của một nhóm ra quyết định. Như chúng ta đã biết với hệ thống tập trung thì chính máy tính trung tâm đóng vai trò là nhân tố chính ra các quyết định để vận hành hệ thống tuy nhiên với các máy phân tán thì cần có cơ chế để quyết định của số đông là đại diện cho quyết định của toàn mạng lưới.

    Nếu số đông dựa trên địa chỉ IP thì cả mạng lưới có thể bị phụ thuộc và một nhóm tạo ra nhiều địa chỉ IP khác nhau gây ảnh hưởng đến tính “dân chủ” của hệ thống. Khai thác theo năng lực là giải pháp tốt bởi nó dựa trên năng lực của CPU. Và khi đó quyết định của toàn mạng lưới hệ thống được thể hiện bằng việc chấp thuận chuỗi dài nhất, chuỗi này được tạo ra bởi phần đa năng lực của toàn CPU trong toàn hệ thống tạo ra.

    Ngoài ra để tấn công toàn bộ mạng lưới thì kẻ tấn công phải thực hiện lại toàn bộ công việc mà mạng lưới đã làm đồng thời cả các công việc sau đó để đuổi kịp tốc độ làm việc và vượt qua tốc độ làm việc của mạng lưới, việc này rất khó thực hiện.

    5. Mạng lưới

    Các bước được thực hiện trong mạng lưới
    1. Các giao dịch mới được phân phối tới toàn mạng lưới.
    2. Mỗi máy nhận về và nhóm các giao dịch này vào khối block.
    3. Mỗi máy thực thì giải thuật PoW trên khối block này.
    4. Khi các máy thực hiện xong PoW nó sẽ phân phối kết quả tới toàn mạng lưới.
    5. Các máy khác chấp thuận kết quả này chỉ khi tất cả các giao dịch trong chuỗi khối là hợp lệ và chưa được xác nhận trước đó.
    6. Các máy khác thể hiện việc chấp nhận kết quả này thông qua việc lấy kết quả này để thực hiện tiếp công việc với các block của các giao dịch mới tiếp theo.
    Các máy tính tham gia luôn luôn lựa chọn chuỗi dài nhất và coi đó là chuỗi đúng đắn nhất để làm việc trên chuỗi này. Nếu đồng thời có 2 máy tính cùng phân phối 2 phiên bản tương đồng nhau nhưng chút ít khác nhau thì sẽ có một vài máy chọn làm việc với khối chuỗi này, một vài máy sẽ làm việc với khối chuỗi kia. Trong trường hợp này các máy sẽ làm việc với khối chuỗi mà nhận đầu tiên trước, khối tương đồng kia sẽ được lưu lại. Sau đó ở phiên tiếp theo nếu khối chuỗi nào dài hơn thì các máy tính sẽ làm việc với khối chuỗi đó.

    Khi một giao dịch được phân phối tới mạng lưới thì nó không yêu cầu phải được phân phối tới toàn bộ các máy tính. Miễn là nó được phân phối tới phần lớn các máy tính thì nó sẽ được nhóm vào khối block.

    6. Cơ chế khuyến khích

    Theo giải thuật mạng lưới thì giao dịch đầu tiên trong khối block là một giao dịch đặc biệt đó là giao dịch tạo ra tiền điện tử mới và số tiền này sẽ thuộc về máy tính tạo ra khối block. Cơ chế này sẽ khuyến kích các máy tham gia vào mạng lưới và ủng hộ mạng lưới. Cơ chế này cũng giải quyết cách thức để gia tăng số tiền điện tử vào lưu hành bởi hệ thống phân tán không có đơn vị trung gian đóng vai trò trung tâm phát hành thêm tiền ảo vào lưu hành.

    Ý tưởng này là tương đồng với những thợ mỏ khai thác vàng, số vàng khai thác được để bù lại công sức khai thác của họ cũng là số vàng gia tăng thêm trong lưu hành. Trong trường hợp của giải pháp này thì thời gian của CPU và nguồn điện năng tiêu thụ chính là công sức của các máy thành viên tham gia hệ thống.

    Ngoài ra các máy thành viên còn nhận được phí giao dịch. Giải thuật khích lệ còn giữ vai trò khuyến khích các máy thành viên thành thật với hệ thống bởi nếu chính các máy thành viên muốn tấn công hệ thống để lấy đi số tiền điện tử thì họ phải có một nhóm các máy với năng lực CPU tốt hơn tổng số các thành viên đang có. Khi đó kẻ tấn công sẽ phải cân nhắc công sức để lấy đi số tiền với công sức tham gia vào mạng lưới để nhận về số tiền điện tử khai thác được và phí giao dịch.

    7. Vấn đề về lưu trữ

    Một khi giao dịch sau cùng của đồng tiền điện tử được lưu vào một số lượng khối block vừa đủ thì các giao dịch trước đó có thể được bỏ qua để giảm dung lượng lưu trữ. Để tận dụng điều này mà không ảnh hưởng tới tính toàn vẹn của bảng mã hoá băm thì các giao dịch được mã hoá băm theo cấu trúc dạng cây Kerkle trong đó gốc giao dịch là đối tượng duy nhất nằm trong phần mã hoá băm.

    bitcoin-3.png
    Đầu đề của khối block mà không chứa giao dịch nào thì dung lượng khoảng 80 bytes. Các khối block được sinh ra sau 10 phút vậy dung lượng sẽ là 80 bytes * 6 * 24 * 365 = 4.2MB một năm. Theo định luật Moore thì sự gia tăng của bộ nhớ sau mỗi năm là 1.2GB do đó giải thuật của chúng ta không gặp vấn đề về lưu trữ.

    8. Xác thực giao dịch

    Giao dịch có thể được xác thực mà không cần chạy trên tất cả các máy tính thành viên. Người dùng chỉ cần lưu giữ một bản copy của đầu đề khối block của chuỗi dài nhất bằng cách liên tục truy vấn tới các máy trong mạng lưới cho đến khi nhận được chuỗi dài nhất và qua đó nhận về cả nhánh Merkle chứa giao dịch trong khối block. Người dùng không thể kiểm tra giao dịch của chính mình tuy nhiên khi nhận thấy giao dịch được đặt trong khối chuỗi thì đồng nghĩa đã có máy tính trong mạng chấp nhận giao dịch này và khi có khối chuỗi được thêm vào sau khối chuỗi này đồng nghĩa mạng lưới đã chấp nhận giao dịch này.

    bitcoin-5.png
    Hình thức xác thực giao dịch này là tin cậy nếu như phần lớn các máy tính tham gia mạng lưới là tin cậy, tuy nhiên sẽ có nguy cơ tấn công nếu như năng lực tấn công nhiều hơn năng lực của nhóm máy này. Một trong những giải pháp được đưa ra đó là gửi những thông điệp cảnh báo từ những máy thành viên tham gia nếu phát hiện ra những khối block không hợp lệ.

    9. Gộp và tách giá trị

    Mặc dù hệ thống có thể kiểm soát từng lượng tiền độc lập tuy nhiên tách từng khoản nhỏ trong giao dịch cũng hoàn toàn khả thi trong quản lý. Khi cho phép gộp và tách giá trị thì trong một giao dịch có thể chứa nhiều đầu vào và đầu ra. Thông thường thì có 1 đầu vào từ một lượng lớn giao dịch trước đó hoặc nhiều đầu vào từ việc gộp nhiều giao dịch nhỏ trong khi đó có nhiều nhất 2 đầu ra: một cho giá trị thanh toán và một cho phần thay đổi trả về người gửi.

    bitcoin-6.png

    Giá trị hiện thời của Bitcoin

    Bitcoin (BTC) price.png
     
    #1 Cờ ríp tô cơ rừn si, 28/1/18
    Last edited by a moderator: 30/1/18
    Tags:

Chia sẻ trang này lên mạng xã hội:

Đang tải...