6월 8일 주간기술보고


#1

지난주는 며칠 늦었지만 오늘은 마침 집에서 심심하니 뒹굴고있던 차라, 재빨리 작업합니다 ㅎㅎ

다이달루스

지난주 다이달루스 팀은 React-Polymorph 라이브러리의 최신버전인 React16을 업그레이드 통합했습니다. 작업완료후 코드 리뷰 및 테스트 단계입니다.

일부 시스템에서 페이퍼월렛 인증서 인쇄가 안되는 이슈를 해결했습니다.

보안개선 차원에서 팀은 다이달루스 렌더링 단계에node.js를 통합하는것을 빼기로 했습니다.
(node.js는 서버사이드에서 구동되는 비동기스크립트언어. 몇년전부터 IT업계에서 많이 쓰는 핫한 언어입니다. 기능은 강력하지만 스크립트 언어의 태생적 한계로 보안문제가 좀 있긴 합니다. 다이달루스 팀이 현명한 결정을 한것으로 생각됩니다.)

팀은 다이달루스 스토리북에 지금까지의 지갑 화면을 추가했습니다. 스토리북은 UI 프로토타입을 빠르게 구현하도록 돕는 UI개발환경이고, 기존 지갑 화면 추가를 해놓으면 UI개발이 훨씬 수월할것으로 보입니다.

유지보수차원에서, 다이달루스 지갑의 수신화면상에서 사용된 지갑 주소 토글링, 다이달루스 업데이트 메카니즘 등의 인수테스트를 위한 구현을 시작했습니다.

지갑 백엔드

지난주부터 새 지갑 사양 및 개발에 다시 집중했습니다.
개발자 두명이 협업해서 시너지효과를 냈는데, 트랜잭션 생성을 위한 선택입력 기능 구현, 수수료쪽 작업에 시간을 보냈습니다.
특히 수수료 추정산출 기능의 코드를 확장했고, 에이다의 송신자/수신자 수수료 지불여부를 지정하는 일반화의 의미로 ExpenseRegulation (지출에 관한 법칙) 을 도입했습니다.
선택입력 기능 작업에서는 UTxO가 최소화된 상태로 완전무결하게 유지되도록 노력했습니다. 다양하게 시뮬레이션하면서 시험중입니다.
다른 팀원은 저장소의 마이그레이션(데이터 이전)작업을 계속 했습니다. (세부 작업 내역에 관한 이야기가 있지만 간단히 이야기하자면) 신뢰할수 있는 데이터의 대부분이 로컬 저장소에 있어서 상당부분 참고해가며 복구를 하고있습니다.
또 다른 팀원은 ACID (트랜잭션의 4가지 필수요소인 원자성, 일관성, 고립성, 지속성) state 구현을 시작했습니다.

네트워킹

지난주 통신 프로토콜 설계 작업 착수했고 동기식 request/response를 탈피하려는 목표를 수립했습니다.
(웹페이지를 예로 들면 어떤 콘텐츠의 변화를 보기 위해 요청하면 그 페이지 자체가 새로고침되고 보여지는 것을 동기식, 그 페이지가 새로고침되지 않으면서 일부 콘텐츠만 바뀌는 것을 비동기식이라 합니다. 네트워크 레이어에서의 비동기식 지향은 좀더 단순화하고 코드 재사용성을 높이는 구조로 전환하려는것 같습니다.)

팀 구성원은 모든 데이터 및 제어 메시지에 대해 단일 양방향 채널을 사용하여 새로운 노드 간 통신 프로토콜 구현을 스케치하기 시작했습니다.

개발환경팀(DEVOPS)

지난주 KEVM 테스트넷, 카르다노 1.2, 다이달루스 0.10 출시 지원을 했습니다. 문제발견시 수정, 진단 작업이 주를 이뤘습니다.
Windows용 다이달루스 설치 프로그램이 이전 버전을 자동으로 대체하지 못할는 이슈가 있었습니다.
(실제로 이번에 새로 지갑 다운로드받아서 설치하는데 실패하신 분들이 커뮤니티 에 몇분 보이시더군요.) 그리고 카르다노 런처가 로깅이 잘 되지않는 현상이확인 되엇습니다. 이 두 가지 문제를 수정했고 곧 핫픽스 릴리스 후보로 올려 QA테스트합니다.

카르다노 탈중앙화 위임연구 및 설계

인센티브 설계문서를 작성중이며, 통화 확산이 인센티브 메커니즘에 어떻게 작용하게될지에 대해 회의를 갖고 논의했습니다. 연구 논문은 12월에 열리는 컨퍼런스를 목표로 7월 말/8 월 초에 제출할 예정입니다.
그리고 다음과 같은 내용의 동영상을 게재한 3개의 블로그를 엽니다.

  • 스테이크 풀 레벨에서 sybil공격에 대한 대책이 어떻게 되는가? (sybil 공격은 예를 들어 디도스처럼 여러개의 ip, 계정, 회선 등을 가지고 다양한 루트로 공격해서 시스템을 무력화하는 방법을 말합니다.그러니까, 사실은 한명이 시스템에 접근해 있는데, 여러명이 뭘 한거서럼 속이는 거죠.)

  • 시스템을 위한 분산화 최적 레벨은 무엇인가?

  • 런칭 전 최종 통화 정책은 무엇인가?

GOGUEN

  • 기초연구
    지난 주 접근적 연구의 방법의 전형을 만드는 데에 진도를 뺐습니다. 이 연구방법을 IOHK 연구자들에게 확산시키고 있습니다.

  • 개발언어 및 가상머신
    Reagan의 5M (작업수행기간 단위이긴 한데 1M이 얼마동안의 기간인지는 모르겠네요) 테스트를 성공적으로 완료했습니다.

  • 최종사용자 와 외부개발자
    외부개발자 및 최종사용자와의 만남은 이 프로젝트의 큰 부분을 차지하기 때문에 Goguen 출시와 다양한 기능을 지원하기 위해 StackExchange 사이트 (Q&A사이트입니다.) 활성화 준비에 여념이 없습니다.

  • 테스트넷
    지난주 KEVM 테스트넷을 성공적으로 시작했습니다. 물론 테스트넷 지원도 할것입니다. 최대한 노력하고있습니다.
    또한, IELE 테스트넷을 준비중이고이번 테스트넷을 통해 얻은 경험을 활용할것입니다.

거래소

V1 API 관련 핵심 작업핵심이 끝났고 1.3.0으로 출시될 것입니다. 향후 개발 전략에 대한 아웃라인을 짜고있습니다.

공고

(지난 주에 이어… IOHK에 함께할 엔지니어 모집중이네요 ㅎㅎ)


카르다노 주간기술 보고 해설이 업데이트 되었습니다. (feat. Aeropirate)
카르다노 주간기술 보고 해설이 업데이트 되었습니다. (feat. Aeropirate)