Lưu ý: Vào ngày 31 tháng 10 năm 2008, Satoshi Nakamoto đã phát hành sách trắng Bitcoin "Bitcoin: Hệ thống tiền mặt điện tử ngang hàng" trên trang web của tổ chức P2P. Nhân kỷ niệm 16 năm phát hành sách trắng, để đọc lại tác phẩm kinh điển đã thay đổi mãi mãi thế giới tài chính này, Golden Finance một lần nữa xuất bản phiên bản tiếng Trung của sách trắng Bitcoin.
Tác giả: Satoshi Nakamoto; Người dịch: Li Xiaolai
Tóm tắt: Một phiên bản ngang hàng hoàn toàn của hệ thống tiền điện tử cho phép thanh toán trực tuyến được gửi trực tiếp từ một bên sang người khác mà không cần thông qua các tổ chức tài chính. Chữ ký số cung cấp một phần giải pháp, nhưng nếu vẫn cần có bên thứ ba đáng tin cậy để ngăn chặn chi tiêu gấp đôi thì những lợi ích chính của thanh toán điện tử sẽ bị bù đắp. Chúng tôi đề xuất giải pháp giải quyết vấn đề chi tiêu gấp đôi bằng cách sử dụng mạng ngang hàng. Mạng ngang hàng sẽ đánh dấu thời gian cho mỗi giao dịch bằng cách nhập hàm băm của nó vào chuỗi bằng chứng công việc dựa trên hàm băm ngày càng mở rộng, tạo ra một bản ghi không thể thay đổi nếu không thực hiện 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à trình tự của chúng, đồng thời, nó cũng được sử dụng để chứng minh rằng nó đến từ nhóm sức mạnh tính toán CPU lớn nhất. Miễn là phần lớn sức mạnh 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 các nút đang 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 những kẻ tấn công. Bản thân mạng yêu cầu cấu trúc tối thiểu. Thông tin sẽ được phổ biến trên cơ sở nỗ lực cao nhất và các nút có thể đến và đi một cách tự do; tuy nhiên, khi tham gia, họ luôn cần chấp nhận chuỗi bằng chứng công việc dài nhất làm bằng chứng cho mọi thứ đã xảy ra khi họ không tham gia.
1. Giới thiệu
Thương mại qua Internet gần như hoàn toàn dựa vào các tổ chức tài chính với tư cách là bên thứ ba đáng tin cậy để xử lý thanh toán điện tử. Mặc dù hệ thống này hoạt động tốt đối với 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ó trong mô hình dựa trên sự tin cậy. Các giao dịch hoàn toàn không thể đảo ngược hầu như không thể thực hiện được vì các tổ chức tài chính không thể tránh khỏi các tranh chấp bằng trọng tài. Chi phí trọng tài làm tăng chi phí giao dịch, do đó hạn chế quy mô của các giao dịch nhỏ nhất có thể và đơn giản là ngăn cản nhiều giao dịch thanh toán vi mô. Ngoài ra, còn có một chi phí lớn hơn: hệ thống không thể cung cấp các khoả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 ngược tạo ra nhu cầu tin tưởng ở khắp mọi nơi. Người bán phải cảnh giác với khách hàng của mình và yêu cầu họ cung cấp nhiều thông tin hơn mức cần thiết (nếu đáng tin cậy). Một tỷ lệ gian lận nhất định được coi là không thể tránh khỏi. Mặc dù những chi phí này và sự không chắc chắn trong thanh toán có thể tránh được khi mọi người thanh toán trực tiếp bằng tiền tệ vật chất; tuy nhiên, không có cơ chế nào cho phép cả hai bên thanh toán qua các kênh liên lạc khi một trong các bên không được tin cậy.
Điều chúng tôi 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ì sự tin cậy, cho phép bất kỳ bên nào giao dịch trực tiếp mà không cần tin tưởng vào bên thứ ba. Các giao dịch không thể đảo ngược được đảm bảo bởi sức mạnh tính toán có thể giúp người bán tránh bị lừa đảo và cơ chế bảo đảm hàng ngày để bảo vệ người mua cũng dễ dàng thực hiện. Trong bài viết này, chúng tôi sẽ đề xuất giải pháp 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 bằng chứng dựa trên sức mạnh tính toán và 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 cùng nhau kiểm soát nhiều sức mạnh CPU hơn những kẻ tấn công hợp tác.
2. Giao dịch
Chúng tôi định nghĩa tiền điện tử là một chuỗi chữ ký số. Khi chủ sở hữu trao một đồng xu cho người khác, anh ta thực hiện 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 đó (phiên âm, còn được dịch là "giá trị băm") và khóa công khai của chủ sở hữu mới. Người được trả tiề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ý.
Vấn đề với điều này đường dẫn Vấn đề là người nhận thanh toán không thể xác minh rằng không ai trong số các chủ sở hữu trước đó đã chi tiêu gấp đôi. Một giải pháp phổ biến là giới thiệu một cơ quan tập trung đáng tin cậy, hay còn gọi là "đúc tiền" để kiểm tra mọi giao dịch xem có chi tiêu gấp đôi hay không. Sau mỗi giao dịch, đồng xu phải được trả lại cho Mint để phát hành một đồng xu mới. Hơn nữa, chỉ những đồng tiền do cơ sở đúc tiền trực tiếp phát hành mới đáng tin cậy và chưa bị chi tiêu 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ư một ngân hàng) và mọi giao dịch đều phải thông qua nó.
Chúng tôi cần một cách để người nhận thanh toán xác nhận rằng chủ sở hữu trước đó không ký vào bất kỳ giao dịch nào trước đó. Vì 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à biết tất cả các giao dịch. Trong mô hình đúc tiền, xưởng đúc tiền đã biết tất cả các giao dịch và có thể xác nhận thứ tự của các giao dịch này. Để thực hiện được các nhiệm vụ trên mà không có sự tham gia của "bên đáng tin cậy", hồ sơ giao dịch phải được công bố công khai 1 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 khi mỗi giao dịch xảy ra, hầu hết các nút đều có thể đồng ý rằng đó là giao dịch đầ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áy chủ dấu thời gian. Máy chủ dấu thời gian hoạt động như thế này: nó đánh dấu thời gian hàm băm của một khối bản ghi (mục) và sau đó phát hàm băm, giống như một tờ báo sẽ làm hoặc một cái gì đó giống như Usenet ) 2 3 4 5. Rõ ràng, dấu thời gian có thể chứng minh rằng dữ liệu đã tồn tại trước thời điểm đó, nếu không thì không thể tạo ra hàm băm. Mỗi dấu thời gian chứa 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 dấu thời gian trước đó.
4. work (Proof-of-Work)
Để triển khai máy chủ dấu thời gian phân tán ngang hàng, chúng tôi cần sử dụng thứ gì đó như Hash Cash 6 Một hệ thống bằng chứng công việc như vậy , thay vì Nội dung nào đó giống như một tờ báo hoặc bài đăng trên 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 phải đáp ứng các điều kiện sau: sau khi trích xuất giá trị băm cho nó - chẳng hạn như tính giá trị băm bằng SHA-256 - giá trị băm phải bắt đầu bằng một số lượng nhất định 0 giây. Mỗi yêu cầu bổ sung bằng 0 sẽ làm tăng khối lượng công việc theo cấp số nhân và việc xác minh khối lượng công việc này chỉ cần tính toán hàm băm.
Trong mạng dấu thời gian của chúng tôi, chúng tôi triển khai bằng chứng công việc như thế này: liên tục thêm một số ngẫu nhiên (Nonce) vào khối cho đến khi tìm thấy giá trị đáp ứng điều kiện này là Giá trị băm của khối này; bắt đầu với số lượng số không được chỉ định. Khi kết quả thu được nhờ sức mạnh tính toán của CPU thỏa mãn bằng chứng công việc, khối không thể thay đổi được nữa trừ khi tất cả công việc trước đó được hoàn thành lại. Khi các khối mới được thêm vào, việc thay đổi khối hiện tại có nghĩa là thực hiện lại công việc của tất cả các khối tiếp theo.
Bằng chứng về công việc đã được giải quyết đồng thời 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ố" được xác định 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 thể hiện bằng chuỗi dài nhất, bởi vì đó là chuỗi mà nhiều công việc được đặt vào đó nhất. 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à tốc độ của 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, kẻ tấn công sẽ phải hoàn thành lại bằng chứng hoạt động của khối đó và tất cả các khối tiếp theo, sau đó phải bắt kịp và vượt qua công việc của các nút trung thực. Bài viết sau đây cho thấy tại sao xác suất kẻ tấn công bị trì hoãn có thể bắt kịp lại giảm theo cấp số nhân theo số khối.
Để đối phó với sự gia tăng liên tục về sức mạnh tính toán phần cứng và những thay đổi có thể có về số lượng người tham gia nút theo thời gian, độ khó của bằng chứng công việc được xác định bởi: đường trung bình động dựa trên mức trung bình giá trị số khối được tạo ra mỗi giờ. Nếu các khối được tạo ra quá nhanh, độ khó sẽ tăng lên.
5. Mạng
Các bước để chạy mạng như sau:
- < p >Tất cả các giao dịch mới được phát tới tất cả các nút;
Mỗi nút đóng gói các giao dịch mới thành một khối;
Mỗi nút bắt đầu tìm thấy bằng chứng hoạt động khó khăn cho khối này;
Khi một khối tìm thấy bằng chứng hoạt động của nó, nó sẽ phát khối tới tất cả Node;
li>Nhiều nút khác sẽ chấp nhận khối này khi và chỉ khi các điều kiện sau được đáp ứng: tất cả các giao dịch trong đó đều hợp lệ và chưa được chi tiêu hai lần;
p> < li>Cách nhiều nút báo cho mạng biết rằng họ chấp nhận khối này là 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 tạo khối hy vọng tiếp theo.
Các nút luôn nghĩ rằng chuỗi dài nhất là chuỗi chính xác và sẽ tiếp tục thêm dữ liệu mới vào đó. Nếu hai nút phát hai phiên bản khác nhau của "khối tiếp theo" lên mạng cùng một lúc, một số nút sẽ nhận được một phiên bản đầu tiên và các nút khác sẽ nhận được phiên bản kia 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 đầu tiên 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ở thành chuỗi dài hơn, sự phân kỳ tạm thời này sẽ được giải quyết và các nút hoạt động trên nhánh kia sẽ 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 đủ số nút, các giao dịch này sẽ sớm được đóng gói thành một khối. Chặn phát sóng cũng cho phép loại bỏ một số tin nhắn. Nếu một nút không nhận được một khối thì nút đó sẽ nhận ra rằng nó đã bỏ lỡ khối trước đó khi nhận được khối tiếp theo, do đó, nó sẽ đưa ra yêu cầu bổ sung khối bị thiếu.
6. Ưu đãi
Theo thỏa thuận, giao dịch đầu tiên của mỗi khối là một giao dịch đặc biệt, sẽ tạo ra một đồng tiền mới có quyền sở hữu của Người tạo ra khối này. Làm như vậy sẽ thưởng cho các nút hỗ trợ mạng và cung cấp cách phát hành tiền xu vào lưu thông - dù sao thì trong hệ thống này, không có cơ quan tập trung nào để phát hành những đồng tiền đó. Việc bổ sung đều đặn một lượng tiền mới nhất định vào lưu thông cũng giống như những người khai thác vàng liên tục cạn kiệt 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 tiêu thụ là thời gian làm việc của CPU và năng lượng 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ì phần chênh lệch là phí giao dịch; và phí giao dịch được sử dụng để thưởng cho nút đóng gói giao dịch vào khối này. Khi một số lượng tiền nhất định đã được đưa vào lưu thông, phần thưởng sẽ được tài trợ hoàn toàn bằng 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 kẻ tấn công tham lam có thể thu thập nhiều sức mạnh tính toán 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 này để lừa dối người khác bằng cách lấy lại số tiền mình đã bỏ ra không? Hoặc sử dụng sức mạnh tính toán này để tạo ra tiền mới? Anh ta sẽ có thể thấy rằng việc chơi theo luật sẽ tiết kiệm chi phí hơn, hiện tại 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 tài sản của anh ta xuống con số không. .
7. Lấy lại dung lượng đĩa
Nếu giao dịch gần đây nhất của một đồng xu xảy ra cách đây đủ khối, thì số khối của đồng xu trước giao dịch này sẽ bị loại bỏ. - để tiết kiệm dung lượng ổ đĩa. Để đạt được điều này mà không phá vỡ hàm băm của khối, hàm băm giao dịch được đưa vào cây Merkle, chỉ có gốc của cây được đưa vào hàm băm của khối. Bằng cách chặt cành, các khối cũ có thể được nén lại. Hàm băm nội bộ không cần phải lưu.
Một không có bất kỳ giao dịch nào Tiêu đề khối được ghi 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 6 nhân 24 nhâ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 ra đều có bộ nhớ 2GB và với Định luật Moore dự đoán mức tăng 1,2 GB mỗi năm, ngay cả các tiêu đề khối cũng phải được lưu trữ trong bộ nhớ.
8. Phiên bản xác nhận thanh toán đơn giản
Có thể xác nhận thanh toán ngay cả khi không chạy nút mạng đầy đủ. Người dùng chỉ cần có một bản sao tiêu đề khối của chuỗi dài nhất kèm theo bằng chứng công việc - anh ta có thể xác nhận bằng cách truy vấn các nút trực tuyến rằng những gì anh ta có thực sự là từ chuỗi dài nhất - và sau đó lấy nút nhánh của cây Merkle, và sau đó kết nối với khối này. Người dùng không thể tự mình kiểm tra giao dịch, nhưng bằng cách kết nối ở đâu đó 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à các khối được thêm vào từ đó xác nhận thêm rằng mạng đã chấp nhận giao dịch.
Miễn là trung thực các nút vẫn còn Trong việc kiểm soát mạng, việc xác minh là đáng tin cậy. Tuy nhiên, nếu mạng bị kẻ tấn công kiểm soát thì việc xác minh sẽ không đáng tin cậy. Mặc dù các nút mạng có thể tự xác minh các bản ghi giao dịch, miễn là kẻ tấn công tiếp tục kiểm soát mạng, phiên bản đơn giản của phương thức xác minh có thể bị đánh lừa bởi các bản ghi giao dịch giả mạo của kẻ tấn công. Một chiến lược 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 nút mạng phát hiện khối không hợp lệ, cảnh báo sẽ được đưa ra, 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 khối hoàn chỉnh và cảnh báo người dùng xác nhận tính nhất quán của giao dịch. Những người bán có thanh toán tần suất cao vẫn muốn chạy các nút đầy đủ của riêng mình để đả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 các giá trị
Mặc dù có thể xử lý từng đồng xu một nhưng sẽ rất khó sử dụng nếu có một bản ghi riêng cho từng đồng xu. Để cho phép phân chia và kết hợp giá trị, các bản ghi giao dịch chứa nhiều đầu vào và đầu ra. Thông thường, có một đầu vào duy nhất từ một giao dịch tương đối lớn trước đó hoặc nhiều đầu vào từ sự kết hợp của số tiền nhỏ hơn, đồng thời có nhiều nhất hai đầu ra: một là khoản thanh toán (chỉ vào biên lai) cho người thanh toán; ) và, nếu cần, thay đổi (chỉ vào người trả tiền).
Điều đáng chú ý rằng, "phân xuất" không phải là vấn đề ở đây - cái gọi là "phân xuất" có nghĩa là một giao dịch phụ thuộc vào một số giao dịch và các giao dịch này phụ thuộc vào nhiều giao dịch hơn. Không bao giờ cần thiết phải trích xuất một bản sao đầy đủ và độc lập về lịch sử của bất kỳ giao dịch nào.
10. Quyền riêng tư
Mô hình ngân hàng truyền thống đạt được mức độ bảo vệ quyền riêng tư nhất định bằng cách hạn chế người khác truy cập thông tin về nhà giao dịch và bên thứ ba đáng tin cậy. Cách tiếp cận này đã bị bác bỏ do nhu cầu công khai tất 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 luồng thông tin ở một nơi khác - ẩn danh khóa công khai. Công chúng có thể thấy ai đó đã chuyển một số tiền nhất định cho ai đó, nhưng không có thông tin nào chỉ ra một người cụ thể. 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, nơi chỉ công bố thời gian và số tiền của mỗi giao dịch mà không ai biết ai là người ở cả hai phía của giao dịch.
Còn một cái nữa tường lửa lớp. Nhà giao dịch nên kích hoạt một cặp khóa công khai và khóa riêng mới cho mỗi giao dịch để những người khác không thể theo dõi các giao dịch đó về cùng một chủ sở hữu. Một số giao dịch nhiều đầu vào chắc chắn vẫn có thể truy nguyên được vì những đầu vào đó nhất thiết phải đượ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ộ thì tất cả các giao dịch khác liên quan đến khóa đó cũng sẽ bị lộ.
11. Tính toán
Giả sử một tình huống trong đó 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 thành công, anh ta không thể tùy tiện thực hiện những thay đổi đối với hệ thống, tức là anh ta không thể tạo ra giá trị từ hư vô, cũng như không thể lấy được số tiền không bao giờ thuộc về mình. Các nút mạng sẽ không bao giờ coi giao dịch không hợp lệ là một khoản thanh toán và các nút trung thực sẽ không bao giờ chấp nhận một khối chứa khoản thanh toán đó. Điều mà kẻ tấn công có thể làm nhiều nhất là 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 đã bỏ ra.
Sự cạnh tranh giữa chuỗi trung thực và kẻ tấn công có thể được mô tả bằng bước đi ngẫu nhiên nhị thức. Sự kiện thành công là một khối mới vừa được thêm vào chuỗi trung thực, khiến lợi thế của nó tăng lên mjx -c>; và sự kiện thất bại là một khối mới vừa được thêm vào chuỗi của kẻ tấn công, điều này làm giảm lợi thế của chuỗi trung thực .
Xác suất để kẻ tấn công đuổi kịp từ phía sau cũng tương tự như vấn đề phá sản của con bạc. Giả sử rằng một con bạc có số chip không giới hạn bắt đầu với mức thâm hụt và được phép đánh bạc không giới hạn số lần với mục tiêu bù đắp cho khoản thâm hụt hiện có. Chúng ta có thể tính xác suất để cuối cùng anh ta có thể lấp đầy sự thiếu hụt, tức là xác suất mà kẻ tấn công có thể bắt kịp chuỗi trung thực, như sau:
Vì chúng ta đã giả định rằng ,q Vì số khối mà kẻ tấn công cần bắt kịp với ngày càng tăng thì xác suất thành công sẽ giảm theo cấp số nhân. Khi mọi chuyện đang chống lại anh ta, nếu người tấn công không thực hiện bước nhảy vọt may mắn ngay từ đầu, cơ hội chiến thắng của anh ta sẽ bị xóa sạch khi anh ta bị tụt lại phía sau nhiều hơn.
Bây giờ hãy xem xét người nhận thanh toán của một giao dịch mới phải đợi bao lâu để hoàn toàn tin tưởng rằng người gửi không thể thay đổi giao dịch. Chúng tôi cho rằng người gửi là kẻ tấn công, cố gắng làm cho người nhận tin rằng anh ta đã trả số tiền trong một khoảng thời gian và sau đó chuyển tiền lại cho chính mình. Tất nhiên, người nhận sẽ được thông báo khi điều này xảy ra, nhưng hy vọng người gửi sẽ hoàn thành việc này vào lúc đó.
Người nhận thanh toán tạo một cặp khóa chung và khóa riêng mới, sau đó thông báo cho người gửi khóa chung đó ngay trước khi ký. Điều này ngăn chặn tình huống người gửi chuẩn bị một khối trên chuỗi thông qua các tính toán liên tục trước và nếu có đủ may mắn thì sẽ có đủ thời gian để thực hiện giao dịch cho đến lúc đó. Sau khi khoản thanh toán đã được gửi, người gửi không trung thực sẽ bí mật hoạt động trên một parachain khác, cố gắng đưa vào một phiên bản ngược lại của giao dịch.
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à sau đó các khối z đã được thêm vào. Anh ta không biết chính xác công việc của kẻ tấn công tiến triển như thế nào, nhưng anh ta có thể giả định rằng thời gian trung bình cần thiết để tạo ra các khối trung thực trong mỗi khối; tiến trình tiềm năng của kẻ tấn công tuân theo phân phối Poisson và giá trị mong đợi của nó là:
< p>
Để tính toán rằng kẻ tấn công có thể vẫn bắt kịp Xác suất, chúng ta cần nhân mật độ xác suất của phân bố Paisson của số khối mà kẻ tấn công cần bắt kịp với xác suất có thể bắt kịp nếu số khối phía sau là:
< p>
Chuyển đổi sang chương trình ngôn ngữ C...< /p>
Nhận được một số kết quả, chúng tôi có thể thấy rằng xác suất tăng theo cấp số nhân với z Drop:
Nếu P nhỏ hơn 0,1%...
12. Kết luận
Chúng tôi đã đề xuất một hệ thống giao dịch điện tử không dựa vào sự tin cậy; điểm khởi đầu là một khung tiền xu chung sử dụng chữ ký số. Mặc dù nó cung cấp kiểm soát quyền sở hữu mạnh mẽ, nó không thể tránh được 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ử hồ sơ giao dịch công khai. Miễn là các 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ì điều đó là không thể. kẻ tấn công có thể giả mạo thành công hệ thống chỉ dựa vào sức mạnh tính toán. Sự mạnh mẽ của mạng này nằm ở tính đơn giản không có cấu trúc của nó. Các nút có thể hoạt động đồng thời cùng lúc mà không cần phối hợp nhiều. Chúng thậm chí không cần phải được xác định, bởi vì đường đi của thông điệp không được xác định bởi một điểm đến cụ thể; thông điệp chỉ cần được lan truyền trên cơ sở nỗ lực cao nhất. Các nút có thể đến và đi một cách tự do và khi 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ề những gì đã xảy ra khi chúng ngoại tuyến. Họ bỏ phiếu thông qua sức mạnh tính toán CPU của mình và bày tỏ sự 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ệ. Mọi quy tắc và phần thưởng cần thiết đều có thể được thực thi thông qua cơ chế đồng thuận này.
Tài liệu tham khảo
b-money Dai Wei (1998-11-01) < a href=" http://www.weidai.com/bmoney.txt">http://www.weidai.com/bmoney.txt
- < p>Thiết kế của một 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) "http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.6228">http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1 1.13.6228< /a>
Cách đóng dấu thời gian cho một tài liệu kỹ thuật số Stuart Haber, W.Scott Stornetta Tạp chí Mật mã học (1991) https://doi.org/cwwxd4 DOI: 10.1007/bf00196791  ;
Nâng cao hiệu quả và độ tin cậy của việc dập thời gian kỹ thuật số Dave Bayer, Stuart Haber, W. Scott Stornetta Trình tự II (1993 ) < a href="https://doi.org/bn4rpx">https://doi.org/bn4rpx DOI: 10.1007/978-1-4613-9323-8_24
Tên an toàn 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) https ://doi.org/dtnrf6 DOI: 10.1145/266420.266430 < /p>< /li>
Hashcash - Biện pháp chống từ chối dịch vụ Adam Back (2002-08-01) http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.8
-
Các giao thức dành cho hệ thống mật mã khóa công khai Ralph C. Merkle Hội nghị chuyên đề IEEE 1980 về bảo mật và quyền riêng tư(1980-04) https://doi.org/bmvbd6 DOI: 10.1109/sp. ;
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) https://archive.org/details/AnIntroductionToProbabilityTheoryAndItsApplicationsVolume1