[Raven] Raven Devs Meeting(31 May 2019) // 5월 31일 레이븐 개발자 회의 분석 및 논평 v1.1

(English) 한국어 버전은 아래쪽에 있음

□ Analysis of the meeting by subject

  ㅇ Tags and Restricted Assets Development Status
    - Currently, some developers are focusing on developing tags and restricted assets. I hope to get a goo result and I will go through a lot of testing, and there will be a lot of changes.
    - The developers will share the development status of tags and restricted assets posted on Github, discuss and improve them through reviews and comments.
    - In addition, some developers said they were using Qt* for the development and testing of tags and restricted assets and hoped for some progress.
     *Qt : Cross-platform or software development kit for GUI in computer programming area

    - Initial development of tags and restricted assets will take about one to two weeks at Qt and will then be posted on testnet.

  ㅇ Mobile Wallet and Mnemonic
    - Let me say its relevant background information first. As cryptocurrency wallet technology advances, more usable and more broadly compatible industrial standards appear, some of which are two wallet standards by Bitcoin Implementation Proposals(BIP).
    - First of all, it is about BIP-39. This proposal is defined for a list of some words to create a deterministic wallet*, which is often comprised of 12 to 24 words, or mnemonic code.
     *Deterministic/Non-deterministic wallet : It is divided into two kinds of wallets, depending on how to produce keys. Non-deterministic/Random wallets are mutually independent because all keys are generated from different random numbers. A good example is Ethereum Wallet, which is somewhat inconvenient in terms of management, as a single wallet file(e.g., JSON encoding file) is created according to a randomly generated individual key. On the other hand, 'Deterministic/Seeded' wallets are complementary because every key is generated from a single seed(Master key concept). A good example is Raven mobile wallet, which is relatively simple to manage and use, as you can always recover your wallet with only 12 words.
< Deterministic(Left) and Non-deterministic wallet(Right)(https://potensj.tistory.com) >

    - Next, it is about BIP-44. The proposal is designed to create 'Hierarchical Deterministic' wallets, more advanced ones. They are designed to easily generate many keys from a single seed and lead easily through a tree structure. In addition, this hierarchical critical wallets are a very useful mechanism for generating keys hierarchically from the initial seed, protecting personal information in transactions such as generating new addresses every time a transaction occurs, making it difficult to hack, and managing the wallets(address) derived from numerous keys.
< 'Hierarchical Deterministic' wallets(https://potensj.tistory.com) >

    - Back to the devs meeting. Tron said we need to discuss the mnemonic code in mobile wallets. This issue involves the implementation of synchronization(Footnote : sync, process of scanning a blockchain to find assets in a wallet) such as reinstalling a wallet and connecting to a network for the first time in a long time. When synchronizing, we proposed to add 'optional' information, such as 'number of days after Bitcoin Genesis block generation on 3 January 2009. It means specific weeks after bitcoin Genesis block generation. For example, 10 weeks can be replaced with 10 when we replace the Genesis block generation week with 0.
< How to create mnemonic from entropy and SHA256(https://potensj.tistory.com) >

    - The photo just above shows the process of creating mnemonic code(12 words in this case) from 132 bits combined with a checksum 4 bit extracted from SHA256.
    - Back to the devs meeing, Tron proposed using some of the 128 bits generated(to create mnemonic, etc) as a number instead of entropy. For example, 1) 96 bits of the existing 128 bits will be remained as entropy and the remaining 32 bits will be time stamp*, or 2) 128 bits will be entropy as previously used, but certain numbers(i.e., certain weeks after the Genesis block) will be used to speed up blockchain scan and sync. In the first case, 32 bits are used as a time stamp, disadvantageous from security side, and in the second case, it is a bit inconvenient to fill out a specific number in the existing method."
     * Timestamp : In the real world, the time is expressed as 00:00:00 but in the digital world, unique time record system exists, such as Unix time. Bitcoin also records time based on transaction occurrence time. The timestamp configuration at 32 bits as mentioned by Tron is to include this Unix time so that it can be set to work from the specific block generation criteria when scanning and synchronizing blockchain.
    - Although the proposal for fast blockchain scan and synchronization operation of Tron was echoed by other devs, some said that the GUI method(Footnote : moving the synchronization starting block by using mouse or typing the number) was more intuitive than the method proposed by Tron, and others agreed with it.

  ㅇ Current status of messaging, dividends, and voting development
    - Development of messaging has been almost completed, and its development and testing schedules are the same as restricted assets. As mentioned before, messaging and restricted assets are currently being built using Qt.
    - We have some devs who develop dividends now, but can't check what is going on because they are not in the devs meeting. Others who develop dividends will join us at the next meeting.
    - The development of voting will come in the next step after restricted assets are deployed on testnet.

  ㅇ When official Raven roadmap published
    - It could be christmas gift, hoping to be completed by the end of 2019.

□ Personal Comment

  ㅇ Stability and Convenience
    - Through this developer conference, we learned more about the mechanism of Raven's wallet, as well as thinking about network stability and user convenience.
    - The current status of Raven's wallet development is to achieve user convenience at minimum of changes saving network stability.
    - At the same time, the devs are working on various functions such as tags, restricted assets, messaging, dividends and voting.

  ㅇ The way it's been through and the way it will go through
    - This open-source project, which may be nothing, has been developed and improved by volunteer wokers as they get together for the same vision and goals.
    - The 'potential' has been transformed to 'value' based on volunteers and its community and it still continues.
    - Some say 'overlapping of the pasts is the present.' Whether the overapping is inevitable or accidental, the important thing is that the future of Raven, which we are interested in and participating in, will also be the overlapping of our current paths. In this sense, we hope that we, Raven supporters, enjoy ourselves in our own way and see how Raven draws its future.


□ 소재별 회의 내용

  ㅇ 태그(Tags)와 제한자산(Resticted Assets) 개발 현황
    - 현재 일부 개발자들이 태그와 제한자산의 개발에 매진하고 있다. 좋은 방향으로 추진되기를 바라며, 많은 테스트과정을 거칠것이고, 자연스럽게 많은 변화가 있을것이다.
    - 해당 개발자들이 깃헙(Github)에 올린 태그 및 제한자산에 대한 개발현황을 공유하고, 리뷰 및 코멘트를 통해 논의 및 개선할 것이다.
    - 또한 해당 개발자들은 태그와 제한자산의 개발과 테스트를 위하여 Qt*를 활용하고 있으며 진전이 있길 바란다고 말했다.
     *Qt : 컴퓨터 프로그래밍 분야에서 GUI(그래픽 유저 인터페이스)개발에 활용되는 상호호환 소프트웨어 개발도구(Cross-platfrom softward developmen)로 누구나 무료로 사용할수 있는 오픈소스 개발도구이기도 함.
    - 전반적으로 태그와 제한자산에 대한 초기 개발은 Qt에서 1-2주정도 소요될 예정이며, 이후 테스트넷에 올려질것이다.

  ㅇ 모바일 지갑과 복구 암호(니모닉)
    - 우선 개발자들이 논의한 내용을 살펴보기 이전에 관련 배경지식에 대해 알아보자. 암호화폐 지갑기술이 발전하면서 보다 사용하기 편하고 보다 폭넓게 호환가능한 산업표준들이 등장하였고, 여기서는 본 개발자 회의에서 언급된 것이면서, 비트코인개선제안(Bitcoin Improvement Proposals, BIP)에 의한 지갑표준 2가지에 대해 알아보겠다.
    - 우선 BIP-39관련이다. 이 제안은, 결정론적 지갑*을 만들기 위해 기억하기 쉬운 단어 목록인 복구암호(필자주: 보통 12~24개의 단어로 구성되며, 니모닉코드(Mnemonic code)라고도 한다)에 대하여 정의한 내용이다.
     *결정적-비결정론적 지갑 : 지갑을 구분할때 생성된 키들간의 관계에 따라 결정적 지갑과 비결정적 지갑으로 나뉜다. '비결정적(Non-deterministic/Random) 지갑'은 모든 키들이 서로 다른 난수로부터 생성되므로 상호 독립적이다. 대표적인 예로 이더리움 지갑이 있으며, 랜덤으로 생성된 한 개인키에 따른 지갑파일(예: JSON인코딩파일)이 하나 만들어지는데 각 키에 따라 별도의 지갑이 존재하므로 관리와 사용면에서 다소 불편하고 번거롭다. 반면, '결정적(Deterministic/Seeded) 지갑'은 하나의 모든 키들이 하나의 시드(마스터키 개념)로부터 생성되므로 상호 보완적이다. 대표적인 예로 레이븐 모바일 지갑이 있으며, 12개의 단어만 알면 언제든 본인 지갑 복구가 가능하므로, 관리와 사용면에서 상대적으로 간편하다.

    - 다음으로 BIP-44관련이다. 이 제안은, 결정론적 지갑보다 한차원 진보한 '계층 결정적(Hierarchical Deterministice)' 지갑을 만들기 위한 것으로, 하나의 시드에서 더 많은 키들을 쉽게 생성하고, 트리구조를 통해 쉽게 유도하는 설계를 정의한 내용이다. 또한, 이 계층 결정적 지갑은 최초 시드로부터 계층적으로 키를 생성하는데 거래가 발생할때마다 새로운 주소를 생성하여 해킹을 어렵게 하는 등 거래 또는 조회시 개인정보를 보호하며, 수많은 키와 그로부터 파생되는 지갑(주소)를 관리하는데 매우 유용한 메커니즘이다.
< 계층 결정적 지갑 도식화(https://potensj.tistory.com) >

    - 그러면 다시 개발자 회의로 돌아가 보자. 트론은 모바일 지갑에서의 니모닉 코드에 대한 논의가 필요하다고 말했다. 이 사안은 지갑 재설치, 오랜만에 네트워크 접속 등 동기화(Sync, 블록체인을 조회하여 지갑 내 자산을 찾는 일련의 과정)를 실행하는 것과 관련된 사안이다. 동기화할때, 특정 블록으로부터 동기화를 하게 하여 시간을 절약할수 있도록 숫자(필자주: 여기서 숫자는 2009년 1월 3일 비트코인 제네시스 블록생성 이후의 기간중 특정 주간을 의미하는 것으로, 가령 제네시스 블록생성 주간을 0으로 치환하면 10주후 주간은 10으로 치환할수 있음)와 같은 '선택적인(optional) 추가정보'를 포함시키자고 제안하였다.
< 엔트로피 및 SHA256으로부터의 니모닉 생성과정(https://potensj.tistory.com) >

    - 바로 위 사진은 128비트 엔트로피와 SHA256으로부터 추출된 체크섬 4비트가 결합된 132비트로부터의 니모닉(여기선 12개 단어) 생성 과정을 보여주고 있다. 바로 뒤의 내용이 어려울것 같아 잠시 언급해봤다.
    - 다시 개발자회의로 돌아와서, 트론은 (니모닉 등을 생성하기 위해) 생성된 128비트 중 일부를 엔트로피(필자주 : 무작위 수준을 결정하는 것) 대신 숫자로 사용하자는 것을 제안하였다. 가령, 1)기존의 128비트 중 96비트는 엔트로피로 남기고 나머지 32비트는 타임스탬프*로 구성하거나 아니면 2)기존대로 128비트를 엔트로피로 하되 특정 숫자(즉, 제네시스 블록생성 이후 특정 주간)를 사용케 하여 블록체인 조회 및 동기화 작업이 빨라질수 있을 것이다. 1번의 경우, 32비트가 타임스탬프로 활용되므로 시드 보안측면에서는 불리할수 있고, 2번의 경우, 기존 방식에 별도의 특정 숫자를 기입하는 약간의 번거로움이 있다고 말했다.
     * 타임스탬프(Timestamp) : 시간을 기록하는 의미로, 현실세계에서는 0월 0일 0시 0분으로 표현하지만 디지털세계에서는 유닉스타임(Unix time) 등 그 세계만의 고유한 시간기록체계가 존재하며, 가령 비트코인은 거래발생시간을 기준으로 시간을 기록하고 있음. 트론이 말한 32비트에서의 타임스탬프 구성은 이 유닉스타임을 포함시켜 블록체인 조회 및 동기화 작업시 특정 블록생성 기준부터 작업을 하게끔 설정하기 위함
    - 트론의 빠른 블록체인 조회 및 동기화 작업방식 제안은 다른 개발자들의 공감을 샀으나 일부 개발자는 코딩으로 숫자를 포함하여 동기화 시작 블록을 고르는 방식말고, 보다 직관적으로 GUI방식(필자주: 동기화 개시 블록을 마우스로 이동하여 클릭한다던지 숫자를 타이핑하는 방식)을 도입하자고 말했고 다른 개발자도 트론이 제안한 방식보다 더 간편하다고 말하며 공감하였다.

  ㅇ 메시징(Messaging), 배당(Dividens), 투표(Voting) 개발 현황
    - 메시징에 대한 개발은 대략 완료되었고, 개발 및 테스트 일정은 제한자산과 같으며, 앞서 언급했듯이 현재 Qt를 활용하여 메시징과 제한자산을 구축중이라고 말했다.
    - 배당에 대한 개발은 추진중인 개발자가 있으나 개발자회의에 불참하고 연락이 닿지 않아 확인할수 없으며, 배당 개발을 하고 있는 다른 개발자들이 있으니 알아보고 다음 회의때 공유하겠다.
    - 투표에 대한 개발은 앞서 언급된 제한자산 등이 테스트넷에 올려지고 난 다음 단계에 다룰 예정이다.

  ㅇ 레이븐 공식 로드맵 공개
    - 2019년 말까지 작성 완료되길 바라며 크리스마스 선물이 될수도 있다.

□ 개인 논평

  ㅇ 안정성과 편의성
    - 이번 개발자 회의를 통해서 레이븐 지갑의 메커니즘에 대해 좀 더 알게 되었고, 더불어 네트워크 안정성사용자 편의성 역시 생각하는 계기가 되었다.
    - 현재 레이븐의 지갑 개발 현황은, 네트워크 안정성을 해치지 않는 범위내에서 최소한의 변경을 하여 최대한의 사용자 편의성을 달성하려고 한다.
    - 물론 그와 동시에 태그, 제한자산, 메시징, 배당, 투표 등 다양한 기능을 개발하고 구현하기 위해 노력하고 있다.

  ㅇ 걸어온 길과 걸어갈 길
    - 아무것도 아닐수도 있는 이 오픈소스 프로젝트에, 서로 다른 길을 걸어왔고 서로 다른 능력을 가진이 이들이 모여, 서로 같거나 상호 보완이 가능한 비전과 목표를 향하고 있다.
    - 여기서 발현된 '잠재가능성'은 점점 더 많은 이들의 관심과 참여가 모여 어느순간 '가치'가 발생하였고 현재까지 이어지고 있다.
    - 혹자는 '과거들의 중첩이 현재'라고 말한다. 그 중첩이 필연적인지 우연적인지 모르겠지만 중요한 것은 우리가 관심을 갖고 참여하는 '레이븐의 미래 역시 현재 우리가 걸어가는 길들의 중첩이 될것'이라는 점이다. 그런 의미에서 현재 레이븐을 지지하하는 우리 역시 나름대로의 방법으로 즐기면서 레이븐이 어떤 모습으로 중첩되어 미래를 그려나갈지 기대해보자.

법적 고지 : 본 게시글은, 투자를 위한 정보제공을 목적으로 작성되었기에 투자결정은 신중을 기하여 주시기 바라며, 참고자료를 토대로 본인 판단하에 내용을 추가, 편집 등 작성되었기에 본인의 허락없이 복사, 배포, 편집 등을 할 수 없습니다.

댓글 쓰기

0 댓글