반응형


 

[REVIEW/ 서평] 자기주권 신원증명 구조 분석서

 

 

지금은 머신러닝과 관련된 연구를 하고 있지만, 

본래 나는 블록체인과 관련된 연구와 프로젝트를 3년간 진행해왔었다.

 

예전에 특허와 논문으로 발표했던 "블록체인 기반의 익명성 전자투표 시스템"에 DID를 적용하여 개선을 하면 어떨까 고민을 했었는데, 마침 제이펍에서 DID와 관련된 책을 보내주셔서 감사히 서평을 작성하게 되었다.

 

먼저 표지를 보면 DID라는 말을 직접적으로 제목에선 사용하지 않아 일반 대중들도 좀 더 편하게 접근할 수 있지 않나 생각한다. 

또한 ETRI 블록체인기술연구센터라는 신뢰도 높은 정부출연연구소가 책을 집필했다는 사실에 책의 내용의 질이 굉장히 좋을 것이라는 생각이 들게 한다.

 

책의 목차는 다음과 같다.

 

  1. SSI 개요 (기존의 인증 방식과 SSI 인증의 차이)

  2. DID & DID Document (DID와 DID의 W3 공식 표준 프로토콜 설명)

  3. VC(신원증명) & VP(신원 증명을 가공하여 필요한 부분만 제출)

  4. SSI 인증 시나리오 (나와 같이 DID를 적용하여 인증을 진행하는 프로젝트를 하고자 하는 사람을 위한 인증 시나리오)
  5. Peer DID(Peer DID의 구조와 Hyperledger 기반의 실제 프로토콜 예시)
  6. SSI 플랫폼 분석 ( Hyperledger indey-node에 대한 분석과 실제 sdk를 활용한 예시)

 

책의 장점


 

컴퓨터를 전공하지 않은 사람도 어느정도 이해를 할 수 있도록 내용을 간단히 도식화하여 그림 자료를 많이 첨부하였다.

이런 그림 자료로 인해 글로는 이해가 잘 가는 부분도 금방 이해할 수 있었다.

 

또한 확실히 ETRI의 저서답게, 굉장히 수준 높은 내용을 다룬다.

단순히 DID는 이런 개념이다~ 를 얘기하는 개념서 수준이 아니라 프로토콜과 왜 DID가 나왔는지에 대한 배경까지 포괄적인 설명을 담고 있다.

 

총평


 

장점

 

  • DID에 대한 폭 넓은 지식을 알 수 있다.
  • 기존 인증방식과의 비교를 통해 DID가 정확히 어떤 개념인지 명확히 설명한다.
  • DID를 프로토콜 레벨로써 이해할 수 있도록 하는 DID의 교과서라고 생각한다.
  • 이해를 돕는데 큰 도움이 되는 간단한 도식도가 친절하게 많이 첨부되어있다.
  • 책의 디자인이 전반적으로 컬러풀해서 어려운 내용임에도 불구하고 딱딱한 느낌이 들지 않아서 좋았다.

 

지극히 개인적인 아쉬운 점

 

  • 조금은 아쉬운 점이, Hyperledger를 활용하여 간단한 DID 인증 플랫폼을 만들어보는 실습 사항이 같이 있었으면 좋았을 것 같다. 물론 프로토콜 레벨에서 어떻게 처리를 해야 되는지에 대한 사항이 챕터 6에서 저술되어있긴하지만, 공부를 목적으로 하는 학생들이 따라가기에는 다소 어려운게 사실인 것 같다. 
  • 지극히 개인적으로는 DID를 바로 도입해보고자 하는 맘에서 책을 읽어보았으나, DID를 어떻게 활용할지에 대해서는 감이 잡혔지만, 도대체 어떻게 구현해야할지는 막막했다.

 

이런 사람에게 추천!

 

  • 차세대 ID 인증 방식인 DID에 대해서 이해하고 싶은 사람
  • 자기 주권 신원증명에 대한 심층적인 분석을 하고자하는 전공자
  • DID를 어떻게 사업에 도입하면 좋을지 고민하고 있는 IT계열 현직자

 

책의 내용 자체가 굉장히 수준이 높다.

ETRI 연구소의 윤대근 연구원님께서 최대한 쉽게 설명하고자 노력하였으나, 아무래도 내용 자체가 전산학 전공이 아닌 이상 완벽히 이해하기는 어려울 듯 하다.

 

일종의 학술 보고서와 같은 내용을 다루기 때문에, 단순히 호기심에 읽기에는 내용 자체가 굉장히 어렵다.

따라서 DID에 대해 공부하고자 하는 의지가 확실히 있으신 분,

그리고 신원 증명 기술에 대해 어느정도의 이해가 있으신 분에게 적합한 책일 것 같다!

 

 

 

 

반응형

'제품 리뷰 > Book' 카테고리의 다른 글

[REVIEW/서평] 핸즈온 머신러닝  (0) 2020.07.10
[Review/서평] 이젠 나도! 자바  (0) 2019.12.10
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


Ubuntu, Linux에서 압축하기 / 압축풀기

 

우분투나 리눅스 계열에서 주로 사용되는 gzip, tar, zip 커맨드를 정리하였다.

 

압축


tar 압축

tar -cvf <압축파일명.tar> <대상파일>

// EXAMPLE
tar -cvf abc.tar abc

 

tar.gz 압축

 

tar -zcvf <압축파일명.tar.gz> <대상파일>

// EXAMPLE
tar -zcvf abc.tar.gz abc

 

zip 압축

 

zip <압축파일.zip> <대상파일>

// EXAMPLE1 : 현재 디렉토리를 aaa.zip으로 압축
zip abc.zip ./*

// EXAMPLE2 : 현재 디렉토리 및 하위 디렉토리까지 모두 압축
zip abc.zip -r ./*

 

압축 풀기


 

tar 압축 풀기

tar -xvf <압축파일명.tar>

// EXAMPLE
tar -xvf abc.tar

 

tar.gz 압축 풀기

 

tar -zxvf <압축파일명.tar.gz>
// EXAMPLE
tar -zxvf abc.tar.gz

 

zip 압축 풀기

 

unzip <압축파일.zip>

// EXAMPLE1 : 현재 디렉토리에 압축 해제
unzip abc.zip

// EXAMPLE2 : 특정 디렉토리에 압축 해제
unzip abc.zip -d <경로>

 

 

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


Ubuntu, Curl undefined symbol: SSLv2_client_method 에러 해결법

 

우분투에서 각종 데이터를 주고받기 위한 프로토콜인 Curl, 

각종 설치 파일을 다운받을 때 사용하곤 하는데, 가끔씩 에러가 발생하는 경우가 있다.

 

대부분의 원인은 Conda와의 충돌로 인해 발생한다.

 

 

 

curl 명령어를 치면 위와 같이 symbol lookup error가 발생하는데,

conda에 깔린 Curl 버전과 로컬에 깔린 curl의 버전의 불일치로 인해 발생하는 문제라고 한다.

 

이를 해결하기 위해서는 번거롭지만 직접 curl이 깔려있는 경로로 가서 curl을 실행시켜주면 된다.

 

 

whereis curl

 

을 실행시켜주면, curl의 경로가 뜨는데 아마 여러개의 경로가 뜰 것이다.

로컬에서 실행되어야하는 curl은 /usr/bin 안에 있는 curl이므로, 해당 경로로 이동하여 직접 파일을 실행시킬 수 있다.

 

cd /usr/bin
./curl <curl로 수행하고자 하는 명령>

 

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


 

Ubuntu, 우분투 디스크 용량 확인 방법

 

우분투에서 디스크 용량을 확인하는 방법은 df 와 du가 있다.

 

먼저 df이다.

 

df -k // kb단위로 남은 용량 표시
df -m // mb단위로 남은 용량 표시
df -h // 적절한 용량으로 자동으로 변환하여 표시
df <Path> // 해당 경로에 해당하는 파티션의 남은 용량 표시

 

다음은 du이다.

 

 

du -a // 현재 디렉토리의 용량을 파일단위로 모두 표시
du -s // 사용되는 총량 표시
du -h // 적절한 용량으로 변환하여 표시
du -h --max-depth=1 // 현재 위치의 하위디렉토리들의 용량 표시

 

 

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


 

Deb 파일 설치하는 법

deb 파일을 설치하는 방법은, runfile보다 훨씬 간단하다.

 

dpkg -i 를 사용해주면 된다.

 

예를 들어 cudnn을 설치하는 경우,

 

sudo dpkg -i libcudnn7_7.6.5.32-1+cuda10.2_amd64.deb

 

위와 같이 입력해주면 정상적인 설치가 가능하다.

다만, sudo 권한을 주지 않으면 설치가 되지 않을 수 있기 때문에 sudo 권한을 꼭 주어야 한다.

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


CUDA를 runfile 형태로 다운받을 때 발생하는 에러 해결법

 

CUDA를 우분투 환경에서 runfile 형태로 설치하는데, 자꾸 에러가 발생했다.

 

Installation failed, See log at /var/log/cuda-installer.log for details.

 

대부분의 경우, root 권한으로 시작하지 않아서 생기는 문제이다. 

 

1. root 권한이 아니여서 에러가 났을 경우

아래와 같이 실행하면 문제가 해결된다.

 

sudo ./cuda_10.2.89_440.33.01_linux.run

 

문제는 root 권한을 줘도 해결되지 않는 경우이다.

 

2. Install of driver component failed 에러가 났을 경우

이 경우에는 다른 로그파일을 확인해봐야한다.

 

cat /var/log/nvidia-installer.log

 

ERROR : You appear to be running an X server; please exit X before installing.

대부분의 ubuntu 사용자들은 위와 같은 에러가 발생했을 것이다.

 

ubuntu의 GUI기능을 수행하는 기능으로, GPU 드라이버를 설치해야 하는데, X server가 GPU를 점유하고 있어 설치가 불가능한 상황이다.

먼저 x server를 꺼주고, runlevel을 3으로 조정한 뒤, run 파일을 실행하면 해결된다.

 

sudo service lightdm stop // x server 중지
sudo init 3 // runlevel 3으로 조정
sudo ./cuda_10.2.89_440.33.01_linux.run // 설치 실행

<< 설치 완료 >>
sudo service lightdm start // x server 재시작

 

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


Run 파일 설치하는 법 / Run File 설치하는 법

ubuntu를 사용하다보면, run 파일을 통한 설치를 진행해야 하는 경우가 있다.

하지만, ubuntu 환경에 익숙하지 않은 분들은, 어떻게 설치를 진행해야하는지 모르는 경우가 있다.

 

ubuntu는 결국 리눅스이기 때문에, 윈도우처럼 단순히 더블클릭만으로 설치가 어렵다.

run file은 실행을 통해 설치를 하는 방식으로, 일반적으로 다운로드 받은 후에는 실행권한이 없어 실행이 되지 않는다.

 

 

cuda 설치를 예를 들어보자면, 위와 같이 흰색 글씨로 적혀 있는 파일은 실행권한이 없는 것을 의미한다.

실행이 가능하도록 파일을 변경해준다.

 

chmod a+x cuda_10.2.89_440.33.01_linux.run

 

실행이 가능한 파일 형태로 바뀌었음을 확인할 수 있다. 

 

./cuda_10.2.89_440.33.01_linux.run

 

이제 만들어진 파일을 실행시키면 설치가 진행된다.

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


SSH - port 22: Connection Refused 해결법

 

처음 설치한 ubuntu 서버 혹은 ubuntu에는 ssh 연결이 되지 않는다.

ssh-server가 깔려있지 않기 때문인데, 에러가 Connection Refused로 뜨다보니 다들 포트포워딩이나 방화벽문제로 혼동하는 경우가 많다.

 

물론 진짜 포트포워딩이나 방화벽 문제일 수도 있지만,

새로 설치한 ubuntu거나, ssh-server를 설치한 기억이 없다면 아래 커맨드와 함께 ssh server를 설치하면 해결된다.

 

sudo apt-get install openssh-server

 

설치가 완료된 후, 정상적으로 데몬이 작동하는지 확인하기 위해 아래 커맨드를 입력할 수 있다.

 

netstat -ntl

 

 

정상적인 설치가 완료됐을 경우, 22번 포트가 열려있다는 것을 확인할 수 있다.

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


Putty inactive 현상 방지 및 연결 유지하기

 

원격 접속을 위해 putty를 사용하다보면, 아래와 같은 inactive 창을 자주 보게된다.

특정 시간동안 명령을 아무것도 입력하지않으면 putty가 비활성화가 되고, PuTTY(inactive)로 상태표시줄에 표시된다. inactive 현상이 걸린 프롬프트는 어떤 입력을 하더라도 반응이 없고, 다시 복구가 되지도 않는다.

 

물론 저 상태에서 오른쪽 마우스를 눌러 reset을 할 수는 있지만, 여간 귀찮은 것이 아니다.

 

 

이를 해결하기 위해, 매직 패킷을 일정 시간마다 보내서 inactive 상태를 방지하는 옵션이 있다.

 

 

 

 

putty의 기본 메뉴에 있는 Connection을 누른 뒤, 

기본값이 0으로 되어있는 Seconds between keepalives를 100으로 변경한 뒤 접속을 진행하면 100초마다 한번씩 매직 패킷을 보내 Putty의 비활성화를 방지할 수 있다.

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,
반응형


ImportError: libSM.so.6: cannot open shared object file: No such file or directory 해결법

 

 

 

cv2를 import할때 발생하는 에러로, 패키지간의 버전이 꼬였을 때 주로 발생하는 듯 하다.

 

해결하는 방법은 단순 재설치면 충분하다.

 

apt-get update
apt-get install -y libsm6 libxext6 libxrender-dev
pip install opencv-python

 

반응형
블로그 이미지

Hyunsoo Luke HA

석사를 마치고 현재는 Upstage에서 전문연구요원으로 활동중인 AI 개발자의 삽질 일지입니다! 이해한 내용을 정리하는 용도로 만들었으니, 틀린 내용이 있으면 자유롭게 의견 남겨주세요!

,