하스켈 프로그래밍언어로 개발된 암호화폐는 양자컴퓨터에 안전한가요?
에이다는 하스켈 프로그래밍 언어로 구축되어서 향후에 양자컴퓨터가 개발되더라도
해킹에 매우 안전하다고 합니다.
보통 암호화폐는 양자컴퓨터로 인해서 못쓸거라고 하던데 에이다는 안전하다고 하는 이유는 무엇인가요?
안녕하세요. 해당 내용에 대하여 작성된 글이 있어 해당 글을 참조하여 작성합니다.
에이다가 양자컴퓨터가 도입이 되어도 안전한 3세대 언어라고 지칭하는 이유는 하스켈의 특성과 카르다노 특유의 합의 프로토콜때문이라고 합니다. 아래와 같은 몇가지 특징이 있다고 하네요.
CEO인 찰스 호스킨슨이 수학자이다.
그는 과거 이더리움의 개발에 공을 들였었던 적이 있는데 프로그래머는 아니었죠.
아마도 이더리움의 개발에는 최초 뼈대가 되는 알고리즘을 호스킨슨이 만들고
그 구현을 비탈릭 뷰테린이라는 훌륭한 프로그래머가 맡았을 것입니다.
후에 이더리움을 빠져나와서 IOHK를 설립하고 지금의 카르다노 플랫폼을 만들어낼때
수학자인 자신이 가장 잘 이해할 수 있는 프로그래밍 언어로 하스켈을 고른 것 같습니다.
함수형으로 프로그래밍을 한다는건 수학공식을 만들어내는 것과 같아서 수학자인 그에게는 좀더 친숙했을 것입니다.
하스켈 자체가 서구권에서도 사용하는 개발자가 드물다.
서구권에서도 위에 언급한 언어들이 대세를 이루고 있고 하스켈은 먼저 말했듯이, 수학적 이해가 없으면 쓰기 어려운 언어입니다.
그래서 서구권뿐만 아니라 전 세계를 통틀어도 사용하는 프로그래머사 인구가 적습니다. 이는 또 하나의 이득이 될 수있는게
대부분의 해커들도 어차피 대세가 되는 언어를 사용해 해킹작업을 시도합니다. 물론 학습하려면 못할것도 아니겠지만요.
부작용이 없다
여기서 부작용(side effect)이라는 것은 프로그래밍을 하다보면 의도했던 것과는 다른 엉뚱한 결과나 과정을 거칠 수도 있게 되는데,
통상 우리는 그걸 버그(bug)라고 합니다.
그런 부작용이 없다(물론 이론적으로)는 것은 그만큼 함수형 프로그래밍을 통해 예상 외의 동작을 줄일 수있다는 얘기가 되죠.
느긋한 계산(Lazy Evaluation)
이것은 다른 언어들과 비교해서 나타나는 뚜렷한 특징으로, 만약 1부터 1억까지 숫자를 세는 프로그램 소스코드를 짰다고 칩시다. 여타 다른 프로그램은 재깍재깍 반응해야 하나씩 배열이 늘어날때마다 자원을 할당해 연산속도가 느려질 가능성이 큽니다. 하스켈은 출력이 나올 타이밍에 나중에 자원을 할당해 출력해주는 형태이므로 훨씬 부하발생이 적습니다.
설명이 어려운가요? 그냥 겁나 오류 적고 빠른 계산을 한다고 생각하면 됩니다.
이러한 부분은 코드의 동작안전성과 보안성을 높어주는 주요 요인이 됩니다. 물론 이것만 가지고는 안전성을 높였다고 할 수없고
오로보로스라는 별도의 합의 프로토콜을 사용해서 안전성을 높여주는 것입니다.
도움이 되셨으면 좋겠네요. 감사합니다.