BTC
$96,000
5.73%
ETH
$3,521.91
3.97%
HTX
$0.{5}2273
5.23%
SOL
$198.17
3.05%
BNB
$710
3.05%
lang
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
Trang chủ
AI AI
Tin nhanh
Bài viết
Sự kiện
BlockBeats Pro
Thêm
Thông tin tài chính
Chuyên đề
Hệ sinh thái chuỗi khối
Mục nhập
Podcast
Data
OPRR
Partnered With:

Hardcore | Tìm hiểu về giải pháp trộn Bitcoin: TumbleBit

Đọc bài viết này mất 109 phút
Ý tưởng chính của TumbeBIt rất đơn giản: nó sử dụng cách giải câu đố ngoài chuỗi để thay thế các khoản thanh toán trên chuỗi.
Tiêu đề gốc: "Hardcore | Hãy cùng tìm hiểu về giải pháp trộn Bitcoin: TumbleBit"
Nguồn gốc: Nervos


TumbleBit là The bài báo được xuất bản trên NDSS năm 2017 là một giao thức trộn tiền tệ tập trung tương thích với Bitcoin. Nó là một giao thức giải quyết vấn đề về khả năng liên kết của các giao dịch Bitcoin. TumbleBit có thể mở rộng khối lượng giao dịch của blockchain và tốc độ giao dịch của blockchain. . Trong bài viết này, Ma Yufeng, một người bạn yêu thích nghiên cứu của Nervos, phân tích chi tiết cấu trúc khung tổng thể của TumbleBit, giao thức giải câu đố và giao thức câu đố, đồng thời giới thiệu một số cuộc tấn công chống lại tính không tương quan của TumbleBit. Hãy đến và nhận được những kỹ năng mới.   


Cấu trúc khung tổng thể  


Do TumbleBit Nó cần phải tương thích với Bitcoin, một blockchain chỉ hỗ trợ các ngôn ngữ hoàn chỉnh không phải Turing.Phần trên chuỗi của nó yêu cầu rất ít và đơn giản về mật mã nguyên thủy. Ngoài ra, mặc dù là giao thức tập trung nhưng ngay cả Tumbler độc hại cũng không thể đánh cắp tiền và không thể tìm thấy liên kết giữa đầu vào và đầu ra giao dịch nếu không thông đồng với người dùng tham gia. So với các giao thức trộn tiền tập trung vào khu vực như coinjoin và coinshuffle, ưu điểm của TumbleBit là không yêu cầu các bên giao dịch tương tác với người dùng khác mà chỉ xảy ra giữa các bên giao dịch và Tumbler.


TumbleBit có thể tổng hợp nhiều giao dịch được gửi đến một bên thành hai giao dịch trực tuyến và các giao dịch này không cần phải được lưu trữ hoặc xác minh trên blockchain, vì vậy nó có thể Mở rộng khối lượng giao dịch của chuỗi khối và các giao dịch ngoài chuỗi của TumlbeBit có thể được hoàn thành trong vài giây, do đó nó cũng có thể mở rộng tốc độ giao dịch của chuỗi khối.


Ý tưởng chính của TumbeBIt rất đơn giản: nó sử dụng cách giải câu đố ngoài chuỗi để thay thế thanh toán trên chuỗi. Khi Alice muốn trả cho Bob một khoản tiền, Alice đưa cho Bob lời giải của một câu đố. Câu đố được tạo ra bởi sự tương tác giữa Bob và Tumbler. Lời giải của câu đố được tạo ra bởi sự tương tác giữa Alice và Tumbler. Đối với mỗi câu đố được giải, Alice chuyển một Bitcoin cho Tumbler và Tumbler chuyển một Bitcoin cho Bob.   





Cấu trúc giao thức TumbleBit được hiển thị trong hình trên. Giao thức TumbleBit chạy theo chu kỳ kỷ nguyên, cần lưu ý rằng mọi người tham gia giao thức TumbleBit đều biết thời gian của từng giai đoạn trong mỗi chu kỳ kỷ nguyên. Mỗi thời đại được chia thành ba giai đoạn:


  Đầu tiên là giai đoạn Ký quỹ, đây là giai đoạn là Giai đoạn lưu ký trên chuỗi. Ở giai đoạn này, người nhận thanh toán Bob yêu cầu Tumbler nhận tối đa 3 Bitcoin trong khoảng thời gian này và sau đó Tumbler xây dựng một giao dịch ký quỹ    Đây là giao dịch 2 trong 2 có nhiều chữ ký và điều kiện mở khóa là Bob Sau khi ký với tumbler hoặc vượt quá tw2, nó sẽ được Tumbler ký và lấy ra. Sau đó, Bob và Tumbler chạy giao thức Puzzle-Promise ngoài chuỗi để cho phép Bob có được cặp câu đố-lời hứa, đó là (c, z) trong hình. là Tumbler. Đối với chữ ký của giao dịch này, c là bản mã được mã hóa bằng khóa đối xứng , mà chúng ta gọi là c vì lời hứa, z Đó là một câu đố RSA, là văn bản mật mã được mã hóa bằng khóa đối xứng bằng khóa chung của Tumbler. Sau khi giao thức hoàn tất, Tumbler sẽ gửi giao dịch đến chuỗi. Người trả tiền Alice cũng gửi một khoản ký quỹ ở giai đoạn này. Giao dịch   ; , đây cũng là giao dịch đa chữ ký 2 trong 2. Điều kiện mở khóa là chữ ký của Alice và Tumbler, hoặc được Alice lấy lại sau thời gian tw1;


Thứ hai là Giai đoạn thanh toán, là giai đoạn thanh toán ngoài chuỗi. Ở giai đoạn này, Bob làm mù câu đố và gửi cho Alice. Mục đích của việc làm mù câu đố là để ngăn Tumbler liên kết các bên giao dịch. Phương pháp làm mù rất đơn giản, đó là chọn hệ số làm mù r. Sau đó sử dụng cặp khóa công khai của Tumbler r  Sau khi mã hóa, nhân câu đố ban đầu với . Sau khi nhận được câu đố bị mù, Alice chạy giao thức RSA-Puzzle-Solver với Tumbler, nhận lời giải cho câu đố bị mù và gửi nó cho Bob. Vì thuật toán RSA có tính đồng cấu nhân, Sau khi giải mã câu đố bịt mắt,   được chia cho r  để được , sau đó giải mã để lấy chữ ký ; 


Cuối cùng là Giai đoạn rút tiền, là giai đoạn rút tiền xảy ra trên chuỗi. Alice lấy lại 2 Bitcoin còn lại và trả cho Tumbler một Bitcoin. Tumbler lấy lại 2 Bitcoin còn lại và trả cho Bob một Bitcoin.


Giao thức giải câu đố


Cấu trúc khung tổng thể của TumbleBit đã được giới thiệu, như sau Hãy để tôi giới thiệu hai giao thức quan trọng vừa được đề cập, một là giao thức giải câu đố chạy giữa Alice và Tumbler: giao thức giải câu đố RSA và giao thức còn lại là giao thức nhận câu đố chạy giữa Bob và Tumbler: Puzzle-Promise giao thức.

Bài viết này sẽ tập trung vào giao thức giải câu đố RSA, một giao thức trao đổi công bằng. Nếu và chỉ nếu Tumbler đưa cho Alice giải pháp cho câu đố RSA, Alice sẽ trả cho Tumbler một Bitcoin. Ngoài việc được tích hợp trên giao thức TumbleBit, giao thức này cũng có thể chạy độc lập như một giao thức trao đổi công bằng trong các tình huống khác.   


Ý tưởng cốt lõi của giao thức này là sau khi Tumbler giải được câu đố của Alice, nó sử dụng khóa đối xứng k để giải câu đố. Mã hóa để lấy bản mã c, sau đó sử dụng thuật toán băm được Bitcoin hỗ trợ để tính k Hàm băm là h, sau đó (c, h) được gửi đến Alice. Sau khi Alice nhận được nó, cô ấy gửi giao dịch   677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L 629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22 Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q1 96 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T 43 437H40Z"> <đường dẫn d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 3 20Q150 317 138 317Q117 317 117 325Q117 3 30 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H46 2Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 3 60 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z">, & Nbsp;   Điều kiện mở khóa là cung cấp h  Hình gốc. Tumbler có thể được xây dựng để chứa k Giao dịch  để nhận số Bitcoin này. Sau khi được công khai, Alice có thể nhận k và sử dụng k cho c Sau khi giải mã, bạn có thể nhận được lời giải của câu đố.  


Giao thức này phải đối mặt với một thách thức, đó là tìm cách cho phép Alice xác minh bản mã c là mã hóa giá trị chính xác. cut-and-choose có thể giải quyết được vấn đề này. Ý tưởng của cut-and-choose cũng tương tự như kiểm tra tại chỗ, tức là Alice chọn một số câu đố giả để Tumbler giải mã. Nếu Tumbler giải mã chính xác thì Alice tin rằng Tumbler là trung thực.   



  Hình 2. Giao thức giải câu đố RSA

 

Chi tiết cụ thể của thỏa thuận Như được hiển thị trong hình trên, đầu vào công khai là khóa công khai RSA của Tumbler (e, N) và đầu vào của Alice là puzzle, Tumbler có một đầu vào bí mật, đó là khóa riêng RSA của Tumbler d;


Đầu tiên, Alice chuẩn bị bộ câu đố thực sự, bao gồm m  một câu đố thực sự. Vì RSA có tính chất đồng cấu nhân, Alice chỉ cần chọn m ngẫu nhiên các hệ số mù và được mã hóa bằng khóa chung của Tumbler, sau đó nhân với câu đố tương ứng để được m Thật là một câu đố, m Các lời giải cho câu đố mù tương ứng với cùng một lời giải sau khi de chói mắt;


Trong bước thứ hai, Alice chuẩn bị một bộ tin tức giả, chứa N  một câu đố giả, giả Câu đố có được bằng cách chọn một số ngẫu nhiên và mã hóa nó bằng khóa công khai Tumbler;


Tiếp theo, Alice sắp xếp ngẫu nhiên tập hợp các trộn các câu đố đúng và sai để có được một bộ mới, đồng thời ghi lại các chỉ số tương ứng với câu đố đúng và câu đố sai, sau đó gửi bộ mới này cho Tumbler;


Tumbler đánh giá từng phần tử của bộ Giải mã mới, sau đó mã hóa bản rõ thu được bằng các khóa đối xứng khác nhau để thu được bản mã mới, sau đó gửi tất cả bản mã mới và hàm băm của khóa tương ứng với bản mã mới tới Alice;


Alice gửi chỉ số dưới của câu đố giả và số ngẫu nhiên ban đầu trong câu đố giả tới Tumbler. Tumbler xác minh rằng câu đố trong tập F thực sự là một tin nhắn giả (nếu nó là một tin nhắn đúng, Alice không có chìa khóa Không thể biết được y 2 196 45T238 27Q261 27 281 38T312 61T339 94Q339 95 344 114T358 173T377 247Q415 397 419 404Q432 431 462 431Q 475 431 483 424T494 412T496 403Q496 390 447 193T391 -23Q363 -106 294 - 155T156 -205Q111 -205 77 -183T43 -117Q43 -95 50 -80T69 -58T89 -48T106 -45 Q150 -45 150 -87Q150 -107 138 -122T115 -142T102 -147L99 -148Q101 -1 53 118 -160T152 -167H160Q177 -167 186 -165Q219 -156 247 -127T290 -65T313 -9T321 21L315 17Q309 13 296 6T270 -6Q250 -11 231 -11Q185 -11 150 11T104 82Q103 89 103 113Q103 170 138 262 T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z"> Bản rõ tương ứng), nếu quá trình xác minh được thông qua, khóa riêng tương ứng với câu đố giả sẽ được Gửi cho Alice;


Alice giải mã câu đố giả và xác định xem Tumbler có lừa dối Alice hay không. Nếu quá trình xác minh được thông qua, Alice sẽ xây dựng và xuất bản giao dịch  và điều kiện mở khóa là vượt quá tw1 và được mở khóa bằng chữ ký của Alice hoặc Tumbler Cung cấp chìa khóa tương ứng với tất cả các câu đố thực;


Sau đó, Alice gửi câu đố thực sự và tất cả các yếu tố mù cho Tumbler. Tumbler xác minh xem tất cả các câu đố thực sự có tương ứng với cùng một câu đố hay không. Nếu quá trình xác minh thành công, nó sẽ đưa ra    giao dịch để nhận Bitcoin. chứa tất cả các câu đố thực sự. chìa khóa câu đố;


Cuối cùng Alice đã vượt qua câu đố thực sự Chìa khóa để giải câu đố.   


Có thể thấy giao thức này chỉ hoạt động khi các câu đố giả do Tumbler mở là chính xác, còn tất cả các câu đố thật đều chưa mở ra Khi cô ấy sai, Alice không thể có câu trả lời đúng. Xác suất là   <đường dẫn d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 15 3 560 153Q580 153 580 14 5Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 3 79 404H374Q288 404 229 30 3L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 15 3 366Q153 405 129 405Q91 405 66 305Q60 285 60 28 4Q58 278 41 278H27Q21 284 21 287Z"><đường dẫn d="M21 287Q22 293 24 303T36 341T56 388T88 425T132 442T175 435T205 417T221 395T229 376L231 369Q231 367 232 367L243 378Q303 442 384 442Q401 442 415 440T441 433T460 423T475 411T485 398T493 385T497 373T500 364T502 357L510 367Q573 442 659 442Q713 442 7 46 415T780 336Q780 285 742 178T704 50Q705 36 709 31T724 26Q752 26 776 56T815 138Q818 149 821 151T837 153Q857 153 857 145Q857 144 853 130Q845 101 831 73T785 17T716 -10 Q669 -10 648 17T627 73Q627 92 663 193T700 345Q70 0 404 656 404H651Q565 404 506 303L499 291L466 157Q433 26 428 16Q415 -11 385 -11 Q372 -11 364 -4T353 8T350 18Q350 29 384 161L420 307Q423 322 423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q7 4 30 112 181Q151 335 151 342Q154 357 154 369Q154 405 129 405Q107 405 92 377T69 316T57 280Q55 278 41 278H27Q21 284 21 287Z ">, cách thực hiện m trong bài báo là 15, n là 285 và xác suất Tumbler gian lận là khoảng .


Nếu giao thức trên được sử dụng trực tiếp trên TumbleBit sẽ xuất hiện ba vấn đề: Thứ nhất là giao thức trên chỉ hỗ trợ Alice giải được một câu đố và phải được mở rộng để đạt được bất kỳ giải pháp nào. Giải pháp cho câu đố Q; thứ hai là giao thức này sẽ diễn ra hoàn toàn ngoài chuỗi, giao thức hiện tại yêu cầu hai giao dịch trên chuỗi  và ;Thứ ba là   ;giao dịch lớn hơn một giao dịch thông thường vì nó chứa m Hình ảnh ban đầu của hàm băm sẽ dẫn đến phí xử lý cao hơn.   


Giải pháp là:


Đầu tiên, trong giai đoạn ký quỹ, Alice gửi  thế chấp Q Việc mở khóa điều kiện đối với Bitcoin,   là chữ ký của Alice và Tumbler hoặc được mở khóa bằng chữ ký của Alice sau thời gian tw1;


Sau đó trong giai đoạn thanh toán, Alice có thể mua tối đa Giải câu đố Q, Tumbler duy trì một bộ đếm để đếm xem Alice đã đưa ra bao nhiêu giải pháp. Bây giờ giả sử rằng Alice đang yêu cầu i 87Q21 295 30 318T54 369T98 420T158 442Q197 442 223 419T250 357Q250 340 236 301T196 196T154 83Q149 61 149 51Q149 26 166 26Q175 26 185 29T208 43T235 78T260 137Q263 149 265 151T282 153Q302 153 302 143Q302 135 293 112T268 61T223 11T161 - 11Q129 -11 102 10T74 74Q74 91 79 106T122 220Q160 321 166 341T173 380Q173 404 156 404H154Q124 404 99 371T61 287Q60 286 59 284 T58 281T 56 279T53 278T49 278T41 278H27Q21 284 21 287Z"> Lời giải cho câu đố này, giao thức ban đầu được sửa đổi như sau sau bước 8 để chạy hoàn toàn ngoài chuỗi:


1. Alice xây dựng và ký giao dịch  và gửi nó đến Tumbler. Sau khi nhận được giao dịch, Tumbler không ký cũng không công khai;


<đường dẫn d="M23 287Q24 290 25 295T30 317T40 348T55 381T75 411T101 433T134 4 42Q209 442 230 378L240 387Q302 442 358 442Q423 442 460 395T497 281Q497 173 421 82T249 -10Q227 -10 210 -4Q199 1 187 11T168 28L161 36Q160 35 139 -51T118 -138Q118 -144 126 -145T163 -148H188Q194 -155 194 -157T191 -175Q188 -187 185 -190T172 - 194Q170 -194 161 -194T127 -193T65 -192Q-5 -192 -24 - 194H-32Q -39 -187 -39 -183Q-37 -156 -26 -148H-6Q28 -147 33 -136Q36 -130 94 103T155 350Q156 355 156 364Q156 405 131 405Q109 405 94 377 T71 316T59 280Q57 278 43 27 8H29Q23 284 23 287ZM178 102Q200 26 252 26Q282 26 310 49T356 107Q374 141 392 215T411 325V331Q411 405 350 405Q339 405 328 402T306 393T286 380T269 365T254 350T24 3 336T235 326L232 322Q232 321 229 308T218 264T204 212Q178 106 178 10 2Z"><đường dẫn d="M347 338Q337 338 294 349T231 360Q211 360 197 356T174 346T162 335T155 324L153 320Q150 317 138 317Q117 317 117 325Q117 33 0 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462 Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106 L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 14 0Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T278 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 5 9 -11H54H41Q35 -5 35 -2Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z">2.  Điểm giao dịch tới &n bsp;Giao dịch, nghĩa là sử dụng đầu ra của  giao dịch làm&nb sp; giao dịch Đầu vào của Giao dịch được chuyển sang giao dịch . Có hai đầu ra giao dịch . Một đầu ra được gửi đến Tumbler i Bitcoin , cái còn lại được gửi tới Alice   BTC, tất nhiên là giao dịch này yêu cầu Tumbler cung cấp chìa khóa để mở khóa;


3. Tumbler không sử dụng giao dịch  để gửi khóa mà gửi trực tiếp khóa cho Alice;


4. Alice xác minh xem khóa có đúng hay không. Nếu đúng, Alice ký một khóa trong giai đoạn rút tiền.Giao dịch được sử dụng 687 553T668 444Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q4 10 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T2 41 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"><đường dẫn d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 15 3H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 3 46 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 1 29Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z"><đường dẫn d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 2 59Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 -10 86 1 9T53 87Q53 126 74 143T118 160Q133 160 146 151T160 120Q160 94 142 76T111 58Q109 57 108 5 7T107 55Q108 52 115 47T146 34T201 27Q2 37 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"> sau khi nhận được khóa chính xác, thì Tumbler có thể nhận được số Bitcoin mà anh ta xứng đáng bằng cách tiết lộ  và   Giá của     và    lớn hơn các giao dịch thông thường và bạn cần phải trả nhiều phí xử lý hơn. Sau những sửa đổi này, giao thức giải câu đố RSA có thể được sử dụng trên Bitcoin.   


Giao thức giải đố


Tiếp theo, hãy nói chuyện về giao thức puzzle-promise . Giao thức này là một giao thức ngoài chuỗi chạy giữa người nhận thanh toán Bob và Tumbler trong giai đoạn ký quỹ. Mục tiêu là để Bob nhận được một lời hứa. -puzzle for (c,z)


Thách thức với giao thức này là nếu Tumbler chỉ gửi một (c,z)  với Bob, thì Bob không biết liệu c có phải là mã hóa được ký chính xác hay không, anh ấy cũng không biết z 138 317Q117 317 117 325Q117 330 120 339Q133 378 163 406T229 440Q241 442 246 442Q271 442 291 425T329 392T367 375Q389 375 411 408T434 441Q435 442 449 442H462Q468 436 468 434Q468 430 463 420T449 399T432 377T418 358L411 349Q368 298 275 214T160 106L148 94L163 93Q185 93 227 82T290 71Q328 71 360 90T402 140Q406 149 409 151T424 153Q443 153 443 143Q443 138 442 134Q425 72 376 31T2 78 -11Q252 -11 232 6T193 40T155 57Q111 57 76 -3Q70 -11 59 -11H54H41Q35 -5 35 -2 Q35 13 93 84Q132 129 225 214T340 322Q352 338 347 338Z">  Chìa khóa đúng có bị ẩn không?


Chúng ta vẫn có thể giải quyết thách thức này bằng phương pháp cắt và chọn. Nhưng không giống như giao thức giải câu đố RSA, Bob sẽ nhận được nhiều cặp câu đố-lời hứa và việc cắt và chọn đảm bảo rằng ít nhất một cặp đúng (xác suất tất cả chúng đều đúng thấp hơn xác suất ít nhất một cặp là đúng. ) và Bob chỉ có thể hỏi Alice mỗi lần một câu đố. TumbleBit sử dụng công nghệ chuỗi kinh doanh RSA để giải quyết vấn đề này. Bằng cách sử dụng công nghệ chuỗi kinh doanh RSA, nó có thể đảm bảo rằng Bob có thể nhận được lời giải cho tất cả các câu đố sau đó nhận được lời giải cho một câu đố. .   




  Hình 3. Giao thức hứa hẹn câu đố  


Do giới hạn về không gian, bên dưới chúng tôi chỉ giới thiệu  ;cut-and-chosse:


Bob đã vượt qua phần cut-and-chosse 101 677H569H659Q691 677 697 676T704 667Q704 661 687 553T668 444Q668 437 649 437Q640 437 637 4 37T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q41 8 46 427 45T436 36Q436 31 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H 94Q174 46 189 55Q190 56 191 56Q196 59 201 76T24 1 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z"> <đường dẫn d="M131 289Q131 321 147 354T203 415T300 442Q362 442 390 415T419 355Q419 323 402 308T364 292Q351 292 340 300T328 326Q328 342 337 354T354 372 T367 378Q368 378 368 379Q368 382 361 388T336 399T297 405Q249 405 227 379T204 326Q204 301 223 291T278 274T330 259Q396 230 396 163Q396 135 385 107T352 51T289 7T195 -10Q118 - 10 86 19T53 87Q53 126 74 143T118 160Q133 16 0 146 151T160 120Q160 94 142 76T111 58Q109 57 108 57T107 55Q108 52 115 47T146 34 T201 27Q237 27 263 38T301 66T318 97T323 122Q323 150 302 164T254 181T195 196T148 231Q131 256 131 289Z"><đường dẫn d="M40 437Q21 437 21 445Q21 450 37 501T71 602L88 651Q93 669 101 677H569H659Q691 677 697 676T704 667 Q704 661 687 553T668 44 4Q668 437 649 437Q640 437 637 437T631 442L629 445Q629 451 635 490T641 551Q641 586 628 604T573 629Q568 630 515 631Q469 631 457 630T439 622Q438 621 368 343T298 60Q298 48 386 46Q418 46 427 45T436 36Q436 3 1 433 22Q429 4 424 1L422 0Q419 0 415 0Q410 0 363 1T228 2Q99 2 64 0H49Q43 6 43 9T45 27Q49 40 55 46H83H94Q174 46 189 55Q190 56 191 56Q196 59 201 76T241 233Q258 301 269 344Q339 619 339 625Q339 630 310 630H279Q212 630 191 624Q146 614 121 583T67 467Q60 445 57 441T43 437H40Z">Giao dịch với phần đệm khác nhau để nhận 9999_4 3  giao dịch với các định dạng khác nhau nhưng cùng ý nghĩa được lấy là một bộ thật, sau đó bộ giao dịch giả được chuẩn bị, hai bộ được hợp nhất và mã hóa rồi gửi đến Tumbler. Tumbler ký tên từng phần tử trong bộ và dùng các khóa khác nhau để mã hóa, gửi tất cả các cặp câu đố-lời hứa cho Bob, sau đó Bob gửi một tập hợp tin nhắn giả tới Tumbler.


Tumbler xác minh tính xác thực của bộ tin nhắn giả. Nếu quá trình xác minh thành công, khóa đối xứng trong cặp bộ giả sẽ được gửi tới Bob. Bob sử dụng khóa này để giải mã chữ ký. Sau khi chữ ký được xác minh chính xác, Tumbler Bắt đầu chuẩn bị chuỗi kinh doanh RSA. Cái gọi là chuỗi kinh doanh là Tumbler chia khóa đối xứng trước đó cho khóa đối xứng sau để thu được thương số (bước 9 trong hình trên), sau đó gửi các thương số này cho Bob.   


Bob sử dụng tính đồng hình của thuật toán RSA để xác minh tính đúng đắn của các thương số này. Nếu quá trình xác minh thành công, anh ấy sẽ gửi câu đố đầu tiên cho Alice và Nhận sau khi đạt được giải pháp & nbsp; & nbsp; nhân với & nbsp; chúng tôi nhận được 367Q382 426 382 411Q382 385 341 385 128 187 128 143Q128 77 160 52T231 26Q258 26 284 36T326 57T343 68Q350 68 354 58T358 39Q358 36 35 7 35Q354 31 337 21T289 0T227 -11Z"> và vân vân. Bob có thể lấy tất cả các khóa đối xứng và sử dụng các khóa này để giải mã c Sau đó, đã có được chữ ký của  giao dịch. Mặc dù các giao dịch này khác nhau nhưng chỉ có phần đệm là khác nhau nên Bob chỉ có thể sử dụng một giao dịch   để rút tiền mặt.


Không liên quan 


Phần giao thức TumbleBit hoàn chỉnh đã được giới thiệu ở đây. Tiếp theo, chúng ta hãy xem xét tính không liên kết của TumbleBit. Trước tiên chúng ta hãy nhìn vào góc nhìn của Tumbler, như trong hình bên dưới. Tumbler không thể nhìn thấy mối tương quan giữa các giao dịch, nhưng nó có thể thấy người trả tiền tương tác với chính nó vào thời điểm nào. Do đó, kết hợp với một số thông tin bổ sung, mối tương quan giữa các giao dịch có thể được đánh giá, phân tích. Dưới đây chúng tôi sẽ giới thiệu một số cuộc tấn công chống lại Unlinkable, một số cuộc tấn công có thể tránh được và một số không thể tránh được theo cách tốt.



  Hình 4. Phối cảnh của Tumbler

Tấn công trần Alice và Tumbler thông đồng để tạo ra đòn tấn công trần, gọi là tấn công trần . tấn công. Nó giả định rằng tại một thời điểm nhất định, chẳng hạn như , Alice trả một Bitcoin cho Bob, nhưng Bob đã đạt đến giới hạn nhận và do đó từ chối yêu cầu thanh toán của Alice. Alice báo cho Tumbler tin này và Tumbler có thể loại trừ khả năng giao dịch sau thời gian đã được gửi cho Bob. Nếu Alice không thông đồng với Tumbler thì Tumbler sẽ không biết khi nào Bob đạt đến giới hạn chấp nhận.   


Có một số giải pháp cho cuộc tấn công này, ví dụ: Bob đặt giới hạn nhận của mình cao hơn nhiều so với số tiền dự kiến anh ta có thể nhận được trong giai đoạn ký quỹ; hoặc Bạn có thể sắp xếp xen kẽ thời gian của các kỷ nguyên TumbleBit và chạy nhiều kỷ nguyên TumbleBit cùng một lúc. Nếu Bob sử dụng hết hạn ngạch của mình trong một kỷ nguyên, anh ấy sẽ sử dụng hạn ngạch đó trong kỷ nguyên tiếp theo.


Bob và Tumbler âm mưu 


Bob và Tumbler âm mưu: Bob nói với Tumbler Gửi một người bị mù tự giải đố cho Alice, để Tumbler có thể biết danh tính của Alice (đặc biệt phù hợp với các tình huống mà Alice và Bob không biết danh tính của nhau, chẳng hạn như sử dụng giao thức tor). Giải pháp rất đơn giản. Alice làm mù câu đố bị mù do Bob gửi cho cô hai lần, sau đó chạy giao thức giải Câu đố RSA bằng Tumbler, rồi gửi giải pháp không bị mù cho Bob.


Tấn công khoai tây 


Tấn công khoai tây đề cập đến việc xem xét thông tin bên ngoài, giả định rằng Bob đang bán Khoai tây, một củ khoai tây có giá 7 Bitcoin và Tumbler biết rằng không ai khác đang bán bất cứ thứ gì trị giá 7 Bitcoin, khi đó Tumbler có thể loại trừ một số giao dịch (ví dụ: Calor chỉ có tổng cộng 6 giao dịch, sau đó cô ấy bị loại, trong khi Alice tình cờ có 7 giao dịch thì có thể suy ra Alice đang mua khoai tây). Giải pháp là thêm các giao dịch dư thừa, Alice tạo địa chỉ thanh toán và chuyển một khoản tiền đến địa chỉ của mình khi mua khoai tây, hoặc mua khoai tây và mua những thứ khác cùng lúc.


Tấn công giao nhau


Tấn công giao nhau: khả năng không liên kết chỉ được xác định trong một chu kỳ và không loại trừ khả năng liên kết giữa các chu kỳ. Một số kết nối. Cuộc tấn công hủy bỏ được thảo luận dưới đây thuộc loại tấn công này. Hủy bỏ các cuộc tấn công Hủy bỏ các cuộc tấn công: Tumbler có thể lấy được một số thông tin bằng cách hủy bỏ các giao dịch. Ví dụ: Tumbler nhận thấy rằng trong một số chu kỳ: Alice đã thực hiện một giao dịch duy nhất và Bob đã đạt đến giới hạn hạn ngạch. Sau đó, trong chu kỳ tiếp theo, Tumbler đã dừng thanh toán của Alice và nhận thấy rằng Bob không còn đạt đến giới hạn hạn ngạch nữa. Sau đó, Tumbler có thể đoán rằng Alice đang giao dịch với Bob.   


Hủy bỏ các cuộc tấn công 


Hủy bỏ các cuộc tấn công Hủy bỏ các cuộc tấn công: Tumbler có thể vượt qua Hủy bỏ giao dịch để có được một số thông tin. Ví dụ: Tumbler nhận thấy rằng trong một số chu kỳ: Alice đã thực hiện một giao dịch duy nhất và Bob đã đạt đến giới hạn hạn ngạch. Sau đó, trong chu kỳ tiếp theo, Tumbler đã dừng thanh toán của Alice và nhận thấy rằng Bob không còn đạt đến giới hạn hạn ngạch nữa. Sau đó, Tumbler có thể đoán rằng Alice đang giao dịch với Bob.   


Tóm tắt  


Mặc dù có nhiều hạn chế , nhưng nếu có đủ giao dịch thì khả năng không thể kết nối của giao dịch vẫn có thể được đảm bảo.


Tác giả cho rằng TumbleBit có hai nhược điểm chính, thứ nhất là tất cả người dùng trong hệ thống đều sử dụng cùng một "mệnh giá" tiền. Làm thế nào để xác định nó?Các mệnh giá khó khăn hơn một chút. Nếu mệnh giá được xác định là rất nhỏ, các khoản thanh toán số tiền lớn đòi hỏi nhiều tương tác ngoại tuyến, nhưng điều này có thể được giải quyết bằng cách chạy thêm một số Tumbler trong hệ thống, với mỗi Tumbler cung cấp một mệnh giá khác nhau; thứ hai là Tumbler cần thế chấp tiền trước. Điều này có thể được giải quyết bằng cách tính phí xử lý và người nhận thanh toán phí xử lý theo số tiền thế chấp Tumbler được yêu cầu.


Nếu tính riêng tư của số tiền không được xem xét, TumbleBit là một giải pháp trộn tiền tệ rất tuyệt vời.   


Liên kết gốc


Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:

Nhóm Telegram đăng ký: https://t.me/theblockbeats

Nhóm Telegram thảo luận: https://t.me/BlockBeats_App

Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia

举报 Báo lỗi/Báo cáo
Chọn thư viện
Thêm mới thư viện
Hủy
Hoàn thành
Thêm mới thư viện
Chỉ mình tôi có thể nhìn thấy
Công khai
Lưu
Báo lỗi/Báo cáo
Gửi