신경망 암호와 ECC 두 장비간 "안전한" 통신을 진행할 때 송수신하는 데이터를 암호화 하는것은 반드시 필요하다. 상호 안전한 통신을 위해 암호문을 만들기 위한 키를 주고 받는 여러 연구들이 진행되고 있는데 공개, 세션키 키분배 센터 등등 여러가지 방법을 환경에 맞게 응용한다. 생체신호를 이용한 인증 방법을 연구하면서 생체신호와 ECC(Error Correction Code)를 이용해 패러티 코드와 각자의 생체신호만으로 키를 생성하는 연구를 진행 했었다. 이번 연구에서도 이 방식을 응용가능한 부분들이 있다. 지금 하고 있는 연구는 신경망 기반으로 키교환을 진행하는 알고리즘을 개선하는 것이다. 가중치를 학습하는 과정에서 많은 라운드를 연산을 함에도 불구 하고 최종으로 키가 일치하지 않는 상황이 발생할 수 있다. 이를 보정하기 .. 블록체인 환경에서 난수 생성 - 1 앞서 포스팅을 했듯이 블록체인에서 난수생성은 어려운 문제다. 기존의 블록체인에서의 난수 생성 방식은 대부분 해쉬값을 스마트 컨트랙에 보내고(commit) 시드를 보내서(reveal) 난수를 생성하는 방법이 가장 직관적이다. 이 방식을 commit and reveal 이라 하는데 대표적인게 RANDAO 이고 Siginidice 은 변형이라고 볼 수 있다. commit and reveal의 단점은 아래와 같다. 난수 생성에 발생하는 비용이 오라클 보다 큼 저장 공간이 발생하게 됨 (메모리도 비용) 장애로 인해 난수 생성 비용을 모두 의도하지 않게 날릴 수 있음 기존의 블록체인들은 마이너가 블록에 들어가는 모든 값들을 미리 알 수가 있다. 블록을 생성한 후 마이너가 예측할 수 없는 시드를 하나씩 추가해주는 식.. RANDAO 블록체인 상에서 신뢰할수 있는 난수를 생성하기 위해 여러 방법들이 시도 되고 있다. 그 중에서 나름 설득력? 있는 생성방법중에 하나인 RANDAO를 살펴 볼까 한다. RANDAO는 commit and reveal 방식으로 난수를 생성하는데 과정은 아래와 같다. RANDAO 기반의 스마트 컨트랙을 배포한다. 스마트 컨트랙은 난수 발생을 위해 캠페인을 생성하고 디파짓과 난수를 발생시킬 블록번호와 데드라인을 지정한다. 난수가 필요한 참여자는 생성한 캠페인을 Follow 한다. 난수가 필요한 참여자는 해당 캠페인 ID와 SHA3(s)를 디파짓 만큼의 비용과 함께 컨트랙으로 보낸다. 난수가 필요한 참여자는 해당 캠페인 ID와 s를 컨트랙으로 보낸다. 컨트랙은 수집한 s 를 조합하여 f(s1,s2....sn)으로 .. 블록체인에서의 난수 생성 1. 블록체인에서 난수를 생성하기 위해서는 여러문제들이 있다. 가장 핵심 문제는 생성된 난수에 대한 신뢰성 및 무결성 이다. 기존의 중앙화 환경에선 신뢰할만한 혹은 책임 소재가 있는 서버에서 암호 생성을 위한 시드를 제공하고 암호 알고리즘을 이용해 난수를 생성할 수 있었지만 블록체인 네트워크에서는 어떤 시드를 사용할 것인가 부터가 문제가 된다. 난수값을 블록체인 사용자들이 검증하기 위해서는 엔트로피가 높은 시드와 난수 사용자간 검증이 가능한 시드를 사용해야 한다. 사실 블록체인 네트워크에서 난수를 사용하는곳이 대부분 카지노다... 신뢰성 높은 카지노 게임을 만들기 위해서 딜러와 플레이가 상호 검증이 가능한 난수를 생성하는데 대부분 초점이 맞쳐져 있다. 체인을 이용해서 난수를 생성하기 위해 여러 업체들이 .. 연구 환경 구축 1. 노드가 10개 정도로 구성되어 있는 네트워크가 필요하다. 가장 쉽게 구축하는 방법은 서버한대에 OS 깔고 VM을 설치한 뒤에 VM 이미지를 만들고 생성된 VM 이미지로 10개의 OS를 동시에 돌린다Openstack을 한번 써봐야지 했는데 이참에 Openstack을 이용해서 인프라를 구축해 보기로 했다. 오픈스택으로 구축하면 스토리지나 네트워크 구축하는데 VM 보다 좋은점은 오픈스택으로 구축시 API나 스크립트 등으로 자동화가 가능하다. 여러대의 인스턴스를 관리하고 자동으로 컨트롤 하기 위해서는 VM 보다 오픈스택이 좀 유리 할듯 2. ML 머신도 하나 필요한데 테슬라는 너무 비싸다...쿼드로를 일단 넣어두긴 했는데 이건 아무래도 가성비가 영 별로 인것 같고타이탄 RTX로 했는데 이것도 불량문제가 있.. EEG를 학습을 통한 생각 읽기? 관한 논문 페북에 타임라인에 재미있는 연구 결과가 있어서 정리해 본다. https://medium.com/@justlv/using-ai-to-read-your-thoughts-with-keras-and-an-eeg-sensor-167ace32e84a?fbclid=IwAR0lfavqCuQPffIjbTZcG8RmrCeKw69gJA31cqt1ApXZS7rWHichL9ltv9c요약하자면 단어를 소리내서 읽을때 생성되는 뇌파정보를 학습 시키고, 특정 단어를 떠올렸을 때의 뇌파만 가지고 단어를 유추하는 실험이다.뇌파 측정이 주변의 형광등만 켜도 요동치기 때문에 측정이 쉽지 않지만 언제가는 생각만으로 인증하는 날이 멀지 않은듯 하다. 탈중앙화(Decentralization)에 관하여 1. 비트코인로 인해 탈중앙화(Decentralization)가 큰 이슈가 되었다. 컴퓨팅 분야에는 이전에도 그리드, 분산 컴퓨팅 같은 비슷한 용어들이 있었는데 탈중앙화는 간섭을 피하는것이고 분산은 쏠림을 막는듯한 늬앙스가 있다. 사용자 입장에서는 이 둘의 차이가 느껴지지 않는다. 탈중앙화든 분산이든 내가 사용하는 서비스가 안전하고 편리하면 그만이니까. 2. 여기서 드는 의문이 과연 탈중앙화는 안전하고 효율적인가? 이다. 구글이나 페이스북이 독점하고 있는 데이터 주권을 개개인에게 돌려 주고 간섭 없는 투명하고 신뢰성 높은 네트워크를 만들어 보자가 주요한 명분중에 하나 인데 사용자 입장에선 앞서 언급한데로 편리하고 안전하면 그만이다. 그런데 내 개인정보를 내가 관리하는 것과 다른 사람이 관리하는 것 중 어.. 블록체인에 대한 단상 1. 블록체인이 가지는 가장 큰 핵심 가치는 탈중앙화 일 것이다. 어느 한곳에 통제 받지 않고 네트워크를 운영하면서 신뢰성과 투명성을 보장한다는것 것인데 이것은 기술적으로 매우 어려운 부분이다. 아직 완벽한 탈중앙화 된 블록체인을 본적이 없는데 그 이유는 다음과 같다. 1. 블록체인의 크기는 시간이 갈수록 점점 커진다. 현재 비트코인만해도 150기가 이상의 저장공간이 있어야 풀노드 유지가 가능하다. 2. 데이터를 저장하는 것도 일종의 비용이며 크기가 커질수록 비용이 많이 발생한다. 3. 따라서 단순 사용자들은 라이트노드를 사용하게 되는데 라이트 노드는 풀노드로 부터 거래의 무결성을 확인한다. 4. 즉 라이트노드는 풀노드의 의존하게 되는데 이건 기존 서버 클라이언트 모델과 매우 유사하다. 조금만 관점을 다.. 이전 1 2 다음