Đọc lại cổ điển kỷ niệm 15 năm: Toàn văn sách trắng Bitcoin phiên bản tiếng Trung

Tác giả: Satoshi Nakamoto; Bản dịch tiếng Trung: Li Xiaolai

Tóm tắt: Một phiên bản hoàn toàn ngang hàng của hệ thống tiền mặt điện tử sẽ cho phép thanh toán trực tuyến được gửi trực tiếp từ bên này sang bên khác mà không cần thông qua tổ chức tài chính. Mặc dù chữ ký số cung cấp một số giải pháp, nhưng lợi ích chính của thanh toán điện tử được bù đắp khi vẫn cần một bên thứ ba đáng tin cậy để ngăn chặn chi tiêu gấp đôi. Chúng tôi đề xuất một giải pháp sử dụng mạng ngang hàng để giải quyết vấn đề chi tiêu gấp đôi. Mạng ngang hàng sẽ đánh dấu thời gian cho mỗi giao dịch bằng cách nhập dữ liệu băm của giao dịch vào một chuỗi bằng chứng công việc dựa trên hàm băm mở rộng, không thể thay đổi trừ khi được làm lại hoàn toàn. Chuỗi dài nhất được sử dụng để chứng minh các sự kiện đã được chứng kiến và thứ tự của chúng, mặt khác, để chứng minh rằng nó đến từ nhóm hashpower CPU lớn nhất. Miễn là phần lớn sức mạnh tính toán của CPU được kiểm soát bởi các nút lành tính - nghĩa là chúng không hợp tác với những người cố gắng tấn công mạng - thì các nút lành tính sẽ tạo ra chuỗi dài nhất và vượt xa kẻ tấn công. Bản thân mạng cần một cấu trúc tối thiểu. Thông tin sẽ được phổ biến trên cơ sở nỗ lực tốt nhất và các nút sẽ đến và đi tự do; Tuy nhiên, khi tham gia, luôn cần phải chấp nhận chuỗi bằng chứng công việc dài nhất làm bằng chứng về mọi thứ đã xảy ra trong khoảng thời gian họ không tham gia.

1. Giới thiệu

Thương mại Internet phụ thuộc gần như hoàn toàn vào các tổ chức tài chính như các bên thứ ba đáng tin cậy để xử lý thanh toán điện tử. Mặc dù hệ thống này khá tốt cho hầu hết các giao dịch, nhưng nó vẫn bị cản trở bởi những sai sót vốn có của các mô hình dựa trên niềm tin. Một giao dịch hoàn toàn không thể đảo ngược là không thể thực hiện được trên thực tế, vì các tổ chức tài chính không thể tránh được tranh chấp trọng tài. Chi phí trọng tài làm tăng chi phí giao dịch, do đó giới hạn quy mô của giao dịch tối thiểu có thể và chỉ đơn giản là ngăn chặn nhiều giao dịch thanh toán vi mô. Trên hết, có một chi phí thậm chí còn lớn hơn: hệ thống không thể thực hiện thanh toán không thể đảo ngược cho các dịch vụ không thể đảo ngược. Khả năng đảo chiều đã tạo ra một nhu cầu phổ biến về niềm tin. Người bán phải cảnh giác với khách hàng của họ, làm phiền họ cung cấp thêm thông tin không cần thiết nếu không (nếu không đáng tin cậy). Một tỷ lệ gian lận nhất định được coi là không thể tránh khỏi. Những chi phí và sự không chắc chắn về thanh toán này có thể tránh được khi thanh toán được thực hiện trực tiếp giữa những người sử dụng tiền tệ vật lý; Tuy nhiên, không có cơ chế nào để cả hai bên thực hiện thanh toán qua các kênh liên lạc mà không có một trong số họ được tin cậy.

Những gì chúng ta thực sự cần là một hệ thống thanh toán điện tử dựa trên bằng chứng mật mã thay vì tin tưởng, cho phép bất kỳ hai bên nào giao dịch trực tiếp mà không cần phải tin tưởng vào bên thứ ba. Giao dịch không thể đảo ngược của bảo lãnh hashrate có thể giúp người bán tránh gian lận và cơ chế đảm bảo hàng ngày để bảo vệ người mua rất dễ thực hiện. Trong bài báo này, chúng tôi sẽ đề xuất một giải pháp cho việc chi tiêu gấp đôi, sử dụng máy chủ dấu thời gian phân tán, ngang hàng để tạo ra các bằng chứng dựa trên tỷ lệ băm ghi lại từng giao dịch theo thứ tự thời gian. Hệ thống được bảo mật, miễn là các nút trung thực thường có nhiều sức mạnh CPU hơn những kẻ tấn công hợp tác với nhau.

2. Giao dịch

Chúng tôi định nghĩa một đồng tiền điện tử là một chuỗi chữ ký số. Khi chủ sở hữu đưa một đồng xu cho người khác, người đó làm như vậy bằng cách thêm chữ ký số sau vào cuối chuỗi chữ ký số: hàm băm của giao dịch trước đó và khóa công khai của chủ sở hữu mới. Người nhận thanh toán có thể xác minh quyền sở hữu chuỗi chữ ký số bằng cách xác minh chữ ký.

! [sQZAt4qlbgm150hgxHy4ui11TxFPpIbbi5Z7GUia.jpeg] (https://img.jinse.cn/7126684_watermarknone.png "7126684")

Vấn đề với đường dẫn này là người nhận không thể xác minh rằng không ai đã trả gấp đôi trong số các chủ sở hữu trước đó. Một giải pháp phổ biến là đưa vào một cơ quan tập trung đáng tin cậy, hoặc "đúc tiền", và kiểm tra chi tiêu gấp đôi cho mỗi giao dịch. Sau mỗi giao dịch, đồng xu phải được trả lại cho xưởng đúc tiền, nơi phát hành một đồng tiền mới. Hơn nữa, chỉ những đồng tiền được phát hành trực tiếp bởi xưởng đúc tiền là đáng tin cậy và chưa được trả gấp đôi. Vấn đề với giải pháp này là số phận của toàn bộ hệ thống tiền tệ gắn liền với công ty điều hành xưởng đúc tiền (giống như ngân hàng) và mọi giao dịch phải đi qua nó.

Chúng tôi cần một cách để người nhận xác nhận rằng chủ sở hữu trước đó đã không ký bất kỳ giao dịch nào trước đó. Đối với mục đích của chúng tôi, chỉ những giao dịch sớm nhất mới được tính, vì vậy chúng tôi không quan tâm đến những lần chi tiêu gấp đôi tiếp theo. Cách duy nhất để xác nhận rằng một giao dịch không tồn tại là được thông báo về tất cả các giao dịch. Trong mô hình đúc tiền, mint nhận thức được tất cả các giao dịch và có thể xác nhận thứ tự của các giao dịch đó. Để có thể thực hiện điều này mà không cần sự tham gia của "bên đáng tin cậy", hồ sơ giao dịch phải được khai báo công khai1 và chúng tôi cần một hệ thống cho phép người tham gia đồng ý về cùng một lịch sử giao dịch duy nhất mà họ nhận được. Người nhận thanh toán cần chứng minh rằng tại thời điểm của mỗi giao dịch, phần lớn các nút có thể đồng ý rằng đó là nút đầu tiên được nhận.

3. Máy chủ dấu thời gian

Giải pháp này bắt đầu với một máy chủ dấu thời gian. Đây là cách máy chủ dấu thời gian hoạt động: nó đánh dấu thời gian hàm băm của một tập hợp các bản ghi, sau đó phát hàm băm, như một tờ báo hoặc giống như một bài đăng trong Usenet.2 3 4 5. Rõ ràng, dấu thời gian chứng minh rằng dữ liệu đã tồn tại trước thời điểm đó, nếu không hàm băm sẽ không được tạo. Mỗi dấu thời gian chứa một dấu thời gian trước đó trong hàm băm của nó, do đó tạo thành một chuỗi; Mỗi dấu thời gian mới được thêm vào sau dấu thời gian trước đó.

! [IkJWI40CL5rPFbmKNx829DpApCPH8JY1zjTQ9neY.jpeg] (https://img.jinse.cn/7126685_watermarknone.png "7126685")

4. Bằng chứng công việc

Để triển khai máy chủ dấu thời gian phân tán dựa trên ngang hàng, chúng ta cần sử dụng hệ thống bằng chứng công việc như Hash Cash 6 của Adam Burke, thay vì một cái gì đó như một bài đăng trên báo hoặc nhóm tin. Cái gọi là bằng chứng công việc là tìm một giá trị; Để giá trị này đúng: sau khi trích xuất giá trị băm cho nó - ví dụ: sử dụng SHA-256 để tính giá trị băm - giá trị băm phải bắt đầu bằng một số không nhất định. Mỗi yêu cầu bổ sung bằng 0 làm tăng số lượng công việc theo cấp số nhân và việc xác minh số lượng công việc này chỉ yêu cầu tính toán hàm băm.

Trong mạng timestamp của chúng tôi, chúng tôi triển khai bằng chứng công việc theo cách sau: chúng tôi tiếp tục thêm nonce vào một khối cho đến khi tìm thấy một giá trị thỏa mãn các điều kiện; Điều kiện cho điều này là hàm băm của khối bắt đầu với số 0 được chỉ định. Khi kết quả tiêu thụ năng lượng tính toán của CPU đáp ứng bằng chứng công việc, khối không còn có thể thay đổi trừ khi tất cả công việc trước đó được làm lại. Khi các khối mới được thêm vào mọi lúc, thay đổi khối hiện tại có nghĩa là hoàn thiện lại tất cả các khối tiếp theo.

! [L5fHgxjJJ6fSYcFToKfNERzgNlhNgUwdgMiNG2N5.jpeg] (https://img.jinse.cn/7126686_watermarknone.png "7126686")

Bằng chứng công việc cũng giải quyết vấn đề làm thế nào để quyết định ai có thể đưa ra quyết định thay mặt cho đa số. Nếu cái gọi là "đa số" dựa trên cách tiếp cận "một địa chỉ IP, một phiếu bầu", thì bất kỳ ai có thể xử lý nhiều địa chỉ IP đều có thể được coi là "đa số". Bằng chứng công việc về cơ bản là "một CPU, một phiếu bầu". Cái gọi là "quyết định đa số" được đại diện bởi chuỗi dài nhất, bởi vì nó là chuỗi được đặt nhiều công việc nhất vào nó. Nếu phần lớn sức mạnh tính toán của CPU được kiểm soát bởi các nút trung thực, thì chuỗi trung thực sẽ phát triển nhanh nhất và nó sẽ nhanh hơn nhiều so với các chuỗi cạnh tranh khác. Để thay đổi một khối đã được tạo ra, kẻ tấn công sẽ phải hoàn thành lại bằng chứng công việc cho khối đó và tất cả các khối tiếp theo, sau đó bắt kịp và vượt qua công việc của nút trung thực. Bài viết này cho thấy lý do tại sao khả năng kẻ tấn công bị trì hoãn bắt kịp giảm theo cấp số nhân khi số lượng khối tăng lên.

Để đối phó với số lượng sức mạnh tính toán phần cứng ngày càng tăng và số lượng đóng góp nút có thể thay đổi theo thời gian, độ khó bằng chứng công việc được xác định bằng trung bình động của số khối được tạo ra mỗi giờ. Nếu khối được tạo quá nhanh, thì độ khó sẽ tăng lên.

5. Mạng lưới

Các bước để chạy mạng như sau:

  1. Tất cả các giao dịch mới được phát tới tất cả các nút;
  2. Mỗi nút đóng gói các giao dịch mới thành một khối;
  3. Mỗi nút bắt đầu tìm một bằng chứng công việc khó khăn cho khối này;
  4. Khi một khối tìm thấy bằng chứng công việc của nó, nó sẽ phát khối đến tất cả các nút;
  5. Nhiều nút khác sẽ chấp nhận khối nếu và chỉ khi các điều kiện sau được đáp ứng: tất cả các giao dịch đều hợp lệ và chưa được thanh toán kép;
  6. Nhiều nút chỉ ra cho mạng rằng chúng chấp nhận khối bằng cách coi hàm băm của khối được chấp nhận là hàm băm trước khối mới khi khối tiếp theo được tạo.

Nút luôn nghĩ rằng chuỗi dài nhất là chuỗi chính xác và tiếp tục thêm dữ liệu mới vào đó. Nếu hai nút đồng thời phát hai phiên bản khác nhau của "Khối tiếp theo" lên mạng, một số nút sẽ nhận được một trong số chúng trước, trong khi các nút khác sẽ nhận được phiên bản còn lại trước. Trong trường hợp này, các nút sẽ tiếp tục làm việc trên khối mà chúng nhận được trước, nhưng cũng sẽ lưu nhánh khác trong trường hợp nó trở thành chuỗi dài nhất. Khi bằng chứng công việc tiếp theo được tìm thấy và một trong các nhánh trở nên dài hơn, sự phân kỳ tạm thời này được giải quyết và các nút làm việc trên nhánh khác chuyển sang chuỗi dài hơn.

Các giao dịch mới không nhất thiết phải được phát tới tất cả các nút. Miễn là đạt đủ nút, sẽ không lâu trước khi các giao dịch đó được đóng gói thành một khối. Chặn chương trình phát sóng cũng cho phép một số tin nhắn bị loại bỏ. Nếu một nút không nhận được khối, nút sẽ nhận ra rằng nó đã bỏ lỡ khối trước đó khi nhận được khối tiếp theo và sẽ đưa ra yêu cầu thay thế khối bị thiếu.

6. Ưu đãi

Theo quy ước, giao dịch đầu tiên của mỗi khối là một giao dịch đặc biệt tạo ra một đồng tiền mới và thuộc về trình tạo của khối. Làm như vậy sẽ thưởng cho các nút hỗ trợ mạng lưới và cung cấp cách phát hành tiền xu vào lưu thông – trong một hệ thống không có thẩm quyền tập trung để phát hành những đồng tiền đó. Do đó, việc bổ sung đều đặn một số lượng tiền mới nhất định vào lưu thông giống như những người khai thác vàng liên tục sử dụng tài nguyên của họ để thêm vàng vào lưu thông. Trong hệ thống của chúng tôi, tài nguyên được tiêu thụ là thời gian CPU hoạt động và sức mạnh mà chúng sử dụng.

Phần thưởng cũng có thể đến từ phí giao dịch. Nếu giá trị đầu ra của một giao dịch nhỏ hơn giá trị đầu vào của nó, thì chênh lệch là phí giao dịch; Phí giao dịch được sử dụng để thưởng cho các nút đóng gói giao dịch vào khối này. Khi số lượng tiền đã đặt được lưu hành, phần thưởng sẽ được chi trả đầy đủ bởi phí giao dịch và sẽ hoàn toàn không có lạm phát.

Cơ chế khen thưởng cũng có thể khuyến khích các nút trung thực. Nếu một kẻ tấn công tham lam có thể đánh cắp nhiều sức mạnh CPU hơn tất cả các nút trung thực, anh ta phải đưa ra lựa chọn: anh ta có nên sử dụng sức mạnh tính toán đó để đánh lừa người khác bằng cách ăn cắp lại số tiền anh ta đã chi không? Hoặc sử dụng sức mạnh tính toán này để tạo ra các đồng tiền mới? Anh ta sẽ có thể thấy hiệu quả hơn về chi phí khi chơi theo luật, điều này bây giờ cho phép anh ta kiếm được nhiều tiền hơn tất cả những người khác cộng lại, điều này rõ ràng là tiết kiệm chi phí hơn so với việc bí mật phá hủy hệ thống và giảm sự giàu có của anh ta xuống hư vô.

7. Lấy lại dung lượng đĩa

Nếu giao dịch gần đây nhất của đồng xu xảy ra trước khi đủ khối, lịch sử giao dịch chi tiêu của đồng tiền trước giao dịch đó có thể bị loại bỏ để tiết kiệm dung lượng đĩa. Để làm điều này mà không phá vỡ hàm băm của khối, hàm băm của bản ghi giao dịch sẽ được bao gồm trong cây Merkle và chỉ gốc của cây sẽ được bao gồm trong hàm băm của khối. Bằng cách cắt bỏ các nhánh, các khối cũ có thể được nén. Hàm băm nội bộ không cần phải được lưu.

! [GOSWSMEutHTHRctOsFIZ6l0XiCZpQDCytysccOvF.jpeg] (https://img.jinse.cn/7126687_watermarknone.png "7126687")

Một tiêu đề khối không có bất kỳ lịch sử giao dịch nào là khoảng 80 byte. Giả sử một khối được tạo ra cứ sau mười phút, 80 byte nhân với 6 lần 24 lần 365 bằng 4,2 triệu mỗi năm. Tính đến năm 2008, hầu hết các máy tính được bán đều có RAM 2GB và Định luật Moore dự đoán rằng 1,2 GB sẽ được thêm vào mỗi năm, ngay cả khi tiêu đề khối phải được lưu trữ trong bộ nhớ.

8. Xác nhận thanh toán đơn giản hóa

Có thể xác nhận thanh toán ngay cả khi không phải chạy một nút mạng đầy đủ. Tất cả những gì người dùng cần là một bản sao của tiêu đề khối của chuỗi dài nhất với bằng chứng công việc - anh ta có thể kiểm tra nút trực tuyến để xác nhận rằng anh ta có chuỗi dài nhất - và sau đó lấy nút nhánh của cây Merkle, từ đó kết nối với giao dịch khi khối được đánh dấu thời gian. Người dùng không thể tự kiểm tra giao dịch, nhưng bằng cách kết nối với một vị trí nhất định trên chuỗi, anh ta có thể thấy rằng một nút mạng đã chấp nhận giao dịch và khối được thêm vào sau đó xác nhận thêm rằng mạng đã chấp nhận giao dịch.

! [ZUtmrmdPnropshOMBHizRFDwDh0pncg5VGNnzWcI.jpeg] (https://img.jinse.cn/7126688_watermarknone.png "7126688")

Miễn là các nút trung thực vẫn kiểm soát mạng, việc xác minh là đáng tin cậy. Tuy nhiên, khi mạng được kiểm soát bởi kẻ tấn công, việc xác minh sẽ kém tin cậy hơn. Mặc dù các nút mạng có thể tự xác minh các giao dịch, miễn là kẻ tấn công vẫn kiểm soát mạng, phương pháp xác minh đơn giản có thể bị đánh lừa bởi các hồ sơ giao dịch giả mạo của kẻ tấn công. Một trong những biện pháp đối phó là phần mềm máy khách chấp nhận cảnh báo từ các nút mạng. Khi một nút mạng tìm thấy một khối không hợp lệ, nó sẽ gửi cảnh báo và một thông báo bật lên trên phần mềm của người dùng để thông báo cho người dùng tải xuống toàn bộ khối và cảnh báo người dùng xác nhận tính nhất quán của giao dịch. Người bán có thanh toán tần suất cao vẫn nên chạy nút đầy đủ của riêng họ để đảm bảo bảo mật độc lập hơn và xác nhận giao dịch nhanh hơn.

9. Kết hợp và phân chia giá trị

Mặc dù có thể xử lý từng đồng xu một, nhưng thật khó để thiết lập một bản ghi riêng cho mỗi xu. Để cho phép phân tách và hợp nhất các giá trị, các giao dịch chứa nhiều đầu vào và đầu ra. Nói chung, một đầu vào duy nhất từ một giao dịch tương đối lớn trước đó hoặc kết hợp nhiều đầu vào từ một số tiền nhỏ hơn; Đồng thời, có nhiều nhất hai đầu ra: một để thanh toán (cho người nhận thanh toán) và một để thay đổi (cho người gửi) nếu cần thiết.

! [rRreBWdF8I1swfs5QtBILVrI0guXumj1ulPkbKyu.jpeg] (https://img.jinse.cn/7126689_watermarknone.png "7126689")

Điều quan trọng cần lưu ý là "phân xuất" không phải là vấn đề ở đây - "phân xuất" có nghĩa là một giao dịch phụ thuộc vào nhiều giao dịch và các giao dịch đó phụ thuộc vào nhiều giao dịch hơn. Không bao giờ cần phải trích xuất một bản sao lịch sử hoàn chỉnh, độc lập của bất kỳ giao dịch nào.

10. Sự riêng tư

Các mô hình ngân hàng truyền thống đạt được một mức độ bảo vệ quyền riêng tư bằng cách hạn chế quyền truy cập vào thông tin về thương nhân và các bên thứ ba đáng tin cậy. Cách tiếp cận này đã bị từ chối do nhu cầu công khai tất cả các hồ sơ giao dịch. Tuy nhiên, việc duy trì quyền riêng tư có thể đạt được bằng cách cắt đứt luồng thông tin ở một nơi khác - tính ẩn danh của khóa công khai. Công chúng có thể thấy rằng cái này cái kia đã chuyển một số tiền nhất định cho cái này cái kia, tuy nhiên, không có thông tin nào chỉ ra một người nào đó. Mức độ công bố thông tin này hơi giống giao dịch trên thị trường chứng khoán, chỉ có thời gian và số lượng giao dịch riêng lẻ được công bố, tuy nhiên, không ai biết hai bên giao dịch là ai.

! [FACNxW4jyufvrE53ONTept7HLlHzayQU9CwIg4eX.jpeg] (https://img.jinse.cn/7126690_watermarknone.png "7126690")

Có một lớp tường lửa khác. Các nhà giao dịch nên kích hoạt một cặp khóa công khai và riêng tư mới cho mỗi giao dịch để không ai khác có thể theo dõi các giao dịch này trở lại cùng một chủ sở hữu. Một số giao dịch đa đầu vào chắc chắn vẫn có hiệu lực hồi tố, vì những đầu vào đó chắc chắn sẽ được xác định là đến từ cùng một chủ sở hữu. Điều nguy hiểm là nếu chủ sở hữu khóa công khai bị lộ, tất cả các giao dịch khác liên quan đến nó sẽ bị lộ.

11. Tính toán

Giả sử một kịch bản mà kẻ tấn công đang cố gắng tạo ra một chuỗi thay thế nhanh hơn chuỗi trung thực. Ngay cả khi anh ta thành công, anh ta không thể thực hiện bất kỳ thay đổi nào đối với hệ thống, tức là, anh ta không thể tạo ra giá trị từ không khí mỏng và anh ta không thể nhận được tiền không bao giờ thuộc về anh ta. Các nút mạng không coi giao dịch không hợp lệ là thanh toán và các nút trung thực sẽ không bao giờ chấp nhận một khối có chứa khoản thanh toán đó. Tốt nhất, kẻ tấn công có thể sửa đổi các giao dịch của chính mình và cố gắng lấy lại số tiền anh ta đã chi tiêu.

Sự cạnh tranh giữa chuỗi trung thực và kẻ tấn công có thể được mô tả bằng một bước đi ngẫu nhiên nhị thức. Một sự kiện thành công là khi một khối mới vừa được thêm vào chuỗi trung thực, tăng lợi thế của nó lên 1, trong khi sự kiện thất bại là khi chuỗi của kẻ tấn công vừa được thêm một khối mới, làm giảm lợi thế của chuỗi trung thực xuống 1.

Xác suất mà kẻ tấn công sẽ có thể bắt kịp từ phía sau tương tự như vấn đề một con bạc bị phá sản. Giả sử một con bạc có chip không giới hạn bắt đầu với thâm hụt và cho phép anh ta đặt cược số lần không giới hạn, với mục tiêu lấp đầy thâm hụt mà anh ta đã có. Chúng ta có thể tính toán xác suất cuối cùng anh ta sẽ có thể lấp đầy sự thiếu hụt, nghĩa là xác suất kẻ tấn công sẽ có thể bắt kịp chuỗi trung thực, như sau:

! [dxwr3HPLYbHZisFnpwH6hIvaudm3FchUzRFXaD7m.jpeg] (https://img.jinse.cn/7126691_watermarknone.png "7126691")

Vì chúng tôi đã giả định rằng p >, q Vì kẻ tấn công cần bắt kịp ngày càng nhiều khối, xác suất thành công giảm theo cấp số nhân. Nếu kẻ tấn công không đủ may mắn để có một bước nhảy vọt ngay từ đầu, tỷ lệ thắng của anh ta sẽ bị xóa sổ trong khi anh ta tụt lại phía sau.

Bây giờ hãy xem xét người nhận giao dịch mới sẽ phải đợi bao lâu để hoàn toàn chắc chắn rằng người gửi không thể thay đổi giao dịch. Chúng tôi giả định rằng người gửi là kẻ tấn công đang cố gắng thuyết phục người nhận thanh toán rằng anh ta đã thanh toán trong một khoảng thời gian và sau đó chuyển tiền trở lại cho chính mình. Khi điều này xảy ra, người nhận tất nhiên sẽ nhận được cảnh báo, nhưng người gửi hy vọng rằng chiếc thuyền gỗ đã ở trong thuyền.

Người nhận tạo một cặp khóa công khai và khóa riêng mới, sau đó giao tiếp khóa công khai cho người gửi ngay trước khi ký. Điều này ngăn chặn tình huống người gửi chuẩn bị trước một khối trên chuỗi với tính toán liên tục và đủ may mắn để đủ trước để thực hiện giao dịch cho đến lúc đó. Khi tiền đã được gửi, người gửi không trung thực bắt đầu bí mật làm việc trên một parachain khác, cố gắng thêm một phiên bản ngược của giao dịch vào đó.

Người nhận thanh toán đợi cho đến khi giao dịch được đóng gói thành một khối và đã có z khối đã được thêm vào sau đó. Anh ta không biết chính xác những kẻ tấn công đang làm tốt như thế nào, nhưng anh ta có thể giả định rằng các khối trung thực dành một lượng thời gian trung bình trong quá trình tạo ra mỗi khối; Sự tiến triển tiềm năng của kẻ tấn công phù hợp với phân phối Poisson, với giá trị kỳ vọng là:

! [Go4WNHNh1YtPsMqjI2XbNCMTnITJUIl9w8LqM6yj.jpeg] (https://img.jinse.cn/7126692_watermarknone.png "7126692")

Để tính xác suất mà kẻ tấn công vẫn có thể bắt kịp, chúng ta cần nhân mật độ xác suất của phân phối Parzon cho số khối mà kẻ tấn công cần bắt kịp với xác suất chúng có thể bắt kịp nếu chúng đứng sau số khối đó:

! [5O3ugdwP0uoNL0qOnvLbnUvNTXGMBmxJj4yS00y3.jpeg] (https://img.jinse.cn/7126694_watermarknone.png "7126694")

Chuyển đổi sang chương trình C...

! [XjwW5ZbFNIZCfiPFAnbg7b4iW4qp9A8g1LFKe2f2.jpeg] (https://img.jinse.cn/7126698_watermarknone.png "7126698")

Lấy một số kết quả, chúng ta có thể thấy xác suất giảm theo cấp số nhân khi z tăng:

! [452fZL5ude7CUuUz85STQEcvquwOCHxhZ3pEhKRc.jpeg] (https://img.jinse.cn/7126700_watermarknone.png "7126700")

Nếu P nhỏ hơn 0,1%...

! [zfsBufXK54KjstagaZXrPOUREzaoQU7VPy9eYjjX.jpeg] (https://img.jinse.cn/7126701_watermarknone.png "7126701")

12. kết thúc

Chúng tôi đề xuất một hệ thống giao dịch điện tử không phải dựa vào sự tin tưởng; Điểm khởi đầu là một khung đồng xu đơn giản sử dụng chữ ký số và trong khi nó cung cấp quyền kiểm soát quyền sở hữu mạnh mẽ, nó không thể tránh khỏi việc chi tiêu gấp đôi. Để giải quyết vấn đề này, chúng tôi đề xuất một mạng ngang hàng sử dụng cơ chế bằng chứng công việc để ghi lại lịch sử giao dịch công khai và miễn là nút trung thực có thể kiểm soát phần lớn sức mạnh tính toán của CPU, thì kẻ tấn công không thể can thiệp thành công vào hệ thống chỉ về sức mạnh tính toán. Sự mạnh mẽ của mạng lưới này nằm ở sự đơn giản phi cấu trúc của nó. Các nút có thể hoạt động đồng thời ngay lập tức với ít sự cộng tác. Họ thậm chí không cần phải được nhận ra, bởi vì đường dẫn của thông điệp không phụ thuộc vào một điểm đến cụ thể; Thông điệp chỉ cần được phổ biến trên cơ sở nỗ lực tốt nhất. Các nút đến và đi tự do, và khi chúng tham gia lại, chúng chỉ cần chấp nhận chuỗi bằng chứng công việc làm bằng chứng về mọi thứ đã xảy ra trong khi chúng ngoại tuyến. Họ bỏ phiếu về sức mạnh CPU của họ và họ cho biết họ chấp nhận các giao dịch hợp lệ bằng cách liên tục thêm các khối hợp lệ mới vào chuỗi và từ chối các khối không hợp lệ. Bất kỳ quy tắc và phần thưởng cần thiết nào cũng có thể được thực thi thông qua cơ chế đồng thuận này.

Tham khảo

  1. B-money Dai Wei (1 tháng 11 năm 1998)
  2. Thiết kế dịch vụ đánh dấu thời gian an toàn với yêu cầu tin cậy tối thiểu Henri Massias, Xavier Serret-Avila, Jean-Jacques Quisquater Hội nghị chuyên đề lần thứ 20 về lý thuyết thông tin ở Benelux (1999-05)
  3. Cách đóng dấu thời gian cho tài liệu kỹ thuật số Stuart Haber, W.Scott Stornetta Tạp chí Mật mã (1991) doi: 10.1007/bf00196791
  4. Nâng cao hiệu quả và độ tin cậy của dập thời gian kỹ thuật số Dave Bayer, Stuart Haber, W. Scott Stornetta Trình tự II (1993) doi: 10.1007/978-1-4613-9323-8_24
  5. Tên bảo mật cho chuỗi bit Stuart Haber, W. Scott Stornetta Kỷ yếu hội nghị ACM lần thứ 4 về bảo mật máy tính và truyền thông - CCS '97(1997) doi: 10.1145/266420.266430
  6. Hashcash - Biện pháp đối phó từ chối dịch vụ Adam Back (1 tháng 8 năm 2002)
  7. Giao thức cho tiền điện tử khóa công khai Ralph C. Merkle *Hội nghị chuyên đề IEEE năm 1980 về bảo mật và quyền riêng tư * (1980-04) doi: 10.1109/sp.1980.10006
  8. Giới thiệu về lý thuyết xác suất và các ứng dụng của nó: William Feller * John Wiley &; Sons * (1957)
Xem bản gốc
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
  • Phần thưởng
  • Bình luận
  • Chia sẻ
Bình luận
0/400
Không có bình luận
  • Ghim
Giao dịch tiền điện tử mọi lúc mọi nơi
qrCode
Quét để tải xuống ứng dụng Gate
Cộng đồng
Tiếng Việt
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)