Vitalik: Ether의 다음 단계에 열쇠는 무엇입니까

저자:비탈리크 Buterin
다른 Organiser
특별한 감사는 Yoichi Hirai, Justin Drake, Nadim Kobeissi 및 Alex Hicks에게 그들의 의견 및 검토합니다。
지난 몇 달 동안 새로운 프로그래밍 패러다임은 Taifung의 앞으로 R & D 서클에 빠르게 인기를 얻고 컴퓨팅 필드의 다른 코너에서 : 코드는 매우 낮은 수준의 언어로 직접 작성됩니다 (예 : EVM 바이트, 컴파일 언어) 또는 Lean, 그들의 유효성은 Lean에 의해 작성된 자동으로 검증 가능한 수학 인증서를 사용하여 검증됩니다。
제대로 작동하면 매우 효율적인 코드를 수출 할 수 없지만 과거보다 훨씬 안전합니다. Yoichi Hirai는이 "소프트웨어 개발의 궁극적 인 형태"를 호출합니다。
기사는 합리적 인 마스크를 시도하고 소프트웨어의 형식화가 할 수있는 것을 탐험하고 약점과 제한이 Taifung과 다른 곳에서 있습니다。
공식화란
Formalization은 자동으로 검사 될 수있는 방식으로 mathematical theorem 인증서의 준비를 의미합니다. 비교적 간단하지만 결코 흥미로운 예를주려면 Fibonacci 시리즈에 대한 기본적인 이론을 살펴보십시오. 세 번째 숫자는 심지어 나머지는 확률입니다。
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 ...
이 것을 증명하는 간단한 방법은 각 시간을 전달하는 3 단계가 걸리는 mathematical summation를 통해서 입니다。
첫 번째는 기본입니다. 세트 F1 = F2 = 1, F3 = 2. 그것을 관찰함으로써, 우리는 진술 ( "Fi는 3 또는 확률의 여러 때도) x = 3 전에 설치되었다。
이것은 요약에 의해 따랐다. 3k+3 이전에 문이 설치되었음을 아시며, 이미 F3k+1, F3k+2 및 F3k+3의 확률이 확률이 큽니다. 우리는 세 가지 숫자의 다음 세트의 확률을 계산 할 수 있습니다 :
F3k+4 = F3k+2 + F3k+3 = 확률 + 심지어 = 확률 F3k+5 = F3k+3 + F3k+4 = 심지어 + 확률 = 확률 = 확률
그래서 우리는 3k + 3 전에 문이 설정되었음을 배웠다, 3k + 6 이전에 설정된 문에 지도. 우리는이 inference를 다시 신청할 수 있습니다, 따라서 규칙은 모든 정수에 유효합니다。
이 인수는 인류를 납득하기에 충분합니다. 그러나 당신이 더 복잡한 100 배를 증명하고 싶은 경우에 당신은 실수를 만들지 않았는지 아주 확실합니까? 잘, 당신은 컴퓨터에게 convincing 증거를 줄 수 있습니다。
다음과 같은 방법:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
그것은 같은 이유이지만, Lean에서 표현. Lean은 종종 수학 인증서를 작성하고 검증하는 데 사용됩니다。
이것은 위에 주어진 "human" 증거에서 다르다, 좋은 이유 : 컴퓨터 (컴퓨터의 전통적 감각에서,"즉, "certainty"프로그램은 if/then 문으로 구성, 큰 언어 모델) 인간을 보는 것들과 다릅니다。
위 인증서에서 fib(3k+4) = fib(3k+3) + fib(3k+2)가 아니라 fib(3k+3) + fib(3k+2)가 확률 번호이며, 모가라는 Lean의 야심 찬 전략은 fib(3k+4)의 정의에 대한 지식을 자동으로 결합합니다。
더 복잡 한 증거에서, 당신은 때때로 수학 법이 현재 단계를 취할 수 있도록 모든 단계에서 지정해야, 때로는 Prod.mk.inj 같은 이름을 사용。
그러나 다른 한편으로는 한 단계 안에 큰 다형식 표현을 확장할 수 있으며, "omega"또는 "ring"과 같은 단선식 표현을 통해 단선식 표현을 단식화해야합니다。
이 직관적이고 조잡한 설명은 왜 분야가 여전히 작지라도 기계 검증 가능한 증거가 거의 60 년 동안 존재한다는 것을 설명합니다. 다른 한편, 많은 이전에 불가능한 것들은 이제 빠르게 인공 지능의 급속한 발전 결과로 발생할 수 있습니다。
mathematical 인증서가 코드를 보호하기 위해 시작
지금까지, 당신은 생각할지도 모릅니다, 잘, 컴퓨터는 수학적인 theorem를 확인할 수 있습니다, 그래서 우리는 마지막으로 주요한 숫자에 관하여 이 미성년한 새로운 결론에서 진실한 것을 결정하고 pdf에 있는 100 페이지 과실입니다。
아마도 우리는 희망 SHINICHI가 ABC의 추측에 대해 올바른지 알아낼 수 있습니다
그래서 무엇을
많은 답변이 있습니다. 그러나 나에게 매우 중요한 것은 컴퓨터 프로그램의 교정을 확인하는 것입니다, 특히 암호화 또는 보안 관련 작업을 수행하는 사람들。
결국, 컴퓨터 프로그램은 수학 객체이므로 컴퓨터 프로그램은 일부 방법으로 작동한다는 것을 증명하는 수학적인 이론이다。
예를 들어, Signal 같은 암호화 소프트웨어가 정말 안전하다는 것을 증명하려면. 이 컨텍스트에서 "safe"의 수학적인 의미를 작성할 수 있습니다。
높은 수준에서, 당신은 그것을 증명해야, 특정 코딩 가정은 유효하다, 개인 키가 메시지의 내용에 대한 정보를 얻을 수있는 유일한 사람들. 현실에서, 많은 다른 보안 속성은 중요하다。
그것은 진짜로 그것을 알아내기 위해 노력하고 있는 팀이 있습니다! 그들의 안전 이론 중 하나는 다음과 같습니다 :
다음은 Leanstral 의미의 요약입니다
passive 보안 le ddh Theorem은 X3DH의 수동 메시지 기밀성은 무작위 예측 모델에서 DDH hypothesis만큼 어렵습니다. 상대가 X3DH의 수동 기밀을 부수 할 수 있다면 DH를 부수 할 수 있습니다。
DDH가 균열이 어렵다는 것을 가정함에 따라 X3DH는 수동 공격에도 안전합니다. theorem은 상대가 정보의 Signal 's 키 교환을 수동으로 관찰 할 수 있다면, 그들은 키에서 생성 할 수없는 확률보다 더 나은 비밀 키를 따르는 키를 구별 할 수 없습니다。
AES 암호화와 결합하면 올바른 증거를 얻을 수 있습니다. 신호 암호화가 수동 공격자에게 안전하다는 표시를 얻습니다。
비슷한 프로젝트는 TLS 및 브라우저의 암호의 다른 측면의 실현이 안전하다는 것을 증명했다。
전체 형식화가 종료되면 프로토콜의 이론적 설명이 안전하지만 사용자가 실행하는 특정 코드는 연습에서 안전합니다。
사용자의 관점에서, 이것은 매우 신뢰할 수있는 신뢰를 증가 : 코드를 완전히 신뢰하기 위해, 당신은 전체 저장소를 확인 할 필요가 없습니다, 그러나 당신은 단순히 입증 된 그 진술을 확인해야합니다。
지금 몇 가지 중요한 큰 건물이 염두에두고 있습니다. 특히 중요한 단어 "security"는 의미입니다。
정말 중요한 것을 증명하는 진술을 잊는 것은 쉽습니다. 코드 자체보다 더 간단하게 설명하지 않는 것을 발견하는 것이 쉽습니다。
그것은 궁극적으로 유효하지 않는 가정 인증서로 운동하기 쉽습니다. 또한 시스템의 한 부분이 형태적으로 입증되어야한다는 것을 결정하는 것은 쉽습니다, 그러나 결과는 다른 부속 (일 기계설비)에 있는 심각한 반복에 의해 명중됩니다。
Lean도 버그가 있을 수 있습니다. 그러나 우리는이 vexing 세부 사항을 모두 논의하기 전에, 우리는 먼저 형식화의 정확하고 이상적인 완료에 의해 가져올 수있는 가능한 utopia 깊이에서 탐구。
안전용 화학물질
컴퓨터 코드의 버그는 끔찍합니다。
스마트 컨트랙트의 유연한 체인으로 암호화된 돈을 넣을 때 북한은 버그가 나타나면 모든 돈을 자동적으로 배수할 수 있으며, 코드의 버그가 악화되지 않습니다。
0-knowledge 인증서에서 모든 포장 할 때 버그가 0-knowledge 증거 시스템에 해킹하기 때문에 악화됩니다, 그들은 모든 돈을 취할 수 있습니다, 그리고 우리는 잘못 된 어떤 아이디어가 없습니다 (그리고 나쁘다, 우리는 그것을 잘못했을 때도 모른다)。
Claude Mythos와 같은 강력한 AI 모델이있을 때, 2 년 후, 우리는이 버그를 자동으로 찾을 수 있으며 코드의 버그는 악화됩니다。
일부는 스마트 컨트랙트를 포기하는 기본 아이디어에 대해 조언함으로써이 현실에 반응합니다. 심지어 사이버 realm은 단순히 수비수가 공격자의 비대칭 이점을 가질 수있는 지역이 될 수 없습니다。
몇몇 introductory 말:
시스템을 강화하려면 공격자보다 더 많은 동전을 쓸 필요가 있습니다。
그리고:
우리의 기업은 특정 부호에 근거를 둡니다. 쓰기, 그것을 테스트, 게시, 그것을 확인, 하지만 내 경험에서이 계약은 깨어。
실제 AI의 상위 연산자 중, 코드 라이브러리는 당신이 그것을 실행할 수있는 무언가가되고, 당신은 더 이상 성공의 기회에 대해 정확 할 수 없습니다。
Worse는 여전히, 일부 유일한 솔루션이 오픈 소스를 포기하는 것을 믿는다。
사이버 보안을 위한 bleak 미래가 될 것입니다. 이것은 인터넷의 중앙화와 자유에 대한 우려가 있는 우리들을 위해 매우 유망한 전망입니다。
전체 코드 펑크 정신은 다음과 같은 아이디어를 기반으로합니다. 인터넷에서 수비수는 디지털 성 (암호화, 서명 또는 인증)을 파괴하는 것보다 훨씬 쉽게 만드는 이점이 있습니다。
우리는 이것을 잃을 경우, 인터넷 보안은 세계 각국의 잠재적 인 공격자를 추구하고, 더 넓은 감각에서, 지배와 파괴 사이에 한쪽에서, 가늠자의 경제에서만 올 수 있습니다。
나는 사이버 보안의 미래에 대한 더 낙관적인 비전을 가지고 있다고 생각합니다。
나는 강한 AI 루프홀이 심각하다는 것을 발견 할 수있는 능력에 의해 만들어진 도전이 있다고 생각하지만 전환 한 것입니다. 먼지가 침입되면 우리는 새로운 균형 지점을 입력했습니다. 우리는 과거에 수비수에 더 호의를 베푸는 환경이있을 것입니다。
Mozilla는 나에게 동의합니다. 그들은 인용합니다:
당신은 다른 모든 문제와 열렬한 지속하고이 작업에 집중주의를 재현 할 필요가 있지만 터널은 빛에 끝납니다。
우리는 우리의 팀이 이 도전을 회의하는 방법의 아주 자랑스럽습니다, 그리고 다른 사람은. 우리의 일은 아직 완료되지 않았습니다, 그러나 우리는 통과하고 단지 속도를 지키는 것보다 훨씬 더 나은 미래를 볼 수 있습니다。
Defence는 마침내 결정적으로 승리 할 수있는 기회가 있습니다. 우리는 마침내 그들을 발견 할 수있는 세계를 입력하고 있습니다。
이제 Mozilla 게시물에서 Ctrl + F 검색 단어 "formatization"과 "validation"을 사용하는 경우 0 일치를 찾을 수 있습니다. 사이버 보안의 긍정적 인 미래는 공식화 또는 다른 단일 기술에 완전히 의존하지 않습니다。
그것은 그것에 달려 있습니까? 그것은 기본적으로이 차트:

언제든지 CVE 구멍의 수에 결정
수십 년 동안 많은 기술은 루프홀의 쇠퇴에 기여했습니다
- 유형 시스템
- 메모리 보안 언어
- 소프트웨어 아키텍처 개선 (샌드 박스링 포함, 특권 제어 및, 더 넓, 계산의 신뢰할 수있는 기초"및 "다른 코드")
- 더 나은 테스트 방법
- 안전하고 안전한 코딩 패턴에 대한 지식 시스템은 계속 부유합니다
- 사전 승인 및 감사 된 데이터베이스의 증가 수
인공 지능에 의해 인식 된 양식화는 완전히 새로운 패러다임으로 볼 수 없지만 방향과 패러다임에서 진화 한 강력한 가속기로서。
양식화는 보편적이지 않습니다. 그러나 목표가 달성보다 훨씬 간단합니다. 이것은 매우 복잡하고 어려운 기술 중 일부에 특히 사실입니다. ITA의 다음 주요 기관에 배포해야합니다. 퀀텀 저항 서명, STARKs, 합의 알고리즘 및 ZK-EVMs。
STARK는 매우 복잡한 소프트웨어입니다. 그러나 핵심 보안 속성은 쉽게 이해하고 공식화됩니다. Hashi H, 입력 x 및 출력 y pointing to P, one (i) STARK에서 사용되는 Hashi 알고리즘이 파손되거나 (ii) P (x) = y。
그래서 우리는 완전히 공식화 된 STARK 실현을 만들기 위해 노력하고있는 Arklib 프로젝트가 있습니다 (VVV-io 참조, 이는 STARK에 의존하는 다양한 다른 암호화 프로토콜을 공식화 할 수있는 기본 계산기 컴퓨팅 인프라를 제공)。
더 야심 찬은 evm-asm : 전체 EVM을 완전히 공식화하기위한 프로젝트입니다。
보안 속성은 다음과 같습니다. 기본적으로, 목표는 Lean이 준비한 또 다른 EVM과 동등한 것을 입증하는 것입니다. 그러나 실제화는 특정 운영 효율성을 고려하지 않고 시각과 읽기 능력을 극대화 할 수 있습니다。
우리는 10 EVMS를 얻을 수 있다는 것입니다. 모두 똑같이 입증 될 수 있으며 공격자가 접근 할 수없는 주소에서 ETH를 배수 할 수있는 동일한 지방 결함을 포함 할 수 있습니다。
그러나 EVM이 오늘 이러한 부족을 달성 할 가능성이 훨씬 적습니다. Yet 또 다른 보안 속성의 중요성, 즉, DoS 공격에 저항, 우리가 경험있는 고통스러운 교훈을 가질 때 조절하기 쉽습니다。
다른 두 가지 중요한 영역은:
- Byzantium은 consensus에 대한 실수입니다. 여기, 그것은 모든 원하는 보안 속성을 공식화하기 어렵지만, 그것은 시도 가치가있다, 그래서 널리 퍼져 사용 된 버그를 고려. 따라서 우리는 Lean에서 진행중인 합의 계약을 맺고 입증되었습니다。
- 스마트 컨트랙트 프로그래밍 언어: Vyper 및 Verity의 공식화 참조。
이러한 모든 경우, 형식화 인증의 훌륭한 부가 가치 중 하나는 사실에 진정으로 끝났습니다. 일반적으로 최악의 버그는 두 개의 독립적으로 하위 시스템을 고려한 대화 형 버그입니다。
인간을 위해 너무 어렵습니다. 끝에서 끝에 전체적인 시스템을 분리합니다. 그러나 자동화된 규칙 검사 시스템은 이렇게 할 수 있습니다。
효율성 인증
evm-asm를 살펴 보자. 그것은 EVM 현실화입니다. 그러나 RISC-V에 의해 컴파일 된 EVM과 직접 수행됩니다。
실제 가격입니다。
이것은 ADD 코드입니다:
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RISC-V는 RISC-V를 인증하고 TAIFENG 클라이언트를 위해 RISC-V로 컴파일하는 ZK-EVM 인증서 때문에 선택됩니다. 당신이 실현하기 위해 RISC-V에 직접 쓴 EVM이 있다면, 그것은 당신이 달성 할 수있는 가장 빠른이어야한다。
RISC-V는 일반 컴퓨터에서 매우 효율적으로 시뮬레이션 할 수 있습니다 (그리고 시장에 RISC-V 노트북이 있습니다)。
물론, 실제로 끝에 도착하기 위해, 당신은 RISC-V 실현 자체 (또는 인증서의 계산기)를 공식화해야합니다, 그러나 걱정하지 마십시오, 이미 존재합니다。
우리가 50 년 전에해야 할 일입니다. 그 후, 우리는이 연습을 주었다, 대신 작성 코드 고급 언어로。
고급 언어 타협 효율, 그러나 교환 그들은 코드를 훨씬 빠르고, 더 중요하게, 보안에 필수적인 다른 사람을 훨씬 빨리 이해。
공식 검증 및 인공 지능을 결합함으로써, 우리는 "앞으로 돌아가는 기회"를 가지고 있습니다。
구체적으로, 우리는 인공 지능이 컴파일 코드를 준비하고 컴파일 코드가 필요한 속성을 확인하기 위해 공식 인증서를 생성 할 수 있습니다。
매우 적어도, 필요한 속성은 단순히 읽기 기능을 개선하기 위해 최적화 된 사람들에게 동등 될 수 있으며 인간의 친절한 언어에 기록됩니다。
우리는 더 이상 읽기 능력과 효율성을 균형 단일 코드 객체가 필요하지만, 두 개의 별도의 객체가 있습니다 : 하나의 ( 컴파일 달성)는 구현되는 특정 환경의 요구를 고려하는 유일한 효율성을 최적화합니다. 다른 (보안 문, 또는 고급 언어 달성)은 읽기 성을 최적화하고, 다음 우리는 수학 증거를 통해 두 사이에 평평을 증명합니다。
사용자는 한 번 인증서 (자동)를 확인하고, 그 이후로 그들은 빠른 버전을 실행해야합니다。
이 방법은 매우 강력하고 Yoichi Hirai는 이유를 위해 "소프트웨어 개발의 궁극적 인 형태"라고 부릅니다。
Formalization는 panacea가 아닙니다
암호화 및 컴퓨터 과학의 영역에서, 형식화 접근 방식과 거의 오래된 전통이 있습니다 : 비판 형식화의 전통 (또는, 더 넓은, 증거에 의존)。
문학은 실제 예입니다. 간단한 암호화의 초기 시대의 필적 증거로 시작하자, citing Menezes 및 Koblitz의 비판 :
1979 년 Rabin은 "proveable"안전 한 의미에서 암호화 된 기능을 제안했습니다. 즉, 그것은 대상의 보안 속성이있었습니다。
RSS에 따르면, 텍스트 y에서 메시지 m을 찾을 수 있는 사람들은 또한 궤멸 n을 할 수 있어야 합니다. ... 라빈이 자신의 암호화 프로그램을 발표 한 후, Riverst는 "선택 비밀"이라는 다른 공격자가 직면 한 경우 전체 라인이 붕괴 될 수있는 추가 보안을 준 문자를 철저히 지적했다。
다른 말에서, assuming 그 assailant can somehow malicious Alice to decrypt the secret of his choice, assailant can follow the same step that Sam used to break n in the 이전 단락。
Menezes 과 Koblitz 그때 준 더 많은 예제. 일반적인 패턴은 암호화 프로토콜을 만드는 주위에 디자인이 더 "잘"더 적은 "자연"을 만들고 디자이너에 의해 고려하지 않고 붕괴 할 가능성이 더 높습니다。
이제 기계의 검증 가능한 인증서 및 코드로 돌아가십시오. 그것은 2011 년에 공식화 된 "C" 컴파일러의 예입니다회사 소개::
우리가 발견 된 두 번째 CompCert 문제는 다음과 같은 코드를 생성하는 두 가지 버그에있었습니다우 r1, -44432(r1)큰 PowerPC 스택은 여기에 배포됩니다。
문제는 필드 변위의 16 비트가 유출되었습니다. CompCert의 PPC 구문은 폭에 즉각적인 한계를 설정하지 않으며 컴파일러가 범위를 넘어 가치를 캡처 할 것입니다。
그리고 하나에서 2022회사 소개::
CompCert-KVX에서 e2618b31이 버그를 복원했습니다. "nand" 명령은 "and"로 인쇄됩니다. "nand"는 드문 모드에서만 사용됩니다 ~ (a ∓ b). 버그는 무작위로 생성 된 프로세스를 통해 발견되었습니다。
그리고 오늘, 에서 2026,다음은 Nadim Kobeissi의 공식적인 소프트웨어 누출의 설명 크리스탈:
11월 2025일, Filippo Valsorda는 독립적으로 libcrux-ml-dsa v0.0.3 다른 공공 키와 같은 특정 입력을 가진 다른 플랫폼에 서명을 보고했습니다。
이 버그는 vxarq u64의 내부 패키지 기능에 존재, 이는 SHA-3와 Keccak-f를 대체하는 데 사용되는 XAR 작업을 수행. 백업 메커니즘은 마이그레이션 작업에 잘못된 매개 변수를 통과하고 하드웨어 SHA-3에 의해 지원되지 않은 ARM64 플랫폼에 SHA-3 요약을 손상。
이 유형 I 실패: 내부 함수는 표를 하고, 전체 NEON 백엔드는 실행 안전 또는 정정의 증거를 완료하지 않습니다。
그리고:
libcrux-psq 라이브러리는 나중에 quantum pre-sharing 키 프로토콜을 달성합니다. 메소드에서 AES-GCM 128 decryption 경로는 .unwrap()를 사용하지 않고 해산 오류를 사용합니다. 잘못된 형식의 텍스트는 프로세스를 가져올 수 있습니다。
위의 4 질문은 다음 두 가지 범주 중 하나에 떨어졌다 :
- 일부 코드 만 유효했습니다 (완벽하게 유효하지 않았기 때문에) 그리고 저자가 상상보다 더 반복적 인 코드가 더 많은 반복적 인 것으로 나타났습니다。
- 저자는 키 속성이 입증되어야하는 경우를 잊습니다。
Nadim의 기사에는 공식화 실패 모형의 분류를 포함합니다; 그는 또한 실패 본의 다른 유형을 줍니다 (예를들면, 다른 중요한 케이스는 "형화 규범은 틀린 당이고, 또는 증거는 건축 체계에 의해 조용히 받아들여지는 거짓 진술을 포함합니다)。
마지막으로, 우리는 소프트웨어와 하드웨어 경계에 공식화 실패를 볼 수 있습니다. 자주 묻는 질문(FAQ)。
메시지를 보호하기 위해 완벽한 보안 암호화를 가지고 있지만 몇 미터 거리에있는 사람들이 통신 변동을 캡처하고 암호화 후 수천 번의 개인 키를 추출 할 수 있다면 여전히 안전하지 않습니다。
그것은 차별 힘의 분석입니다이름 *이것은 현재 잘 이해되는 그런 기술의 예입니다。

차별 힘 분석은 옆 수로 공격의 일반적인 유형입니다. 출처: Wikipedia
Attempts는 이러한 공격을 저항하는 사람들의 안전을 증명하기 위하여 만들었습니다. 이러한 증거는, 그러나, 안전의 증거를 목표로 할 수있는 공격자의 수학 모델이 필요합니다。
때때로 "d detection model"는 사용됩니다. 우리는 assailant가 회로를 검색 할 수있는 위치의 수에 알려진 한계가 있다고 가정합니다. 그러나, 몇몇 누설 모양은 이 모형에 의해 붙잡지 않습니다。
이 문서에서 관찰 된대로, 일반적인 문제는 전환 된 누출입니다 : 주어진 위치에뿐만 아니라 그 값의 변화에 따라 달라지는 신호를 관찰 할 수 있다면 보통 두 값 (새로운 오래된)에서 다시 얻을 수 있습니다。
이 문서는 누설의 다른 형태의 분류를 제공합니다。
수십 년 동안 공식화의 이러한 비판은 공식화를 개선하는 데 도움이되었습니다. 우리는 과거와 같은 문제에 대해 보호하는 것이 더 좋습니다. 그러나 오늘도, 그것은 완벽하지 않습니다。
전반적으로, 지도가 있습니다. 형태화는 강력합니다。
그러나 어떤 마케팅 용어는 당신에게 "proven 정량", "proven 정량"을주는 것과 같은 공식화 사운드를 만들지 않습니다 소프트웨어 (또는 하드웨어)가 맞습니다。
대부분의 인간에 따르면 "right"는 다음과 같은 것을 의미합니다. "물체의 행동은 개발자의 의도에 대한 사용자의 이해와 일관성이 있습니다."。
그리고 "안전"의 의미는 다음과 같습니다. "사용자의 기대에 대해 이동하지 않으며 사용자의 헌신에 뭔가를하지 않습니다."。
두 경우, 정정 및 보안은 수학 객체와 인간의 의도 또는 기대 사이의 비교에 특성화됩니다。
인간의 의도와 기대는 기술적으로 수학 개체, 그리고, 결국, 인간의 두뇌는 우주의 일부이며, 당신이 충분한 칼로리를 가지고 있다면 시뮬레이션 할 수있는 물리 법에 따라。
그러나 그들은 믿을 수 없을 정도로 복잡한 수학 객체입니다。
모든 실용적인 목적과 의도를 위해, 그들은 검은 상자입니다; 우리는 우리의 의도와 기대에 대해 아무것도 알고 우리 자신의 생각을 관찰하고 다른 사람의 생각을 확대하는 데 많은 년의 경험을 가지고 있기 때문에。
우리는 primitive 인간 의도를 컴퓨터로 삽입할 수 없기 때문에, 형식화 증명서는 인간적인 의도와 비교할 수 없습니다。
그래서 "보호"및 "안전"은 실제로 우리가 인간이 "밝기"와 "보안"로 이해하는 것을 증명하지 않습니다. 우리가 인간 두뇌를 완전히 시뮬레이션 할 수없는 것은 아무것도 없습니다。
그래서 무엇을 위해?
테스트 패키지, 유형 시스템 및 형식화와 프로그래밍 언어 보안에 대한 동일한 하단 방법을 달성의 다른 방법 (또한 합리적인 방법이 될 수 있음)을보고 싶습니다。
그들은 다른 방법으로 우리의 의도를 조절에 관한 모든 것입니다, 그리고 다음이 다른 규범의 호환성을 자동으로 검사。
예를 들어 Python 코드를 가져 오기 :
int: n < 0: Rice 예외 ("Negative value not report") elif < nse, 13, 34er (n-1) + fib(n:int)>int: n < 0: 쌀 예외 ("Negative value not report") elif < n: rerntru nse, 13: 34er (n-1) + fib(0: 0)
여기, 당신은 세 가지 다른 방법으로 당신의 의도를 표현:
- 분명히, 코드를 사용하여 Fabonacci 공식을 달성
- Invisible, type system (인테거, 출력 및 반전 단계 지정)
- 으로 "샘플 패키지" 방법: 테스트 케이스
실행 파일 reconciles the formula with example. Type checkers는 type의 호환성을 확인합니다. 2개의 정수를 추가하면 컴포지트 작업이며 다른 정수를 생성합니다。
유형 시스템은 종종 물리학에서 작업을 확인하는 좋은 방법입니다: 가속을 계산하는 경우, 그러나 당신은 초당 밀리미터 당 밀리미터 당 밀리미터에 대한 답변을 얻었다, 당신은 잘못 알고。
테스트 예제는 "샘플 패키지"의 정의의 예입니다. 종종 직접적이고 눈에 보이는 정의보다 인간에게 훨씬 더 자연적입니다。
더 다른 당신은 당신의 의도를 통제할 수 있고, 이상적으로, 당신이 생각의 다른 방법에 있는 문제를 해결하기 위하여 물린 다른 방법, 실제로 당신이 진짜로 원한 무슨을 표현하기 위하여 확률이 높다 이 표식은 호환이 되는 것을 증명합니다。

보안 프로그램은 여러 가지 방법으로 의도를 표현하고 이러한 표현이 호환되는지 확인하는 것입니다。
Formalization을 사용하면이 방법을 더 확장 할 수 있습니다. 인증을 공식화하면 거의 무제한의 중복을 의미하여 의도를 조절할 수 있으며 절차는 완전히 호환되는 경우에만 유효할 수 있습니다。
인간에 의해 읽는 것은 매우 낙관하고 극단적으로 비효율적이지만, 그들이 일치 여부를 확인할 수 있습니다. 당신은 당신이해야 할 생각 수학 속성의 목록을 제공 할 10 친구를 요청할 수 있으며, 그 다음 모든 통과 한 경우 확인。
그렇지 않다면, 프로그램이 잘못되었거나 수학 특성이 잘못되었는지 알아보십시오. 그리고 당신은 인공 지능과 모든 일을 할 수 있습니다。
그래서 어떻게 시작합니까
현실적 인, 당신은 스스로 할 필요가 없습니다. Formalization은 대부분의 사람들이이 비강한 단어를 쓰는 방법을 이해할 수 없기 때문에 대중적이지 않았습니다. 이 코드를 의미하는 것을 말해 줄 수 있습니까
< code-syle="font-size: 상속; 다섯번째 가족: PingFang SC, Helvetica, Aral, Hiragino Sans GB, Heiti SC, 이메일, WenQuanyi 마이크로, sans-serif; >: 축적자의 가치에 도움. -/ 개인 소문 accect le (ds 1 dsd = ddddd2 = ddddd1 > ; (hAcc: a b) > (hLE: > b) : ds1 ds2 : (hList.)
(당신이 알고 싶은 경우에, 이것은 SPHINCS 시그니처 변형에 대한 특정 보안 진술에 많은 하위 관계 중 하나입니다。
특히, 성명은 Hashi 충돌이 없다면, 메시지의 서명은 Hashi ladder에 적어도 어딘가에 다른 메시지의 서명보다 높을 필요가 있으므로 다른 서명에서 계산 할 수없는 정보를 포함)
코드를 작성하고 수동으로 증명할 필요가 없습니다. 당신은 인공 지능이 당신을 위해 프로그램을 작성해야합니다 (레안 또는 속도 측면에서 직접 작성) 프로세스에서 원하는 속성을 증명。
이 작업의 하나의 장점은 자체가 보호되어 있으므로 시간이 지남에 따라 인공 지능이 실행되도록해야합니다。
최악의 결과는 (또는 내 leanstral이 전에 수행 한 것처럼, 그것은 진술을 대체했다. 그것은 자신의 워크로드를 구호하기 위해 그것을 증명하는 것을 물었다)。
끝에서 확인해야 할 유일한 것은 진술이 요구 사항에 따라한다는 것을 증명한다는 것입니다。
SPHINCS 서명 변형에서, 이것은 최종 진술입니다
< code-style=font-size: 상속; fint-family: PingFang SC, Helvetica, Arial, Hiragino Sans GB, Heiti SC, 이메일, WenQuan Yi Micro Hei, sans-serif; >therem는 fullDigits incomparable {dig1 dig2: List Nat} {wl1 lll1: Nat2 } (wwww: < wwl < wwl "> dg1 (dig1 dg2) : dg2 (dg2) : d2 : d2 (d2 : d2 : d2 : dg2 : d2 이것은 실제로 barely readable 인 verge에 있습니다
한 해시 요약 (dig1)에서 생성 된 번호가 다른 해시 요약 (dig2)에서 생성 된 번호와 동일하지 않는 경우
그래서 다음의:
- 모든 숫자를 위해, dig1 < = dig2
- 모든 숫자를 위해, dig2 < = dig1
이것은 또한 체크섬을 추가함으로써 생성 된 "wotsFullDigits"의 경우입니다. 다른 말에서 dig1의 확장에서 숫자는 약간의 장소에 더 높을 것입니다, 그리고 다른 사람에서, dig2의 확장에서。
Claude와 Deepseek 4 Pro가 큰 언어 모델을 사용하여 인증서를 작성할 수 있다는 것을 발견했습니다. Leanstral는 특별히 Lean을 준비하기 위해 미세 조정 된 작은 오픈 소스 무게 모델입니다。
그것은 119B 매개 변수를 가지고, 각 토큰은 6B를 활성화하고, 로컬로 실행할 수 있습니다 (내 노트북에 약 15 톤 / 초). 기본 테스트에 따르면, Leanstral는 훨씬 더 큰 일반적인 모델이 있습니다
현재 개인 경험을 바탕으로 Deepseek 4 Pro보다 약간 악화되지만 여전히 효과적입니다。
Formalization는 우리의 문제를 해결하지 않습니다。
그러나 우리가 인터넷 보안 모델을 원하면 더 이상 몇 가지 강력한 조직에서 모든 사람의 신뢰에 기반 할 수 없습니다, 우리는 강력한 인공 지적 라이벌의 얼굴을 포함하여 신뢰할 코드로 전환해야합니다。
AI-ENABLED 공식화는 이 목표를 달성하는 도로에 단단한 STRIDES를 만들 수 있었습니다。
블록 체인과 ZK-SNARKs, 인공 지능 및 형식화와 같은 매우 보완 기술입니다。
ZK-SNARKs는 개인 정보 보호 및 확장의 비용으로 개인 정보 보호 및 확장성을 제공했지만 ZK-SNARKs는 개인 정보 보호 및 확장성을 부여했습니다 (실제로 이전보다 훨씬 더)。
인공 지능은 정확성의 비용에서 많은 코드를 생산할 수있는 능력을 제공합니다. 공식화는 정확도를 다시 제공합니다 (실제로 이전보다 훨씬 높습니다)。
기본적으로, 인공 지능은 많은 수의 매우 번영 코드를 생성하고, 버그의 수는 증가합니다。
사실, 일부 경우에, 그것은 버그의 증가를 허용하기 위해 올바른 거래 오프입니다: 버그가 온화한 경우, 존재하는 소프트웨어는 그것없이 더 나은。
그러나 여기에 사이버 보안은 낙관적인 미래가 있습니다 : 소프트웨어는 "보안 핵심"의 "지능의 가장자리"로 분할됩니다。
안전한 가장자리는 sandboxes에서 작동하고 일을 완료하는 데 필요한 최소한의 전력만 주어질 것입니다。
보안 코어는 모든 것을 관리합니다. 보안 코어가 붕괴되면, 모든 손실은 개인 데이터, 당신의 돈 등입니다. 그러나 insecure 가장자리 붕괴의 부분이면 보안의 핵심은 여전히 당신을 보호 할 수 있습니다。
보안의 핵심에 관해서, 우리는 벌레의 존재를 확산 할 수 없습니다. 우리는 보안의 핵심의 소형을 유지하기 위해 급진적 조치를 취하고, 더욱 감소시킵니다。
피임약에서 우리는 보안의 핵심을 만들기 위해 인공 지능의 모든 추가 기능을 투자했습니다. 그래서 우리는 고도로 자리 잡은 사회에 배치 한 신뢰의 엄청난 부담을 견딜 수 있습니다。
운영 체제의 내부 코어 (또는 그 이상)은 이러한 안전 코어가 될 것입니다。
Ether House는 또 다른 것입니다。
그것은 모든 비 성능 집중 계산에 대한 적어도, 당신이 사용하는 하드웨어는 세 번째 것입니다。
상품의 네트워킹과 관련된 시스템은 네 번째가 될 것입니다。
보안의 이러한 핵심에서, 오래된 애드지 "버그"는 불가피하고, 당신은 assailants의 앞에 그(것)들을 찾아내기 위하여 시도할 수 있습니다"는 당신이 진짜 안전이 있는 더 희망있는 세계에 의해 대체될 것입니다。
그러나 당신은 당신의 자산과 데이터에 손을 잡을 경우 가난한 준비하고 실수로 검은 구멍으로 삼을 수 있습니다, 물론 당신은 그 자유를 가지고。
