Một trong những khai thác bình đẳng: cuộc chiến giữa điện toán và lưu trữ
Soteria
2020-03-26 03:04
本文约8369字,阅读全文需要约33分钟
Cuộc chạy đua vũ trang để sử dụng phần cứng chuyên dụng và điện giá rẻ cuối cùng đã đảo ngược các nguyên tắc khai thác bình đẳng, ủng hộ việc khai thác Bitcoin theo hướng tập trung hóa.

[Tóm tắt] Khai thác bitcoin trong 10 năm qua là một cuộc chạy đua vũ trang về sức mạnh tính toán: giải quyết vấn đề hàm băm SHA256 ngược là một mục tiêu dễ dàng để tối ưu hóa và trò chơi nhanh chóng phát triển từ chạy trên CPU sang chạy trên GPU. chạy trên một ASIC được thiết kế đặc biệt và thậm chí áp dụng công nghệ của nhóm khai thác. Bởi vì việc khai thác tiêu thụ rất nhiều điện, các công ty khai thác đang tìm kiếm những nơi có điện giá rẻ để thực hiện các hoạt động khai thác. Đây rõ ràng là thách thức nguyên tắc cơ bản của Satoshi là "một CPU, một phiếu bầu". Điều đó nói rằng, cuộc chạy đua vũ trang để sử dụng phần cứng chuyên dụng và điện giá rẻ cuối cùng đã đảo ngược các nguyên tắc khai thác bình đẳng, ủng hộ việc khai thác Bitcoin theo hướng tập trung.

Diễn giả: Tiến sĩ Zhu Jiang

Người điều hành: Claire Wu

Claire: Xin chào mọi người! Tôi là người dẫn chương trình tối nay, Claire, và diễn giả khách mời tối nay, Tiến sĩ Zhu Jiang, sẽ chia sẻ với bạn một chủ đề rất hóc búa: chủ đề khai thác hợp lý: cuộc chiến giữa điện toán và lưu trữ.

Về chủ đề khai thác công bằng, một cuộc thảo luận sôi nổi đã được bắt đầu trong [Cộng đồng phát triển công nghệ Magic Piper] Tôi sẽ tóm tắt quan điểm của mọi người ở đây để diễn giả tham khảo:

Martian Fox: Trước tiên, hãy để tôi giải thích, phân phối công bằng như thế nào?

Evan Liu: Trước tiên chúng ta cần định nghĩa "sự công bằng". "Công bằng" là một đánh giá giá trị chủ quan và các đánh giá giá trị chủ quan khác nhau tùy theo từng người. Vì vậy, không có định nghĩa nhất quán theo nghĩa giá trị phổ quát. Do đó, cá nhân tôi nghĩ rằng không thể đạt được sự khai thác "công bằng" trên toàn cầu và bất kỳ cái gọi là "khai thác công bằng" nào cũng có thể mượn phép ẩn dụ từ "1984": Tất cả các loài động vật đều bình đẳng, nhưng có một số loài động vật là bình đẳng hơn những người khác.

Yunhai: Các quy tắc đảm bảo sự công bằng, không có ưu tiên cho máy khai thác, tất cả đều bình đẳng, bởi vì tổng sức mạnh tính toán và độ khó là cực cao, không có cái gọi là siêu máy khai thác, điều này đảm bảo sự công bằng.

SHAN: Tôi đồng ý với Evan Liu. Đối với những người nông dân ở phương Tây, những người không thể mua máy khai thác cả đời, việc POW có công bằng hay không không quan trọng.

Oita: Công bằng, các quy tắc đều giống nhau cho tất cả những người tham gia, đó là sự công bằng. Hiếm khi là công lý.

Gadfly: Tôi cảm thấy rằng những thứ như khai thác khó có thể công bằng. Dù là POW hay POS thì trước hết phải có sức mạnh cứng rắn. Chỉ có thể nói là công bằng với những thợ mỏ có sức mạnh cơ bản nhất định.

Justin: Khai thác ban đầu là thứ mà các cá nhân có thể giữ tài khoản, nhưng giờ đây tất cả chúng đều là các trang trại khai thác lớn và nhóm khai thác, đã trở thành tập trung và một số công ty độc quyền đã đi chệch khỏi ý định phân cấp ban đầu của Satoshi Nakamoto. Tôi cảm thấy rằng nó cần phải được cải thiện . Hơn nữa, mặc dù có khai thác trên nền tảng đám mây và lưu trữ máy khai thác, nhưng nó vẫn phải để các mỏ và nhóm khai thác, họ đặt phí quản lý và giá bán sức mạnh tính toán cũng do họ đặt, và thu nhập từ khai thác là tính toán rõ ràng. . . Hahaha, tôi đã học về một số thứ khai thác trước đây, nhưng tôi không biết liệu có chế độ cải tiến nào cho việc tập trung hóa quá mức hay không. Xin vui lòng cho tôi biết nếu bạn hiểu nó. Trên thực tế, khai thác đã phát triển đến hiện tại và không còn trường hợp ai cũng có thể khai thác như tưởng tượng ban đầu. Tôi không biết liệu tôi có nghĩ đến kết quả này ngay từ đầu hay không. Hơn nữa, mặc dù BTC là POW, nhưng luôn có hơn chục nhóm khai thác làm nổ các khối, nhưng đó là DPOS như EOS.

Những người khám phá PiNetwork ban đầu: Mọi người phải đào tiền để nhận các dự án từ bên dự án và không có airdrop! Không có đại số không có thứ bậc! Và tất cả họ đều đóng góp giá trị cho nhau.

Wang Chengwei: Không có airdrop coin, bạn có nghĩ rằng một số người sẵn sàng thực hiện một dự án như vậy mà không cần phần thưởng không?

Ruồi trâu: Không thể nào mọi người đều bình đẳng được, mỗi người đều có khả năng và sức mạnh khác nhau. Mức độ đầu tư vào dự án cũng khác nhau.

Những người khám phá ban đầu của PiNetwork: Không có airdrop, đó là mối quan hệ giữa lời mời và lời mời, và sự đóng góp giá trị lẫn nhau! Miễn là một bên không khai thác, khai thác của nhau sẽ bị giảm!

Guanmuhu: Tôi nghĩ rằng tính công bằng của việc khai thác là bao trùm hơn, nhiều người sẽ tham gia hơn và giá trị của mạng sẽ có giá trị hơn và an toàn hơn.

Xiaomi Pigeon: Tôi nên làm gì nếu máy khai thác bị đánh cắp trong trung tâm lưu trữ?

Wei Honggui: Về sự công bằng, phim hoạt hình này đã được trích dẫn trong các lĩnh vực khác nhau và cũng gây tranh cãi.

Claire: Rất cám ơn Pied Pipers đã tham gia thảo luận và đặt câu hỏi. Bây giờ hãy để tôi giới thiệu diễn giả khách mời tối nay, Tiến sĩ Zhu Jiang.

Trong hồ sơ của Tiến sĩ Zhu Jiang, tôi có thể lờ mờ cảm nhận được ánh hào quang tỏa sáng trên người anh ấy, từ trong nước đến nước ngoài, anh ấy đều học ở những ngôi trường nổi tiếng có lịch sử lâu đời, và ngành anh ấy theo đuổi trước đây cũng là ngành nổi tiếng nhất hiện nay . Tôi đã đọc các bài báo trước đây của Tiến sĩ Zhu, chúng được viết một cách đơn giản, rất gần gũi với mọi người, và Xiaobai có thể hiểu đại khái những gì ông ấy muốn giải thích, sau đó truyền cảm hứng suy nghĩ và đặt câu hỏi.

Quay lại chủ đề hôm nay: khai thác bình đẳng. Không còn nghi ngờ gì nữa, việc khai thác Bitcoin đã đạt được thành công lớn và đảm bảo tính bảo mật của mạng Bitcoin. Trên Báo cáo Hurun mới nhất, có 5 công ty mới tham gia vào ngành khai thác mỏ. Tuy nhiên, ngày nay, những người bình thường không còn có thể chen chân vào ngành công nghiệp gai góc nhưng đầy lợi nhuận này. Làm thế nào những người bình thường có thể tham gia cuộc đua này để có thêm cơ hội? Tối nay, với tất cả các câu hỏi được đặt ra bởi các thành viên của nhóm Pied Piper, xin mời Tiến sĩ Zhu Jiang giải thích một câu hỏi mà tất cả chúng ta đều rất quan tâm:

"Khai thác bình đẳng một: Cạnh tranh về điện toán và lưu trữ"

Tiến sĩ Zhu Jiang làm ơn...

Zhu Jiang: Cảm ơn người dẫn chương trình Claire vì lời mời và lời giới thiệu của bạn.

Xin chào mọi người, tôi là Zhu Jiang, người sáng lập Soteria. Cảm ơn bạn đã đến với buổi chia sẻ trực tuyến của chúng tôi ngày hôm nay. Hôm nay tôi sẽ nói chuyện với bạn về khai thác mỏ. Tôi là một con mọt kỹ thuật, nhưng tôi sẽ cố gắng sử dụng ngôn ngữ và ví dụ dễ hiểu để thảo luận với bạn. Tôi cam kết không sử dụng công thức toán học, dù có xuất hiện cũng nằm trong phạm vi đề cương ôn thi tuyển sinh THCS, các em yên tâm.

Hãy bắt đầu với nguyên tắc khai thác, sau đó tôi sẽ thảo luận về cách đạt được sự công bằng. Cuối cùng, nếu thời gian cho phép, chúng tôi sẽ kết hợp các tính năng bao gồm của SoteriaDAG để giới thiệu cách chúng tôi giải quyết vấn đề khai thác bình đẳng. Tất nhiên, thời gian luôn trôi nhanh, nếu đã quá muộn, hãy đón chờ những bài viết cùng chủ đề mà chúng tôi sẽ đăng sau hoặc chú ý theo dõihttps://github.com/soteria-dag/soterd 

Chúng ta hãy xem xét ngắn gọn cơ chế khai thác PoW trong hệ thống chuỗi khối. Bản chất của khai thác PoW thực sự là một trò chơi khó tính toán với bốn tính năng quan trọng sau:

1. Quá trình giải quyết rất khó khăn

2. Quá trình xác minh rất đơn giản

3. Bản thân chủ đề cần được liên kết với một số tin nhắn văn bản

4. Các câu hỏi được tạo ngẫu nhiên và có thể điều chỉnh độ khó khi cần thiết

Trong mạng Bitcoin, vấn đề kỹ thuật số này được thiết kế để "giải quyết hàm băm SHA256 ngược": Trong quá trình khai thác, những người khai thác thực hiện hai thao tác SHA256 trên dữ liệu tiêu đề khối 80 byte của Bitcoin và kết quả của thao tác là một chuỗi dài 256 bit (32 byte). Đánh giá xem khối hiện tại có hợp pháp hay không bằng cách so sánh nó với giá trị độ khó hiện tại. Đó là, các điều kiện sau đây được đáp ứng:

SHA256(SHA256(block_header))< difficulty

Nhìn vào công thức, nó rất đơn giản. [Yeah!] Đây là công thức duy nhất cho ngày hôm nay~

Nếu các điều kiện trên không được đáp ứng, bạn cần thay đổi giá trị ngẫu nhiên trong tiêu đề khối, để có thể thay đổi dữ liệu trong tiêu đề khối để tìm khối đáp ứng các điều kiện. Đây là bản chất của cơ chế PoW: sử dụng chức năng một chiều và với sự trợ giúp của cơ chế phần thưởng, những người khai thác được khuyến khích liên tục thử các số ngẫu nhiên để tìm các khối đủ điều kiện để hoàn thành một lượng tính toán nhất định, để liên tục đảm bảo tính bảo mật và ổn định của hệ thống.

Tiếp theo, hãy thảo luận về vấn đề đồng thuận và đường truyền mạng: Theo phương pháp khai thác PoW đã đề cập ở trên, giả sử bạn đã tìm ra giải pháp thỏa mãn các điều kiện, thì làm sao bạn có thể chắc chắn rằng khối bạn đào ra là hợp lệ? Đây là một điểm cơ bản khác của blockchain: sự đồng thuận không đồng bộ. Mọi người đã tìm hiểu kỹ về thỏa thuận cụ thể nên tôi sẽ không nhắc lại ở đây. Nhưng tôi có thể cung cấp cho bạn một sự hiểu biết rất trực quan, điều này sẽ giúp bạn hiểu những gì chúng ta sẽ thảo luận sau này.

Các chi tiết cụ thể như sau: Tính bảo mật của POW dựa trên thực tế là sức mạnh tính toán cá nhân không vượt quá 50% sức mạnh tính toán của toàn bộ mạng. Điều kiện cần thiết cơ bản là bất kỳ nút nào cũng phải cạnh tranh công bằng với các nút khác trong mạng. Nó giống như chạy một cuộc đua, mọi người phải bắt đầu cùng nhau. Hệ thống chuỗi khối là một hệ thống không đồng bộ và tính bảo mật của POW chỉ có thể được đảm bảo khi trạng thái hệ thống gần như được đồng bộ hóa.

Trên thực tế, một nguyên tắc quan trọng của phần thưởng khai thác POW là thưởng cho những người khai thác phát các khối mà họ đã đào ra càng sớm càng tốt và được mạng nhận; đồng thời, họ đang tích cực nhận các khối khác được truyền từ mạng thay vì lãng phí sức mạnh tính toán trên Chuỗi không thể điều hòa (nguyên tắc chuỗi dài nhất). Bản chất của việc vào và ra (TX/RX) này là sử dụng hành vi tự nhiên của các công cụ khai thác trong khuôn khổ hệ thống để đảm bảo đồng bộ hóa mạng.

Khi bạn còn trẻ và đi học, bạn thường tham gia các kỳ thi. Khi đó, giáo viên sẽ đưa giấy vào giày của các em ở hàng đầu tiên và lần lượt chuyền từ trước ra sau. Đôi giày của em ngồi hàng cuối bao giờ cũng nhận bài rất muộn (trước đây em lùn và ngồi hàng đầu không bị vấn đề này). Chà, nếu bạn bắt đầu làm giày cho trẻ em khi bạn nhận được giấy kiểm tra, thì khi học sinh ở hàng cuối cùng nhận bài kiểm tra, học sinh ở hàng đầu tiên đã bắt đầu làm từ lâu và chúng có thể kết thúc nó, đó là không công bằng.

Vì vậy, giáo viên yêu cầu từng học sinh khi nhận bài phải khóa chặt các tờ giấy trên bàn, sau khi mọi người nhận bài xong, giáo viên nói: “Bắt đầu chấm công ngay bây giờ”, sau đó mọi người có thể bắt đầu làm. Đây là sự đồng bộ do cạnh tranh công bằng mang lại. Nào, cùng xem phòng thi trông như thế nào nhé:

Có hai biến số ở đây: thứ nhất là thời gian làm bài, và thứ hai là thời gian làm câu hỏi. Cuộn giấy có thể là một tờ giấy hoặc có thể là một tập giấy dày. Giả sử chúng ta phải phát bài cho từng người một, vì khi giáo viên in bài, thầy in số lượng của cả lớp trên mỗi trang. Do đó, bài kiểm tra có thể được thông qua trong nửa phút hoặc có thể được thông qua trong 10 phút mà không cần gửi hết. Tương tự, chủ đề cũng có khó và dễ, một đứa trẻ thông minh có thể hoàn thành nó trong mười phút bằng máy tính, và một đứa trẻ nghiêm túc có thể hoàn toàn làm bằng miệng, và có thể mất hai giờ để hoàn thành.

Bây giờ chắc các bạn đã hiểu vì sao tôi nói sẽ phát giấy thi rồi chứ. Bài kiểm tra tương ứng với kích thước khối của chúng tôi và độ khó của câu hỏi tương ứng với thời gian tạo khối của chúng tôi. Hoặc độ khó của băm. Điểm khác biệt nhỏ là: trong hệ thống khối, không có giáo viên nào bảo mọi người “bắt đầu tính giờ” mà thay vào đó, các em bắt đầu thực hiện ngay khi nhận được giấy kiểm tra.

Cụ thể, có một nhịp điệu như vậy: đối với mỗi khối mới được tạo, thời gian lan truyền mạng là nửa phút (bán kính quảng bá mạng). Mỗi công cụ khai thác bắt đầu khai thác trên nó sau khi nhận được khối mới và xác minh rằng khối đó là chính xác. Một khối mới giống như một bài kiểm tra mới và việc phổ biến mạng là việc phát hành bài kiểm tra. Và phải mất ít nhất nửa phút để tờ giấy này được phát cho tất cả học sinh, tuy nhiên, trong mỗi vòng khai thác, luôn có người nhận được tờ giấy sớm hơn người khác nửa phút. Nhưng các thợ mỏ lại cho rằng không sao, thứ nhất, đề thi tương đối khó, thời gian làm bài là mười phút, chậm nửa phút nhận bài cũng không ảnh hưởng gì nhiều, thứ hai, không giống với bài kiểm tra trong phòng học , chỗ ngồi của mọi người là ngẫu nhiên và thường xuyên Trong cuộc trao đổi, người lấy giấy thi trước mỗi lần khác nhau nên không có vấn đề gì.

Một số thợ mỏ kém may mắn đã tạo ra các khối mới ở phía bên kia của mạng trong nửa phút khi TA đào một khối mới và khối mới vẫn chưa được truyền cho anh ta. Vì vậy, khối mới của anh ấy đã bị loại bỏ một cách tàn nhẫn, nghĩa là nó trở thành một khối mồ côi. Công việc của TA đã bị lãng phí một cách tàn nhẫn. Nhưng không có cách nào khác, thiết kế là kẻ chiến thắng tất cả, nhưng TA thực sự đã góp phần bảo mật toàn bộ mạng một cách khách quan (500 từ phân tích lý thuyết trò chơi được lược bỏ ở đây).

Ban đầu nói ở đây, nói chung tôi sẽ tiếp tục mở rộng sang vấn đề mở rộng công suất, nhưng theo quan điểm của thời đại ngày nay, chúng tôi vẫn đang tập trung vào vấn đề khai thác. Để mở rộng dung lượng và kế hoạch mở rộng của SoteriaDAG, bạn có thể tham khảo một số bài viết kỹ thuật chúng tôi đã viết trước đây:

『Soteria | Biểu đồ khối là công nghệ chính để đồng thuận Satoshi Nakamoto vượt qua nút cổ chai phát triển (1) 』

『Jiang Zhu | Biểu đồ khối là công nghệ chính để đồng thuận Satoshi Nakamoto vượt qua nút cổ chai phát triển (2)』

Ok, chúng ta hãy tiếp tục nghiên cứu nhiệm vụ khai thác. Vừa rồi tôi có đề cập sơ qua rằng trong phòng thi, giày của mỗi em được làm với tốc độ khác nhau: có em đếm giày hoàn toàn bằng miệng, có em mang máy tính vào đấu trường, thậm chí còn phóng đại hơn nữa là học sinh mang điện thoại di động đến nói chuyện với phụ huynh. bên ngoài phòng kiểm tra. Giao tiếp thời gian thực và cha mẹ mang máy tính cho mỗi người trong gia đình để tính N bài toán tính toán cùng một lúc. Ngay cả các thành viên trong gia đình không có máy tính trong tay mà là máy tính lượng tử được kết nối bằng điện toán đám mây.

Vì vậy, đây là vấn đề, giày trẻ em có máy tính phải nhanh hơn giày trẻ em có tính toán bằng miệng (không nhất thiết, ví dụ: tính toán bằng miệng của tôi nhanh hơn máy tính, đây là một chủ đề khác), và có mười máy tính hoặc thậm chí máy tính lượng tử có một chiếc điện thoại di động Giày trẻ em mà máy tính có thể thực hiện các phép tính song song đơn giản là ngược trời: ngay khi bài thi được phát ra, anh ấy đã hoàn thành bài thi trước khi học sinh ở hàng sau nhìn thấy.

Theo phân tích của chúng tôi ở trên, chắc hẳn lúc đó trong lớp có rất nhiều lông gà (không, phải có rất nhiều bài kiểm tra, có bài viết trắng, có bài viết dở), tác động trực tiếp là lãng phí năng lượng rất lớn và toàn bộ mạng do lãng phí gây ra. Ngay cả khi không có cuộc tấn công bảo mật nào, tất cả phí giao dịch và tiền lương khai thác đều bị những sinh viên "bất chấp" này lấy sạch vì luật chơi "người thắng được tất cả". Bạn có nghĩ như vậy là công bằng không?

Tất nhiên là không công bằng, và rất không công bằng. Trên thực tế, Bitcoin và các dự án chuỗi khối PoW khác đang phải đối mặt với một vấn đề không công bằng như vậy. Khai thác bitcoin trong 10 năm qua là một cuộc chạy đua sức mạnh điện toán: giải câu đố hàm băm SHA256 ngược là một mục tiêu tối ưu hóa dễ dàng và trò chơi nhanh chóng chuyển từ chạy trên CPU sang chạy trên hoạt động của GPU, rồi chuyển sang chạy trên ASIC được thiết kế đặc biệt và thậm chí áp dụng công nghệ của nhóm khai thác.

Việc vận hành các hoạt động khai thác cũng tiêu tốn rất nhiều điện, điều này đã thúc đẩy các thợ mỏ tìm kiếm những nơi có điện giá rẻ để tiến hành các hoạt động khai thác, chẳng hạn như gần các nhà máy thủy điện. Đây rõ ràng là thách thức nguyên tắc cơ bản của Satoshi là "một CPU, một phiếu bầu". Điều đó nói rằng, cuộc chạy đua vũ trang để sử dụng phần cứng chuyên dụng và điện giá rẻ cuối cùng đã đảo ngược các nguyên tắc khai thác bình đẳng, ủng hộ việc khai thác Bitcoin theo hướng tập trung.

Kết quả trực tiếp của sự tập trung là độc quyền, có thể gây tổn hại nghiêm trọng đến tính bảo mật của toàn bộ hệ thống. Trước tiên hãy gửi hình ảnh GPU để khởi động:

Sau đó, chúng ta quay lại những điều cơ bản về khai thác PoW mà chúng ta đã nói ở phần đầu.

Vấn đề với hàm băm SHA256 đảo ngược của khai thác PoW thực sự là một thuật toán chuyên sâu về tính toán. Trước tiên chúng ta hãy xem tình hình của thuật toán này trong môi trường CPU và GPU. Thuật toán này không yêu cầu một lượng bộ nhớ đặc biệt lớn. Do đó, đối với CPU, chúng tôi giả định rằng có 4 lõi và tất cả dữ liệu được đặt trong bộ đệm hoặc SRAM và không gian không đáng kể, nhưng vì chỉ có bốn lõi nên chỉ có thể khởi động bốn quy trình. Đối với GPU, thường có từ 1000 đến 3000 đơn vị tính toán, vì vậy chúng tôi có thể bắt đầu hàng nghìn quy trình. Tất nhiên, hiệu quả của mỗi tiến trình có thể không tốt bằng hiệu quả của CPU, nhưng không có vấn đề gì nếu tổng hiệu suất được tăng lên hàng trăm đến hàng nghìn lần.

Tất nhiên, nhưng và nhưng. . . Đối với ASIC, có hàng nghìn mạch cổng trong một lõi, có thể hoàn thành công việc mà CPU và GPU cần hoàn thành trong hàng nghìn chu kỳ xung nhịp trong một chu kỳ xung nhịp. Hầu như cốt lõi của máy khai thác nằm trên card đồ họa. Do đó, hiệu quả khai thác của ASIC dễ dàng gấp hàng triệu lần so với CPU hoặc GPU và về cơ bản không có khả năng chiến thắng nếu không có ASIC.

Hãy để tôi dừng lại ở đây một chút, hãy tiêu hóa những số liệu này và xem việc so sánh các kịch bản này bất lực như thế nào. Tôi sẽ không nói nên lời trước những người nông dân miền Tây cả đời không đủ tiền mua máy khai thác ~ Chà, tình cờ là chúng ta vẫn còn tình cảm, và chúng ta không thể bằng lòng với kiểu bất công này phải không? Vậy thì hãy tưởng tượng, nếu có một thuật toán thần kỳ cần sử dụng bộ nhớ 1G trong toàn bộ quá trình tính toán, điều gì sẽ xảy ra?

Đối với CPU, với 4 nhân, nếu bạn cài đặt bộ nhớ 4G một cách tiết kiệm, bạn có thể chạy tới 4 tiến trình cùng lúc để tính toán. Ở đây chúng tôi không xem xét bộ nhớ ảo, bởi vì nó quá chậm và quá trình lập lịch trình và hoán đổi không đủ để tung ra. Còn về GPU, card đồ họa dù cao cấp đến đâu thì bộ nhớ cũng chỉ vài GB, giả sử là 4G thì chúng ta đang chạy 4 tiến trình để tính toán cùng một lúc. Nếu muốn sử dụng tất cả các đơn vị tính toán, chúng tôi phải cài đặt SRAM từ 4TB đến 12TB, điều này hơi phi thực tế. Tình hình của ASIC thậm chí còn đáng sợ hơn: yêu cầu về bộ nhớ được nhân đôi hàng nghìn, thậm chí hàng chục nghìn lần. Tôi tạm dừng một lần nữa và mọi người lại tiêu hóa lô số này. Là nông dân miền Tây, thấy quân địch bỏ ra bao nhiêu tiền chỉ để đào hầm mỏ, mình không chạnh lòng sao?

Theo quan điểm phân tích này, chúng ta hãy xem xu hướng phát triển của công nghệ bộ xử lý và công nghệ bộ nhớ, mục đích chính là để xem liệu loại máy khai thác này có thể trở lại tiêu chuẩn khiến chúng ta không nói nên lời trong tương lai gần hay không:

Biểu đồ này rất rõ ràng: Kể từ những năm 1980, sự đổi mới của công nghệ máy tính đã hoàn toàn tuân theo Định luật Moore và mức cải thiện hiệu suất hàng năm về cơ bản ổn định ở mức khoảng 60%. Nhưng bạn có thấy rằng công nghệ lưu trữ chỉ bò với tốc độ chậm 7% mỗi năm. Hơn nữa, đây chỉ là tốc độ cải tiến của DRAM. Vì vậy, một thuật toán chuyên sâu về tính toán sẽ chạy nhanh trên điện thoại di động trong một vài năm nữa và nó sẽ rẻ. Những thứ sử dụng nhiều bộ nhớ rõ ràng là không đủ tốt và người ta nói rằng đây là xu hướng của DRAM. Do vấn đề làm tươi của DRAM, độ trễ và băng thông của DRAM không phù hợp với các ứng dụng có khả năng tính toán mạnh. Vấn đề này lẽ ra đã được đề cập trong khóa học Thành phần và cấu trúc máy tính.Giày trẻ em quan tâm có thể đọc sách giáo khoa này.

Khai thác sẽ không ổn nếu bạn không hiểu kiến ​​trúc máy tính. Nhưng khi tôi tham gia lớp học này ở Stanford, tôi suýt trượt. Nhưng không phải là tôi ngu, mà là tiếng Anh của tôi không tốt lắm, ồ không, mà là tiếng Hy Lạp của tôi không tốt lắm, giáo viên Da Niu Christos trong lớp nói giọng Hy Lạp, căn bản tôi nghe không hiểu. Quay lại vấn đề bộ nhớ của mining, để đảm bảo băng thông truy cập lưu trữ và độ trễ, chúng ta chỉ có thể sử dụng SRAM. Nhưng sự tiến bộ về hiệu năng và giá của SRAM thậm chí còn hạn chế hơn. Đây có thể không phải là một điều tốt cho những người đam mê trò chơi, bởi vì giá của bảng điều khiển trò chơi hàng đầu sẽ không giảm nhiều. Nhưng liệu tình huống này có phải là cơ hội để khai thác công bằng?

Thử suy luận xem: tỷ lệ hiệu suất-giá của SRAM cao ngất ngưởng, vậy phải chăng có thuật toán khai thác, TA phải sử dụng một bộ nhớ thực sự đủ lớn để tính toán? Nói cách khác, thuật toán khai thác mới không còn là CPU, GPU hay ASIC, mà là kích thước và băng thông của bộ nhớ. Do tốc độ tiến bộ của công nghệ bộ nhớ đã đề cập ở trên, trong quá trình chạy đua vũ trang khai thác, ngay cả khi có thể huy động tài nguyên quy mô lớn, cũng không thể chiếm ưu thế khai thác với lợi thế gấp hàng chục nghìn hoặc hàng trăm nghìn lần . Chà, dù bạn có giàu đến đâu, bạn cũng không thể chặn hoàn toàn cỗ máy khai thác diaosi. Mặc dù nó không thể hoàn toàn công bằng, nhưng nó cải thiện một cách khách quan tính công bằng của việc khai thác. Đây chính xác là mục đích ban đầu của việc khai thác và đồng thuận không đồng bộ của chúng tôi, phải không.

Vì vậy, hãy nghiên cứu loại thuật toán này. Ngoài bốn đặc điểm cần thiết mà chúng tôi đã đề cập trước đó, loại thuật toán này còn phải đáp ứng các điều kiện bổ sung sau:

1. Thuật toán yêu cầu dung lượng bộ nhớ rất lớn: nếu quá nhỏ thì sẽ thực hiện trực tiếp trên GPU hoặc ASIC, cuối cùng sẽ trở thành phép tính tổng hợp, điều này là không công bằng.

2. Truy cập bộ nhớ không thể đoán trước: Ngay cả khi toàn bộ thuật toán yêu cầu bộ nhớ lớn, nếu khả năng truy cập bộ nhớ có thể dự đoán được, công nghệ bộ nhớ đệm đa cấp có thể giảm đáng kể các yêu cầu về dung lượng của hệ thống đối với bộ nhớ hiệu suất cao và băng thông cao.

3. Các thuật toán không thể có sự chuyển đổi giữa độ phức tạp thời gian và độ phức tạp không gian: Nếu bạn có thể sử dụng điện toán hiệu năng cao để đổi lấy bộ nhớ lớn, nghĩa là giảm yêu cầu về dung lượng bộ nhớ hiệu suất cao và băng thông cao, thì hãy quay lại GPU Đó là một chạy đua vũ trang với ASIC.

Một thuật toán thỏa mãn các điều kiện trên được gọi là"Memory-Hard/thuật toán sử dụng nhiều bộ nhớ". Thuật toán Cuckoo Cycle PoW dựa trên Cuckoo Hash là một thuật toán Memory-Hard tốt. Thuật toán này đã được áp dụng thành công trong dự án Grin và công nghệ khai thác bình đẳng của Soteria cũng dựa trên thuật toán này.

Hãy giới thiệu sơ qua về nguyên lý hoạt động của thuật toán này, nếu vẫn còn thời gian, tôi sẽ cung cấp cho bạn bản xem trước về thiết kế và triển khai khai thác công bằng trong dự án SoteriaDAG.

Chúng ta hãy xem các khóa học bắt buộc của Cuckoo Cycle Pow. Hôm nay chúng ta sẽ nói về cấu trúc dữ liệu của Hash Table và Cuckoo Hash. Chắc hẳn mọi người đã quá quen thuộc với Hash Table, chúng ta có hàm băm Hash, TA có thể ánh xạ một Key tới một vị trí nào đó trong bảng tuyến tính, để thao tác đặt có thể lưu trữ Cặp giá trị Key trong bảng, như hình minh họa :

Làm gì khi có va chạm? Đó là, cả hai khóa được ánh xạ tới cùng một vị trí. Không sao cả, người mới vào chỉ cần kiểm tra xem vị trí tiếp theo có trống không, nếu trống thì sẽ có vị trí đó. như hình ảnh cho thấy:

và cái này nữa

Khi truy vấn thì dùng hàm băm để tìm vị trí tương ứng, nếu Key là key ta muốn truy vấn thì tìm thấy giá trị trả về là ok. Nếu phím khác nhau thì chúng ta phải xem vị trí tiếp theo, nếu phím giống nhau thì chúng ta đã tìm được. Nếu nó không khớp, tiếp tục cho đến khi nó gặp một vị trí trống hoặc đi qua tất cả các vị trí, nghĩa là nó gặp điều kiện biên.

Đây chính là nguyên lý hoạt động của hash table hay còn gọi là bảng băm. Cuckoo hash là một bước nhảy vọt dựa trên bảng băm. Sự khác biệt là TA giới thiệu hai bộ hàm băm và hai bảng tuyến tính, mỗi hàm tương ứng với một bảng tuyến tính. Cùng một khóa có thể tương ứng với một vị trí trong mỗi hai bảng. như hình ảnh cho thấy:

Thấy không, hai hàm tương ứng với hai bảng tuyến tính.

Thao tác cộng tương tự như bảng băm, ánh xạ khóa tới một vị trí trong bảng tuyến tính, vì có hai bảng nên ta có thể chọn một bảng để đặt, ví dụ dùng hàm băm đầu tiên để ánh xạ tới bảng đầu tiên Một vị trí, như thể hiện trong hình:

Bằng cách này, chúng ta có thể tải nhiều bản ghi vào bảng tuyến tính, nếu có ai đó ở vị trí ánh xạ của một trong các bảng, thì hãy sử dụng một bộ hàm băm khác để ánh xạ sang bảng khác, sau đó tải nó vào vị trí tương ứng của bàn thứ hai. Tuy nhiên, giả sử rằng bản ghi tiếp theo được tải là rất không may, các vị trí trên hai bảng được ánh xạ bởi hai hàm băm đã bị chiếm dụng, chúng ta nên làm gì vào lúc này?

Lúc này, bản ghi mới của chúng ta sẽ đá người hiện tại sang vị trí tương ứng trong một bảng khác, và vị trí đó được xác định bởi hàm băm của bảng tương ứng. Như thể hiện trong hình:

Nếu chẳng may có người khác ở chỗ bạn bị đá thì tiếp tục đá người ở vị trí đó sang vị trí bàn khác. Tương tự như vậy, cho đến khi bản ghi đã bị đá được giải quyết hoặc bản ghi đã bị đá của người khác gặp phải trước đó, một vòng lặp sẽ được hình thành. như hình ảnh cho thấy:

Bây giờ mọi người đã biết tại sao thuật toán này được gọi là Cuckoo Hash. Chim cu cu thực chất là chim cu gáy, chúng thích đẻ trứng vào ổ của người khác, rồi lại đá trứng của người khác ra ngoài. Nó thực sự giống với thuật toán tải băm cuckoo mà chúng tôi vừa mô tả. Hãy xem sơ đồ cổ điển này:

  

Tôi tạm dừng lần thứ ba và mọi người đều tiêu hóa quy trình của thuật toán này, đây là một thuật toán rất quan trọng. Sau này hơi nhức não nhưng hoàn toàn không có công thức, chúng ta biểu thị đường loading và kick trên biểu đồ và chúng ta có thể thấy biểu đồ hai bên có hướng bên dưới:

Đây là lộ trình để chim cu gáy đá trứng của người khác. Có thể thực sự có một đồ thị con trong đồ thị hai phía này, và đồ thị con này tình cờ là một chiếc nhẫn Như chúng ta đã nói trước đây, đá và đá thực sự đã đá vào chiếc ghế mà tôi ở. Như hình dưới đây:

Thuật toán mà chúng tôi đã đề cập trước đó thực sự là để tìm cấu trúc vòng có độ dài cụ thể trong biểu đồ hai phía được tạo ngẫu nhiên. Trên thực tế, về cơ bản, quá trình này là truy cập và truy cập vào bộ nhớ, đáp ứng đầy đủ các đặc điểm cần thiết mà chúng tôi đã đề cập trước đây:

1. Thuật toán yêu cầu không gian bộ nhớ lớn: biểu đồ hai phía này rất lớn;

2. Truy cập bộ nhớ không thể đoán trước: bản thân biểu đồ được tạo ngẫu nhiên;

3. Thuật toán không thể có sự chuyển đổi giữa độ phức tạp thời gian và độ phức tạp không gian: bài toán tìm vòng thực sự không thể thay đổi được.

Thuật toán này giúp chúng tôi có thể tiến một bước gần hơn đến mục tiêu "khai thác công bằng". Còn rất nhiều chi tiết thiết kế và triển khai mà chúng tôi sẽ đề cập chi tiết trong bài chia sẻ tiếp theo.

Thành phố nơi tôi sống ở Bắc California đã gây ra tình trạng mất điện trên diện rộng do thời tiết khắc nghiệt trong hai ngày qua. Hãy để tôi chỉ cho bạn bản đồ của sự cố mất điện.

Chúng tôi sẽ tập trung vào nguyên tắc hoạt động của thuật toán PoW này trong phần chia sẻ tiếp theo và cung cấp cho bạn bản xem trước về thiết kế và triển khai khai thác công bằng trong dự án SoteriaDAG. Bài chia sẻ hôm nay xin dừng lại tại đây trước đã, bên mình sẽ tối từng phút giây, xin lỗi vì mình không đủ thời gian để trả lời trực tuyến các câu hỏi của mọi người. Nhưng không sao cả, mọi thắc mắc của bạn sẽ được chúng tôi tổng hợp lại, khi gọi đến chúng tôi sẽ giải đáp riêng dưới dạng bài viết. Ngoài ra, sẽ có nhiều văn bản chia sẻ sau này. Chúng tôi sẽ quay lại sớm trong chuyến đi của chúng tôihttps://github.com/soteria-dag/soterdXuất bản cập nhật khai thác trên . Hãy theo dõi, cảm ơn tất cả các bạn!

Claire: Cảm ơn Tiến sĩ Zhu đã mang đến cho chúng tôi nhiều thông tin phong phú như vậy. Thời gian trôi nhanh và đến đây là phần cuối của chủ đề chia sẻ ngày hôm nay. Tôi tin rằng bạn vẫn còn rất nhiều câu hỏi hoặc ý kiến. Bạn có thể tiếp tục để lại tin nhắn và thảo luận trong cộng đồng. Chúng tôi sẽ thu thập chúng cho Tiến sĩ Zhu và nhóm Soteria, và họ sẽ thảo luận với bạn trong thời gian phù hợp . Một lần nữa xin cảm ơn Tiến sĩ Zhu Jiang vì đã chuẩn bị rất nhiều thông tin khó hiểu cho chúng tôi bất chấp lịch trình bận rộn của ông! Hẹn gặp lại bạn lần sau.

Zhu Jiang: Cảm ơn mọi người, cảm ơn người dẫn chương trình Claire.

(toàn văn)

Soteria
作者文库