비트 코인에 대한 프레젠테이션을하고 있는데 사람들이 개인 키 암호화에 대해 안전하다고 느끼도록 몇 가지 계산을 찾고있었습니다. 먼저 개인 키의 길이 (바이트), 포함 할 숫자 조합 수, 가장 빠른 컴퓨터 또는 슈퍼 컴퓨터 네트워크, 해당 컴퓨터를 사용하여 개인 키를 해독하는 데 걸리는 시간이 무엇인지 먼저 대답하십시오. 내 자신의 계산에 따르면 그 결과는 매우 교육적이라고 생각합니다. 감사합니다.
댓글
- Security Stack Exchange에 대한이 답변은 관련이 있습니다. security.stackexchange .com / a / 25392 / 4647
- 그때 설명해주세요. directory.io 이 사람들은 모든 개인 키를 가지고 있다고 주장합니다. ‘가 말하지 않는 것 같습니다. 진실
- 그들은 진실을 말하고 있습니다. Pi의 자릿수를 생성 할 수있는 사람은 누구나 작성 될 모든 문학 작품을 보유하는 것과 같은 방식입니다.
- coindesk.com/bitcoin-protocol- hack-joke
답변
개인 키의 길이 (바이트)
32 바이트 또는 256 비트
그런 다음 얼마나 많은 숫자 조합이 포함 될지
2 ^ 256 개의 서로 다른 개인 키가 있습니다. “1보다 약간 큽니다. 그 뒤에 0이 77 개 있습니다.
가장 빠른 컴퓨터 또는 슈퍼 컴퓨터 네트워크는 무엇입니까
2011 년 8 월경 최고조에 이르렀을 때 비트 코인 네트워크는 초당 15 조 sha256 해시를 확인했습니다 ( )
해당 컴퓨터를 사용하여 개인 키를 해독하는 데 걸리는 시간
sha256 해시를 확인하는 데 걸리는 시간과 ECDSA 작업을 실행하는 데 같은 시간이 걸린다고 가정하고 (훨씬 더 오래 걸립니다) 필요한 것만 허용하는 최적화를 사용하는 경우 2 ^ 128 ECDSA 작업을 수행하면 필요한 시간을 계산할 수 있습니다.
>>> pow(2,128) / (15 * pow(2,40)) / 3600 / 24 / 365.25 / 1e9 / 1e9 0.6537992112229596
60 억 년입니다.
그것 ” 하나의 비트 코인 주소를 깨는 데 걸리는 시간을 매우 보수적으로 추정 한 것입니다.
편집 : 무어 법 . 컴퓨팅 속도가 매년 두 배로 증가한다고 가정하면 (무어의 법칙은 2 년이지만 우리는주의를 기울일 것입니다) 59 년 후에는 1.13 년 밖에 걸리지 않습니다. 따라서 동전은 다음 60 년 동안 안전하지 않습니다. 블록 체인을 보호하는 데 사용되는 알고리즘의 변경입니다. 그러나 알고리즘이 제공하는 보호 기능을 해제하기 훨씬 전에 알고리즘이 변경 될 것으로 예상합니다.
댓글
- 무어 ‘의 법칙 (또는 유사)은 아마도 그 수치를 약간 낮추지 만 문제가되지는 않습니다. 답변이 ” 해당 주소에 저장된 코인을 채굴하는 데 걸리는 시간보다 더 긴 “라면 안전해야합니다. 🙂
- 중요한 이유는 사람들이 자신의 돈이 얼마나 안전한지 알 자격이 있기 때문입니다.
- 무어를 가정하면 ‘ ‘의 법은 앞으로 60 년 동안 계속 될 수 있습니다. 반면에 QC는 그때까지 주류가 될 수 있습니다.
- 대단한 대답입니다. 이 답변이 작성된 이후 Bitcoin ‘의 네트워크 누적 전력은 이제 거의 10 배 가치가 있습니다. 따라서 ‘ ” 만 ” 6 억 5,500 만 년의 계산 가치가 있습니다.
li>
Answer
Bitcoin 개인 키는 임의의 256 비트 숫자입니다. 그러나 공개 키는 개인 키에 대한 일부 정보를 보여줍니다. ECDSA를 차단하는 가장 잘 알려진 알고리즘에는 O (sqrt (n)) 작업이 필요합니다. 즉, 비트 코인 계정을 해체하려면 2 ^ 128 개의 작업이 필요합니다.
현재까지 비트 코인이 사용하는 유형 중 가장 큰 ECDSA 키는 112 비트입니다. 비트 코인 계정은 4 천억 배 이상 깨지기 어렵습니다.
유일한 현실적인 위험은 양자 컴퓨팅입니다.
댓글
- 양자 컴퓨팅조차도 pow (2, N)에서 pow (2, N / 2)까지의 시간을 단축 할 수있을 뿐이라는 점에 유의해야합니다. en.wikipedia.org/wiki/Key_size
- @GaryRowe You ‘ 잘못되었습니다 . 키 길이의 절반은 대칭 키에 적용됩니다. 대부분의 비대칭 암호 (비트코 인트에 사용되는 ECDSA 포함)는 Shor ‘ 알고리즘 덕분에 양자 컴퓨터에서 다항식 시간에 깨질 수 있습니다.위키 백과 기사를 인용하려면 ” 일반적인 합의는 Shor를 실행할 수있는 충분히 큰 양자 컴퓨터 인 경우 이러한 공개 키 알고리즘이 모든 키 크기에서 안전하지 않다는 것입니다. ‘의 알고리즘을 사용할 수 있습니다. “. 양자 증명 서명 체계가 있지만 ‘ 블록 체인을 많이 부 풀릴 것입니다.
- @CodeInChaos 모두 좋은 점-죄송합니다. 혼란을 야기했습니다.
- O (sqrt (n)) 공격은 모든 암호 체계에서 가능한 생일 공격입니다. 공개 키가 나타내는 ” 개인 키에 대한 정보 “는 무엇을 의미합니까?
- @dionyziz I ‘ 생일 공격에 대해 말하는 것이 아니라 ‘ 해당 개인 키를 얻기 위해 ECDSA 공개 키를 뒤집는 것에 대해 이야기하고 있습니다. 공개 키가 표시하는 ” 개인 키에 대한 정보 “는 생성기에 의해 곱해진 해당 개인 키에 해당하는 지점입니다. 이를 통해 큰 단계, 작은 단계 와 같은 이산 로그 알고리즘을 사용할 수 있습니다.
를 참조하십시오.
Answer
비트 코인 개인 키 (ECC 키)는 1에서 약 10 ^ 77 사이의 정수입니다. 이것은 선택의 여지가없는 것처럼 보일 수 있지만 실질적인 목적으로는 본질적으로 무한합니다. 초당 1 조 개의 개인 키를 처리 할 수 있다면 모든 것을 계산하는 데 우주 나이의 100 만 배 이상이 걸릴 것입니다. 더 나쁜 것은 이러한 키를 열거하는 것만으로도 32 년 동안 태양의 총 에너지보다 더 많은 에너지를 소비 하게됩니다.이 방대한 키 스페이스는 비트 코인 네트워크를 보호하는 데 근본적인 역할을합니다.
댓글
- Chuck Norris는 두 번이나 무한대로 세었습니다.
- Chuck Norris는 Satoshi Nakomoto에게해야 할 일을 말했습니다.
답변
2 ^ 256 = 1.1×10 ^ 77 = 키 조합 수
2 ^ 128 = 3.4×10 ^ 38 = 필요한 평균 추측 횟수
이 웹 사이트에 따르면 : http://en.wikipedia.org/wiki/TOP500 , 가장 빠른 슈퍼 컴퓨터는 10.51 페타 플롭스의 K 컴퓨터입니다.
페타 플롭은 10 ^ 15 플롭스, 부동 소수점 instr 초당 경매.
지금까지는 좋지만 추측 당 필요한 FLOPS 수를 알아야합니까?
[추측을 시도합니다.]
추측 당 1,000 ~ 10,000 FLOPS (또는 이에 상응하는 정수)
10.51×10 ^ 15 작업 / 초 / 1000 ~ 10000 작업 / 추측) = 10.51×10 ^ 12 ~ 10.51×10 ^ 11 추측 / 초.
3.4×10 ^ 38 추측 / 크랙 / 10.51×10 ^ 12 추측 / 초 = 3.2×10 ^ 25 초.
3.2×10 ^ 25 초 / 60 초 / 분 / 60 분 / 시간 / 24 시간 / 일 / 365.25 일 / 년 = 1.01×10 ^ 18 년
1.01×10 ^ 18 년 / 1×10 ^ 9 / 1×10 ^ 9 = 1.014 ~ 1014 억년
따라서 비트 코인 네트워크의 컴퓨터는 가장 큰 단일 실험실 컴퓨터보다 두 배 빠릅니다.
댓글
- 정확히 0 개의 FLOP이 필요합니다. FLOP는 부동 소수점 연산이고 EC 수학에는 정수 연산 만 필요하므로 조합을 시도해보세요.
- 내가 작업 한 적이있는 컴퓨터는 없었습니다. ‘ t do 정수 ma 일. 그래서 나는 한국 K 컴퓨터도 그것을 할 수 있다고 가정합니다.
- 예, 그러나 정수 속도와 부동 소수점 연산의 비율은 하드웨어에 따라 상당히 다릅니다. Bitcoin ‘의 채굴 능력을 구성하는 하드웨어 유형의 특정 분포를 감안할 때 추정치를 제공 할 수 있지만 질문에 대한 답은 “입니다. 추측 당 필요한 FLOPS 수 “, 대답은 확실히 0입니다.
- 키 조합 수 = 2 ^ 256; 필요한 평균 추측 횟수 = 2 ^ 256 / 2 = 2 ^ 256 * 2 ^ -1 = 2 ^ 255, 아무도 알아 차리지 못했습니까? 글쎄요, 그것은 필요한 수십억 년을 바꾸지 않습니다 ..
답변
a>는 samr7 “s 버전 의 개선 된 포크)로 주어진 패턴에 대한 개인 키를 찾는 데 걸리는 예상 시간을 제공 할 수 있습니다 (참조 : vg_output_timing_console()
). 일부 특수한 경우 (예 : 반복되는 문자)는 다른 경우보다 더 어렵습니다.
베니 티 주소를 찾기의 어려움은 정확한 구조 (선행 문자 및 숫자) 및 난이도가 갑자기 변하는 여러 피벗으로 구성 될 수있는 관련 알고리즘에 이러한 출력이 제공 될 가능성이 있습니다. 비트 코인 위키
다음은 주어진 주소 패턴에 대한 개인 키 크래킹 예상 시간을 제공하는 비트 코인 위키 페이지 에서 찾을 수 있습니다.
아래 예시 표는 점점 더 복잡 해지는 허영이 해당 허영만 일치하는 것을 찾는 데 필요한 난이도와 평균 시간에 어떤 영향을 미치는지 보여줍니다. 주소, 초당 1 백만 개의 키를 검색 할 수있는 시스템의 경우.
vanitygen을 사용하면 주어진 주소에 대한 개인 키를 찾을 수 있다고 생각할 수 있습니다. 실제로는 불가능한 것으로 간주됩니다.
실제 예
다음 unspendable
비트 코인 주소 :
$ unspendable.py 23456789A123456789A12345678 mainnet: 123456789A123456789A12345678Yr8Dxi
그런 다음 vanitygen
를 사용하여 내 컴퓨터의 성능을 계산할 수 있습니다 (> 240 Kkey / s).
$ vanitygen -q -k -o/dev/null 1 [241.29 Kkey/s][total 2880199][Found 11618]
참고 : 위는 MacBook Pro (2.3GHz Intel Core i7, 16GB 1600MHz DDR3)에서 테스트되었습니다.
또한 특정 패턴을 찾을 때 예상 시간을 계산할 수 있습니다. 예를 들어
-
26-35 (몇 초) 중 처음 5 개 문자를 찾습니다.
$ vanitygen -q -k -o/dev/null 12345 [698.17 Kkey/s][total 8192][Prob 0.2%][50% in 4.5s]
-
26-35 중 첫 문자 6 개 (몇 분) :
$ vanitygen -q -k -o/dev/null 123456 [701.39 Kkey/s][total 51712][Prob 0.0%][50% in 4.3min]
-
26-35 자 중 7 자 (몇 시간) :
$ vanitygen -q -k -o/dev/null 1234567 [471.87 Kkey/s][total 8192][Prob 0.0%][50% in 6.3h]
-
8 자 출력 26-35 (몇 주) :
$ vanitygen -q -k -o/dev/null 12345678 [658.82 Kkey/s][total 2548480][Prob 0.0%][50% in 10.8d]
-
9 자 t / 26-35 (수년) :
$ vanitygen -q -k -o/dev/null 123456789 [572.50 Kkey/s][total 1631744][Prob 0.0%][50% in 2.0y]
-
26-35 (1 세기) 중 10 자 :
$ vanitygen -q -k -o/dev/null 123456789A [630.48 Kkey/s][total 118528][Prob 0.0%][50% in 104.2y]
-
26-35 (수천년) 중 11 자
$ vanitygen -q -k -o/dev/null 123456789A1 [579.78 Kkey/s][total 17348352][Prob 0.0%][50% in 6571.6y]
-
26-35 자 중 12 자 (수억 년) :
vanitygen -q -k -o/dev/null 123456789A12 [751.61 Kkey/s][total 6720512][Prob 0.0%][50% in 294013.9y]
-
26 ~ 35 자 중 13 자 (수천 천년, 수백만 년) :
$ vanitygen -q -k -o/dev/null 123456789A123 [666.93 Kkey/s][total 3886080][Prob 0.0%][50% in 1.921802e+07y]
-
26 ~ 14 자 35 (십억 년) :
$ vanitygen -q -k -o/dev/null 123456789A1234 [817.44 Kkey/s][total 3994880][Prob 0.0%][50% in 9.094109e+08y]
-
26-35 (500 억 년) 중 15 자 :
$ vanitygen -q -k -o/dev/null 123456789A12345 [784.31 Kkey/s][total 4633856][Prob 0.0%][50% in 5.497420e+10y]
-
… 28 자 ( 십억 “운이 좋다)
$ vanitygen -q -k -o/dev/null 123456789A123456789A12345678 [910.34 Kkey/s][total 2723072][Prob 0.0%][50% in 3.981113e+33y]
위에서 생성 된 주소에는 34 바이트가 있지만 첫 번째 문자는 네트워크 식별자 (비트 코인의 경우 일반적으로 1
또는 3
)이며 마지막 4 바이트입니다. 체크섬 일뿐입니다. 주소에 대한 자세한 내용은이 비트 코인 위키 페이지 를 참조하세요.
키 검색 요금
확실히 더 나은 GPU 또는 여러 개의 CPU를 사용하여 키 검색 속도를 높일 수 있지만 (-t
참조) 여전히 예상치가 엄청날 수 있습니다.
예 : 다음은 비트 코인 위키 페이지 의 키 검색 비율 표입니다.
다음은 다양한 GPU에 대한 사용자 보고서입니다.
- i7 8700K-~ 3Mkey / c
- GTX 980TI (v1.42)-~ 73Mh
- GTX 1050ti-~ 23Mkey / c
- GTX 1070-~ 50Mhkey / s
- GTX 1080ti-~ 108 Mkey / c
출처 : 지원되는 GPU 목록 (GH-46) .
답변
유일한 현실적인 위험은 양자 컴퓨팅입니다.
또는 BTC 소프트웨어 알고리즘의 버그 또는 결함 발견. 그러면 결함의 유형에 따라 크래킹이 몇 초 만에 완료 될 수 있습니다.
댓글
- 안녕하세요. StackExchange에 오신 것을 환영합니다. ‘ 자체 답변이 아닌 다른 답변에 대한 댓글을 남기고 싶지 않으 셨나요?
- @ThePiachu, 감사합니다. . 아시다시피 신규 사용자는 댓글을 게시 할 수없고 답변 만 올릴 수 있습니다. 중재자는이 문제를 해결할 수 있습니다. (나는 내 답변 만 댓글을 달 수 있습니다.)
- 오, 당신은 운영자입니다. 방금 알아 챘어요. 🙂
답변
가장 빠른 컴퓨터는 초당 150 페트라 플롭스 FPC입니다. 시대를 따라 잡으십시오 (IBM 파워 프로세서의 NV Link 및 Volta HCP 카드) … Team Green의 웹 사이트 또는 U tube의 2015 년 컨퍼런스 비디오에서 더 많은 내용을 읽거나 볼 수 있습니다. 일반적인 답변은 다음을 기반으로하는 것 같습니다. 10 세계에서 가장 빠른 컴퓨터 인 Petraflops …초당 FPC가 얼마나 빨리 변할 수 있는지 명확하게 알 수 있어야합니다. 에너지 부는 이미 동일한 기술을 기반으로 한 300P 시스템을 계획하고 있습니다.
요점은 10P를 기반으로하는 보안성에 대해 말하는 비트 코인 사람들이 생각만큼 많이 알지 못하기 때문에 이미 기본 수학이 15 ~ 30 배 잘못되었다는 것입니다. 무어의 법칙에도 의존하지 않습니다. 최근의 발전과 현재의 한계는 완전히 다른 법칙과 관련이 있습니다. NV Link가 최선을 다해 해결하고 컴퓨팅 시간을 너무나도 향상 시켰습니다. 10 억년이라는 이론은 이미 15-30의 요소로 잘못되었으며 매년 그들이 생각하는 것보다 훨씬 더 높은 비율로 계속 잘못 될 것입니다. 30 년 이내에 현재 수준의 비트 코인은 쉽게 해독 될 것입니다. 40 ~ 50,000 달러를 지출 (오늘날의 돈으로)하거나 원하는 수의 대학 또는 기업용 슈퍼 컴퓨터를 사용할 수있는 사람.
50 년 된 기술이 50 년 동안 디지털 보안을 유지할 것이라고 실제로 믿는 사람 나중에는 솔직히 당신이 피해야 할 사람이 아닙니다. 전혀 관심을 기울이지 않고 있습니다 … 그게 오늘날 비트 코인이 위험하다는 뜻입니까? 사실은 아니지만 30 년 동안 같은 사람들이 보안을 담당한다면 지금 여기있는 똑같은 단서도없는 사람들이 될 것입니다.
댓글
- NVLink는 슈퍼 컴퓨터의 노드간에 더 빠르고 에너지 효율적인 통신을 가능하게하는 기술입니다. ‘ 시스템을 구축하는 경우 둘 다 실제로 문제가되지 않습니다. 분산 키 크래커.