5월 31일 주간기술보고

좀 늦었군요…

주간하이라이트

  • 지난주에는 다이달루스 유지보수에 집중했습니다. React16버전 업그레이드가 가장 큰 변화입니다.
    (react-polymorph 라이브러리를 지갑의 UI 도구로 쓰고있는데, 라이브러리 코드의 근본적인 업그레이드가 있어 그것을 반영한다는 내용이네요)
    또한 유지보스 차원에서 NPM의 취약점 점검을 위한 보안감사를 실시했습니다.
    (NPM은 다이달루스의 구현 및 구동환경인 패키지 관리자입니다. 개념은 위키문서를 참고하시면 됩니다. npm (소프트웨어) - 위키백과, 우리 모두의 백과사전)
    여러 유지보수 작업도 실행했지만 굳이 디테일하게 알 필요까지는 없습니다.
    그외 UI 개선작업도 수행했습니다.

월렛 백엔드

지난주 TPS (전송계층보안) 검사를 계속 수행했습니다. CSL(cardano settlement layer)에 소스코드 병합 작업을 남겨두고 있고, 다이달루스 설치관리자 구현 작업을 해야합니다.

새로운 지갑사양 정리 및 그에따른 개발을 진행하려고 합니다 ( 다이달루스 지갑은 클라이언트든 백엔드든 카르다노 프로젝트가 끝날때까지 작업이 계속됩니다. KEVM, IELE의 메인넷이 추가되고 스마트컨트랙트가 작동하기 시작할 때도 작업이 계속 됩니다.)
팀 개발자는 트랜잭션 수행 계층을 들여다보는데 일주일을 썼습니다. 개선점, 해결할 이슈등이 많이 있습니다.
또 다른 개발자는 입력선택(input selection) 연구를 시작했습니다. 트랜잭션 수행계층 구현에 협업했고 지갑 사양의 Coq (이전 주 문서 참고) 공식화의 첫 버전 검토중입니다.

다른 개발자는 작업을 할당받은게 트랜잭션 수수료 산출에 관한 것입니다. 적정 수수료 단가 추정 산출 기능을 완료했고 테스트해보니 오차가 좀 있다고 하네요. 이 기능을 좀더 다듬을 것입니다.

팀 전체로는 데이터 계층의 마이그레이션 작업에 일주일을 썼습니다.

네트워킹

블록 검증 및 적용 속도 개선을위한 노력을 계속 하고 있습니다.
그리고 deserialization에 대해서 작업을 하고 있습니다.
(복호화된 데이터를 일일이 다 기록하고 이어서 기록하는작업입니다. 예를 들어 abcd라는 텍스트 데이터를 인코딩하면 e2fd35f32f1d4G12fnbff3이라고 변환되다면, 이것을 평소에 쓰고 있다가 도로 원래의 데이터인 abcd 로 바꾸어주는 작업을 복호화라 합니다. abcd는 데이터 맵의 메모리에 저장이 되는데 만약 100번째 번지에 할당해서 저장되었다고하면 101째부터 다음 데이터 efgh를 이어서 저장하고 이것을 계속 이어서 인코딩, 디코딩할 수있도록 하는 작업이 deserializtion입니다… 제 설명이 더 어려운것같네요…^^;;; 죄송… 이 이상 쉽게 설명이 안됩니다 ㅠㅠ )

지난주에 다이달루스 지갑 작업진행률 동기화 표시 작업은 끝냈습니다.
개발자가 피어 검색을 위한 라우팅 테이블 유지관리를 완료했고 검토 전입니다.
(우로보러스 구동시 위임자와 슬롯리더를 서로 연결해주는 데 필요한 기초작업이라 이해하시면 됩니다.)

DEVOPS(개발환경지원팀)

최근 출시 된 KEVM testnet 준비를 계속했습니다. 곧 나올 Cardano Testnet을 대비해 Windows, macOS, Linux 모두 다이달루스가 잘 설치되는지 확인했습니다.
한 OS 내에서 메인넷(CSL)버전과 테스트넷 버전이 모두 실행이 된다고 합니다. 관련 작업이TLS 클라이언트 측 인증서를 사용하여 진행됩니다.
업데이트 메커니즘이 잘 작동하는지 확인차 더 테스트합니다.
KEVM testnet이 돌아가는동안 적절한 제네시스 블록을 가진 Cardano testnet을 찾아서 연계해주고 faucet 백엔드 통합에 중점을 둘 것입니다. (faucet은 KEVM 테스트넷에 이더리움 토큰을 입력하면 카르다노 토큰으로 변환해주는 기능을 가진 백엔드의 응용프로그램입니다.)

향후 Cardano 1.2 및 Daedalus 0.10에 대한 출시 대상을 선정하고 QA가 승인했습니다. 다음 주 월요일에 Devnet이 이 릴리스를 메인넷 블록 체인에 대한 업데이트로 제안 할 계획 이었기 때문에 화요일에 발표 될 예정입니다. (6월5일이군요)

CARDANO DECENTRALIZATION Delegation(카르다노 탈중앙화 위임연구)
연구팀은 인센티브에 관해 토론했고 회의내용 관련한 재배포 방안을 논의했습니다.

  • 인센티브
    핵심 연구자가 설계문건에 기술적 사양에 대한 작성을 했고 수석연구원과 함께 특히 '보상’에 관한 문제제기를 하고 논의했습니다.

GOGUEN

  • 기초연구
    스마트컨트랙트 관련한 것입니다. 기초연구는 완료단계에 근접해있습니다. 사이드체인, 다중화폐, chimeric ledger에 대한 작업들이 그 내용입니다.
    (분석설계 단계인 것입니다. 실제로 코딩하고 만드는 단계가 아닙니다)
    여러 문건을 작성하고 어떻게 카르다노 프로젝트 특유의 개발 프로세스를 지켜가며 할지 고심중입니다. 특히 프로토타입 (중간에 확인해볼 수있는 결과물) 을 어떻게 만들어낼지에 대한 고민을 하고있습니다.

  • 언어 및 가상머신(VM)
    VM은 K FRAMEWORK를 사용해서 구축중입니다. 또한 하스켈을 기반으로 하는 스마트컨트랙트 언어 쪽을 집중했습니다.(PLUTUS겠네요) 코어와 라이브러리의 사양을 정리하고있습니다. Malowe 연구도 계속합니다.

  • 최종사용자와 외부 개발자
    최종사용자 특히, 외부개발자의 요구사항에 대응할 필요가 있어 이에 대응해줄 전담자를 물색중입니다.

  • 테스트넷
    2018년 5 월 28일 K프레임워크 사양을 사용하는 KEVM 테스트 넷을 성공적으로 출시했습니다. 자세한 내용은 https://testnet.iohkdev.io/goguen에서 확인할 수 있습니다.

거래소

입력 선택 절차를 마무리 할 때까지 V1 API 구현 및 출시 보류중입니다. 이 작업은 보이는 것보다 훨씬 복잡합니다. 수수료를 적용문제가 그것인데, 몇 가지 중요 전략이 있습니다.

  • 수수료 분배 방법 : 입출력에 비례하여 모든 출력 결과가 똑같게 적용.
  • 적용시 입력 또는 출력이 0 아래의 음수이면 어떻게 하는가?
  • 반올림 처리문제 : 예) 두 출력간에 비균등 분할되는 비용이있는 경우

이러한 문제들을 해결해야 합니다.

기타

  • 하드웨어 지갑
    지갑 통합 백엔드 작업은 잘 진행되고 있습니다. (나노 S레저와의 호환문제네요.) 두개가 완벽하게 통합되면 출시할 예정입니다. 하드웨어에서 새 지갑을 생성하는 작업은 성공했습니다. 지갑에서 에이다를 인출하는 기능 구현은 진행중이며 주말에 완료될 것으로 보입니다.

  • 다중서명 지갑
    고도의 설계 문서엔 다중서명 및 지갑 사용자간의 커뮤니케이션이 분할되어 작동합니다. API가 합의되어있어야 가능한데, 이것을 위해 복잡하고 높은 수준의 설계문서가 필요한 것입니다. 다중서명이 스테이크에 영향을 미치는지에 대한 논의도 했고 문제가 되지는 않을것이라 판단하였습니다.
    개발은 3파트로 분리해서 진행합니다. 코어관련한 부분은 작업계획 인원이 모두 준비되어있고, 다이달루스 팀은 커뮤니케이션, UI작업을, 월렛팀은 다중서명 통합작업을 합니다.

  • 다이달루스앱 플랫폼
    UI가 설치를 좀더 쉽게하도록 개선되었습니다. UI에서 '앱 설치’버튼을 클릭하여 앱을 설치할 수 있습니다.(모바일앱 말하는거 아닙니다.)

공지

IOHK는 현재 거래소 경력 기술자, 개발 경험이 있는 관리자, 서버 엔지니어, 사이버 보안 관리자, 소프트웨어 테스트 엔지니어 등 여러 인재들을 찾고 있습니다. 자세한 내용은 IOHK 채용 정보 페이지를 참고하십시오.
(구인공고네요 ^^)

2 Likes

수고하셨습니다!! 감사합니다 ^^