Kết quả kiểm tra ZeroLink - Bộ ẩn danh tốt nhất đã đạt được thành công: 26, Đánh giá chung: Không thành công, Lý do: Các vấn đề mở rộng với mạng

Trước hết: Cảm ơn rất nhiều vì tất cả những người đã tham gia! Tôi phải thừa nhận, tôi không thể cầm được nước mắt khi thấy lượng hỗ trợ và hoạt động to lớn mà cộng đồng này thực hiện. Hơn 100 người đã tham gia thử nghiệm và nhiều người đã đưa ra phản hồi vô giá. Vì lý do này, tôi cảm thấy khủng khiếp và tôi phải xin lỗi vì kết quả thử nghiệm không thành công.
Phải nói rằng, CoinJoins đã xảy ra, chúng thậm chí đang xảy ra ngay bây giờ khi tôi viết những dòng này, nhưng không phải ở quy mô mà tôi hy vọng, các vấn đề mạng khác nhau đã ngăn phần mềm phối hợp đúng cách hàng trăm đồng nghiệp cùng một lúc.

Yêu cầu phần thưởng tham gia $ 10

Vui lòng gửi cho tôi một email đến adam.ficsor73 @ gmail. Email này phải chứa địa chỉ Bitcoin của bạn và hex giao dịch.
Có được hex giao dịch này từ HiddenWallet bằng cách xây dựng một giao dịch với một loại tiền hỗn hợp và nhấp vào nút Sao chép giao dịch Hex. Tuy nhiên, không phát nó lên mạng, thay vào đó hãy hủy nó ra. Nếu bạn phát nó, thì bất cứ ai cũng có thể đòi tiền của bạn từ tôi.

Tôi sẽ đợi một vài ngày để mọi người yêu cầu sự tham gia của họ, sau đó tôi thanh toán bằng cách chia theo đợt (một giao dịch - nhiều đầu ra).

Có chuyện gì?

Tôi, đang kiểm tra mã của riêng tôi

Một vấn đề nhỏ hơn là việc kích hoạt một số máy ảo để trộn hoặc chạy một số tập lệnh không giống như cho phép 100 người dùng có bản phân phối Linux kỳ lạ kiểm tra một phần mềm.

Nhưng vấn đề chính bắt nguồn từ bản chất của kiểm thử tích hợp: các bài kiểm tra được cho là mang lại cho bạn kết quả nhanh chóng. Nếu một bài kiểm tra mất nhiều ngày, nó có thể không phải là một bài kiểm tra tốt. Tôi có những bài kiểm tra như vậy trong HiddenWallet, tin tôi đi, chúng không vui chút nào. Nhưng điều gì xảy ra khi người dùng thực sự được đăng ký để trộn trong nhiều ngày? Hóa ra không có gì hay và tôi đã chuẩn bị cho điều đó.
Nhiều người lặng lẽ mất kết nối ổ cắm web, những người nghèo, một số người trong số họ vẫn có thể nghĩ rằng họ đang trộn lẫn.
Nhiều người nhận được thông báo lỗi: Người điều phối viên đã ngoại tuyến, điều đó không có nghĩa là người điều phối ngoại tuyến, điều đó thực sự có nghĩa là khách hàng đã ngoại tuyến, chỉ là nếu bạn mất internet trong giây lát, sau đó bạn ngừng trộn, không có người điều phối biết về nó Hoàn toàn sai lệch.
Có một số vấn đề khác, nhưng hai vấn đề này đã tăng thêm 80% đến 90% các vấn đề.

Tích cực

TX với 26 bộ ẩn danh

Giao dịch tốt nhất đã được tạo và phát trên mạng đã đạt được 26 bộ ẩn danh: https://testnet.smartbit.com.au/tx/3ec6c5b983ccb53bc680cdec73af0a4a046cab5b29f6d7fe7f78af79bbb

TXs với 7 bộ ẩn danh

Ngoài ra còn có một số kết hợp xảy ra với 7 bộ ẩn danh.

Không có vấn đề về hiệu suất

Một điều tích cực khác: Tôi đã lo lắng điều phối viên làm quá nhiều việc tại địa phương và mất quá nhiều thời gian. Tuy nhiên, hóa ra những lo lắng của tôi không được chứng minh. Đã có lúc 38 người dùng kết nối lại thành công hỗn hợp trong vài giây, điều này khá ấn tượng, bởi vì khi yêu cầu đăng ký đầu vào đến điều phối viên, nó thực hiện khá nhiều: nó ký, xác minh, kiểm tra utxos và thực hiện một loạt những thứ khác trên mỗi người dùng. Thêm vào đó tôi đã thực hiện nó với các khóa, tôi đã ngăn chặn việc thực thi không đồng bộ, vì vậy tôi có thể có mã sạch hơn và ổn định hơn trong chi phí hiệu năng.
Trên thực tế, đây là lý do chính tại sao tôi muốn làm thử nghiệm testnet với 100 người. Tôi sợ mọi thứ sẽ mất nhiều thời gian và hỗn hợp sẽ bị hủy bỏ, nhưng tốc độ của nút cổ chai dự kiến ​​đã thuyết phục, tôi vui mừng về điều đó.

Không mất xu

Cộng với tiền xu không bị mất. Không giống như nó có thể ở bất kỳ thời điểm nào, nhưng nó có thể đáng được đề cập.

Người nhận Bech32

Bech32 là một loại địa chỉ Bitcoin mới dành cho scriptPubKeys nhân chứng riêng biệt. Mặc dù việc áp dụng nó khá yếu, nhưng đáng ngạc nhiên là không ai có vấn đề gì khi thở hổn hển.

Sự kiện theo sự kiện

1. Thử nghiệm: Gửi tới / r / DarkNetMmarket

Tôi bắt đầu với một thí nghiệm nhỏ. Không phải là quá lời khi nói rằng Bitcoin chính thống Bitcoiners đã bị ngắt kết nối và không biết điều gì đang xảy ra trên web tối, mặc dù họ thường xuyên bình luận về nó. Tôi cá là bạn thậm chí không thể trả lời các câu hỏi cơ bản. Họ vẫn chủ yếu sử dụng Bitcoin hoặc họ vào Monero và ZCash? Họ vào Bitcoin Cash hay Litecoin? Là phí Bitcoin cao phá hủy mô hình kinh doanh của họ? Tôi tò mò về mức độ hiểu biết và hữu ích của chúng và nói chung tình cảm là gì, vì vậy tôi đã gửi trong bài đăng trên blog của mình về việc thử nghiệm tới / r / DarkNetMmarket trước tiên. Trình này kết quả 3 người tham gia hỗn hợp.

Tôi không thể nói rằng tôi đã trở nên thông minh hơn nhiều, nhưng có một số điều thú vị tôi có thể thêm vào như một sidenote.f

I. Tên người dùng điên

Thánh thần ơi, bạn thật sự sợ phải trả lời ai đó bằng một cái tên như thế này.

II. Monero run

Trong vài giờ đầu tiên tôi đã nhận được upvote và một số bình luận ủng hộ, sau đó anh chàng này đã nhận xét và các downvote bắt đầu xuất hiện. Nhanh chóng.

2. Tweetstorm

Tôi đã thông báo cho shinobymonkey từ podcast Block Digest về sự pha trộn, anh ấy đã đề cập đến nó trong buổi livestream, cũng đã tweet nó, sau đó anh ấy đã tweet nó, ngay sau khi tôi tweet nó, nó cũng bắt đầu xu hướng như lửa, ai đó đã gửi nó đến / r / Bitcoin, một số cửa hàng tin tức đã viết về nó và trong vòng ba ngày, hỗn hợp đã đạt được mục tiêu 100 người. Nhưng hãy để Lừa không đi xa đến thế.

3. Vấn đề ban đầu

Không có nhiều sai sót ở đây, ngoài các vấn đề đa nền tảng dự kiến. Chúng là không thể tránh khỏi, chúng phải được gỡ lỗi từ từ và sửa chữa. Tuy nhiên, có một số vấn đề tham nhũng cân bằng đáng lo ngại và phải được xem xét chi tiết hơn.

4. Tôi nhận ra vòng đầu tiên sẽ thất bại

Đây là hành vi bình thường, nhưng nó không lý tưởng cho phiên kiểm tra này, vì vậy tôi đang tìm cách giải quyết nó. Chúng tôi đã quyết định đặt nhóm ẩn danh tối đa của vòng tiếp theo thành 90, để lên kế hoạch cho 10 người dùng bụi, và đặt thời gian đăng ký đầu vào cho vòng tiếp theo thành 12 giờ, chỉ trong trường hợp.

5. Đạt tới 99 bộ ẩn danh

Vì vậy, tôi đã bắn lên đồng nghiệp thứ 100 và khởi động bài kiểm tra. Như dự kiến, bài kiểm tra đã hết thời gian trong giai đoạn Xác nhận kết nối.

6. 38 Người dùng còn lại và tự động kết nối lại

Điều này thật bất ngờ, hơn một nửa đã bỏ học mà không nhận thấy điều phối viên, tại sao? Như đã giải thích trước đây, đó là vì mọi người âm thầm mất kết nối websocket hoặc kết nối internet ở đâu đó trong những ngày qua.

7. Chuyển sang kế hoạch B

Được rồi, bài kiểm tra thất bại, hãy để cố gắng tạo ra một số coinjoin. Vì vậy, tôi hạ mức ẩn danh tối thiểu của vòng tiếp theo được đặt thành 7 từ 21 và thời gian đăng ký đầu vào là 3 phút.

Sau 12 giờ, một vòng khác đã được thử, vì mọi người dự kiến ​​đã bỏ học, sau đó 26 người kết nối lại và thực hiện kết hợp thành công.

Từ đây, một bộ hỗn hợp ẩn danh 7 bắt đầu chạy. Nó đã diễn ra được một lúc, công bằng mà nói, phần thử nghiệm này khá thành công, khi mọi người cuối cùng đã không phải đợi hàng giờ để một hỗn hợp bắt đầu, nhưng 7 không giống như 100.

Tiến về phía trước

Sẽ không có một thử nghiệm testnet khác. Chúng tôi đã xác định các vấn đề chính và chúng tôi sẽ khắc phục chúng.

Tin tốt là, tôi không có nhiều thứ mới để bổ sung nữa, ngoại trừ Giao dịch chớp nhoáng và bí mật, nhưng không sớm. Từ đây trở đi, làm việc về sự ổn định và thân thiện với người dùng là mục tiêu. Năm 2018 sẽ là năm mà ẩn danh được chuyển sang Bitcoin sau tất cả.

Các vấn đề đa nền tảng

Nhàm chán, công việc cơ khí để gỡ lỗi chúng. Nhưng ít nhất là dễ dàng một. Đây sẽ là vấn đề cố định bởi vấn đề.

Các vấn đề kết nối

Phần kết nối mạng phải được viết lại từ đầu. Chúng tôi đã thực hiện nhiều thỏa hiệp ở đây, điều đó cuối cùng dẫn đến sự sụp đổ của bài kiểm tra này. Sẽ tốt hơn nếu chúng ta lùi lại một bước và xem xét cẩn thận đâu là cách tốt nhất để tiến lên phía trước với điều này.

Vấn đề cân bằng tham nhũng / hiệu suất

HiddenWallet là một khối SPV tải xuống đầy đủ. Điều này có nghĩa, chúng tôi đang tải xuống các khối đầy đủ từ việc tạo ví. Để thực hiện công việc này, tôi đã phải viết hầu hết mọi thứ từ đầu, mà các nhà phát triển ví không bao giờ phải làm. Điều này dẫn đến mã phức tạp và một số vấn đề hiệu suất. Bây giờ, gần một năm trôi qua, kể từ khi tôi làm điều đó và tôi đã học được rất nhiều. Tôi có thể làm điều đó tốt hơn nhiều ngày hôm nay.
Nói chung có hai hướng tôi có thể đi để cải thiện nó. Tôi có thể thay thế các bộ phận của mặt sau bằng Bitcoin Core, hiệu suất và tính ổn định của chúng là không thể cạnh tranh được. Trong trường hợp này, tôi thậm chí có thể bắt đầu đóng góp cho Core và cố gắng đẩy Jonas Schnelli vào khối triển khai SPV đầy đủ về phía trước vào Core. Nếu điều đó xảy ra, tôi thực sự không có lý do gì để sử dụng mã tùy chỉnh hiện tại trong HiddenWallet.
Hướng khác là thực hiện một cái gì đó mới. Có một vài kiến ​​trúc bảo mật ví riêng tư ngoài kia, kể từ khi tôi bắt đầu làm việc trên HiddenWallet. Ít nhất là ở cấp độ ý tưởng.
(1) Tôi có thể làm một số điều thông minh. Ví dụ: với số lượng tương tác người dùng tối thiểu, người dùng sẽ không phải tải xuống quá nhiều khối, nhưng thông minh chúng ta có thể tìm ra khối nào anh ta có giao dịch.
(2) Tôi cũng có thể triển khai một mô hình tập trung, trong đó máy chủ cũng là một phần mềm phân tích blockchain và mục đích duy nhất của nó là cố gắng lọc ra những giao dịch nào mà khách hàng không thể quan tâm 100%.
(3) Hoặc nhìn vào Neutrino, rất có thể kết thúc kiến ​​trúc ví LN mặc định. Mặc dù nó cần mã phía máy chủ để được đẩy vào Bitcoin Core, đây là một công việc khá khó khăn và tôi vẫn chưa bị thuyết phục 100% về các thuộc tính riêng tư của nó.

Cải thiện đặc tả ZeroLink

ZeroLink không có lỗ hổng bảo mật, nhưng nó có một số vấn đề về trải nghiệm người dùng. Tôi đã học được rất nhiều trong vài tháng qua, rằng tôi sẽ có thể thêm nhiều cải tiến nhỏ, có thể một số cải tiến lớn, thậm chí tôi có thể sẽ nhận ra một nhận thức đột phá hoặc một cái gì đó. Có thể đáng để thử xem lại và xem qua một số nghiên cứu mới mà Lôi đã rơi vào bàn của tôi kể từ đó, nhưng tôi đã có thời gian để đánh giá chúng.

Từ cuối cùng

Lần nữa. MỘT CÁM ƠN LỚN cho tất cả những người tham gia và tôi rất xin lỗi vì bài kiểm tra không thành công. Một lời cảm ơn đặc biệt cho Matthew Haywood cho công việc của mình trên HiddenWallet. Hãy tiếp tục theo dõi, tôi sẽ tiếp tục làm việc với nguồn mở và quyền riêng tư của Bitcoin, và khởi chạy ZeroLink vào năm 2018! Giáng sinh vui vẻ và năm mới hạnh phúc!