최신 기능 및 2016 로드맵

소스 노드 : 1576913

멀티 체인 공장 현장에서 업데이트

일반적으로 블록 체인에 대한 블로그 게시물의 변경으로 업데이트 내용을 제공하고 싶습니다. 멀티 체인최근 개선 사항 및 2016 년 로드맵 측면에서

먼저, 멀티 체인을 다운로드하여 구축 한 수천 명의 여러분 께 감사 드리고 싶습니다. 질문 우리에게 피드백을 보냈습니다. 첫 공개 이후 XNUMX 개월 동안 통계에 따르면 트래픽과 다운로드가 지속적으로 유기적으로 증가한 것으로 나타났습니다. 실제로 이름을 짓지 않고도 MultiChain은 지구상에서 가장 큰 은행, 컨설팅 회사, 금융 기술 및 IT 회사의 장기 실행 블록 체인 파일럿에 성공적으로 사용되었습니다.

우리가 자주 묻는 질문 중 하나는 왜 MultiChain이 오랫동안“알파”에 있었는지입니다. 간단한 답변은 기능 요청으로 폭격을 받았으며 대부분은 우리에게 이해가 되었기 때문에 제품을 베타 버전으로 만드는 대신 이러한 개선 사항을 추가하는 데 집중했습니다. 그러나 MultiChain은 알파 소프트웨어에 대해 매우 안정적이며, 극한의 부하에서 철저하게 테스트했습니다.

또한 블록 체인 플랫폼의 넓은 공간에서 MultiChain을 어떻게 배치하고 있는지 설명하고 싶습니다. 지난 XNUMX 개월 동안 많은 경쟁 제품들이 발표되었고, (준-) 컨소시엄이 형성되었고, 회사들은 수천만 달러를 모금했으며, 때때로 우리는 실제 소프트웨어 릴리스를 보았습니다. 물론 경쟁은 자연스럽고 피할 수 없으며 이러한 다른 플랫폼의 발전을 기대합니다. 의심 할 여지없이 우리는 그들의 최고의 아이디어를 빌릴 것이며 그들이 칭찬을 돌려 줄 것이라고 가정합니다.

그렇다면이 모든 소음에 MultiChain이 어디에 적합합니까? 간단히 말해서, 그것은 제품과 실용성:

  • 안정. 에서 포크하여 비트 코인 코어비트 체인 네트워크에 대한 참조 구현 인 MultiChain은 수년간 수십억 달러의 암호 화폐 가치를 개방형 인터넷에서 관리함으로써 얻은 견고한 안정성과 보안을 바탕으로 구축되었습니다. 분명히, Bitcoin Core 코드베이스에는 구조적 한계가 있으며 결국 우리는 그것을 멀리해야 할 수도 있습니다. 그럼에도 불구하고 현재 사용자 요구 사항의 경우 그렇게하는 데 드는 비용이 이점보다 훨씬 클 것입니다.
  • 사용 용이성. 많은 멀티 체인 사용자는 경쟁 블록 체인 플랫폼보다 사용하기가 훨씬 쉽다고했습니다. 나는 몇 분 안에 제로에서 자신의 개인 블록 체인으로 갈 수 있다고 말한 사람을 몇 번이나 기억하지 못하며, 그들은 나를 믿지 않았습니다. 그러나 그것은 사실입니다 – 단지 지침을 따르십시오 다운로드시작하기 페이지와 자신을 참조하십시오. 의존성, 컴파일, Docker에 대한 혼란이 없습니다. XNUMX 개의 독립적 인 실행 파일과 README 파일 만 있습니다.
  • 특징. MultiChain이 처음 출시되었을 때 오늘날보다 기능이 훨씬 적었습니다. 자산 별 주소 제어, 원자 교환 트랜잭션, 쉬운 트랜잭션 메타 데이터가 없습니다. 추가 할 내용을 어떻게 결정합니까? 단순함 – 우리는 사용자의 말을 듣습니다. 때때로 그들은 후속 자산 발행과 같이 원하는 것을 정확히 알고 있으며, 우리는 기꺼이 준수합니다. 다른 경우에는 달성하고자하는 것을 알고 있지만이를 기능으로 표현하는 방법을 모릅니다.이를 해결하는 것이 우리의 일입니다. 어느 쪽이든, MultiChain의 로드맵은 사용자 피드백에 의해 끊임없이 구동되므로 계속됩니다.
  • 비트 코인 호환성. 블록 체인 솔루션을 구축하는 경우 노드가 그림의 일부에 불과하다는 것을 알 수 있습니다. 트랜잭션 디코딩, 서명 및 인코딩을 위해 모호한 언어의 모바일 또는 웹 지갑, 키 관리 솔루션 및 라이브러리가 필요할 수 있습니다. MultiChain은 비트 코인과 최대한의 호환성을 유지함으로써이 모든 것을 가능한 한 간단하고 빠르게 만들 수 있도록 설계되었습니다. 요점을 증명하기 위해 MultiChain은 구성되다 비트 코인 네트워크의 노드로

기본적으로, 우리는 사용자를 기쁘게하고 이것이 상업적 성공을위한 가장 확실한 길이라고 굳게 믿고 있습니다. 그 메모에서 지난 몇 달 동안 추가 된 새로운 기능 중 일부를 설명하고자합니다.

후속 자산 발행 (알파 17)

이 요청은 잠시 동안 있었고 가장 많이 제기 된 질문 개발자 Q & A에서. 그렇다면 왜 그렇게 오래 걸렸습니까? 당신은 우리를 순수 주의자라고 비난 할 수 있습니다. 보시다시피 보안 측면에서 (a) 처음으로 수백만 단위의 자산을 발행하고 대부분이 유통되지 않도록하는 것과 (b) 동일한 자산의 추가 발행을 허용하는 것 사이에는 차이가 없습니다. 유산.

하지만 사용자 관점에서 보면 is 능동적 순환의 유닛을 부업에 앉아있는 유닛과 구별하기가 쉽지 않기 때문에 두 경우의 차이점이 상당히 큽니다. 따라서 오늘 릴리스 된 버전에서 자산을 발행 할 때 해당 자산이 열려 있는지 아니면 닫혀 있는지 결정할 수 있습니다. 열려있는 경우 원래 발급 당사자는 원하는만큼 더 많은 단위를 만들 수 있습니다.

반대로 멀티 체인은 이제 모든 체인에 대해 표준 '번 주소'를 제공합니다. 이 주소는 X로 가득 차 있으므로 해당 개인 키없이 명백하게 작성되었습니다 (분명한 시간이 소요됨). 따라서이 주소로 전송 된 모든 자산 단위는 절대 사용할 수 없으며 투명한 방식으로 파괴됩니다. 안전을 위해 화상 주소를 사용하려면 수신 권한을 명시 적으로 부여 받아야합니다.

API 호출 : issue, issuefrom, issuemore, issuemorefrom, listassets, getinfo 응답 burnaddress 입력란입니다.

멀티 체인 탐색기

알파 17과 함께 무료 및 오픈 소스의 첫 번째 베타 버전을 출시합니다 멀티 체인 탐색기. 이는 비트 코인 사용자가 알고 사랑하는 블록 체인 탐색기와 유사한 멀티 체인 블록 체인의 글로벌 상태에 대한 직관적 인 웹 기반보기를 제공합니다. 즐겨 찾는 웹 브라우저에서 편안하게 트랜잭션, 블록, 자산 및 주소와 이들 간의 연결을 빠르고 편안하게 볼 수 있습니다.

멀티 체인 익스플로러는 인기있는 아베 작성된 프로젝트 Python 그리고에 의해 구동 SQLite는. 로컬 MultiChain 노드의 API에 연결되며 자체 포함 된 웹 서버를 포함하므로 추가 종속성이 없습니다. 이 도구를 즐기고 더 나은 결과를 얻을 수 있도록 의견을 환영합니다.

대화식 명령 모드 (알파 16)

멀티 체인은 비트 코인 코어의 포크로서 bitcoin-cli 도구의 이름을 적절하게 바꿨습니다 multichain-cli 물론이야. 이 도구는 MultiChain의 JSON-RPC API를위한 편리한 명령 행 인터페이스를 제공하여 시스템 명령 행에서 API 호출을 보내고 응답이 터미널에 표시되도록합니다. 배후에서 적절한 체인의 구성 파일에서 API 자격 증명을 읽고 JSON-RPC 요청을 작성하고 응답을 디코딩합니다.

MultiChain 사용자로서 우리가 겪었던 좌절은 multichain-cli 모든 API 요청에 대해 별도로 실행해야했습니다. 시스템 오버 헤드 외에 SQL 데이터베이스가 제공하는 일종의 유동적 인 상호 작용을 방지합니다. 그래서 우리는 그것을 고쳤습니다. 알파 16부터 실행하면 multichain-cli [chain-name] 명령이 없으면 대화식 모드로 전환되어 명령을 반복적으로 입력하고 응답을 볼 수 있습니다. 대화식 모드는 기록 (위쪽 및 아래쪽 화살표), 줄의 시작 (Ctrl A) 또는 끝 (Ctrl E)으로 이동하고 다음 (Ctrl →) 및 이전 (Ctrl ←) 단어로 이동과 같은 표준 편집 기능을 지원합니다. .

빠른 서명 확인 (알파 15)

비트 코인 또는 멀티 체인의 성능과 관련하여 가장 중요한 병목 현상은 ECDSA 서명 블록 체인의 보안 모델이 구축됩니다. 원래의 Bitcoin Core 소프트웨어는 서명 생성 및 확인을 위해 OpenSSL이라는 오픈 소스 라이브러리를 사용했지만 문제가 있었지만 작업을 수행했습니다. 가단성즉, 지정된 개인 키 및 페이로드에 둘 이상의 서명이 유효했음을 의미합니다.

최신 버전의 Bitcoin Core에는 ECDSA 서명 및 확인을위한 새로운 라이브러리 인 libsecp256k1. 이 라이브러리는 처음부터 작성했습니다. 세계적 수준의 블록 체인 개발자OpenSSL에 대한 종속성을 제거하고 가단성 문제를 해결하며 몇 배 더 빠르게 수행합니다. Bitcoin Core에서 파생 된 이점 중 하나는 MultiChain이 이러한 종류의 개선 사항을 활용할 수 있다는 것입니다.이 기능은 비트 코인 네트워크에 배포되기 전에 광범위하게 동료 검토 및 테스트됩니다. 알파 15는 libsecp256k1을 사용하여 정확하게 수행합니다.

권한 활성화 (알파 14)

첫 번째 버전의 MultiChain을 개발할 때, 우리는 허가 측면에서 딜레마에 직면했습니다. 한편으로, 우리는 여러 계층의 관리자, 자산 별 권한 및 가중 투표 방식을 사용하여 매우 강력한 권한 모델을 조정하고 구현하는 데 아무런 문제가 없습니다. 다른 한편으로, 우리는 이것이 사용자 관점에서 복잡성을 추가 할 것이며, 반드시 사용자 요구와 일치 할 필요는 없다는 것을 알고있었습니다. 따라서 XNUMX 가지 권한 유형 (연결, 전송, 수신, 발행, 광산, 관리자)과 가장 중요한 권한 변경에 대한 간단한 합의 기반 투표를 포함하는 간단한 모델로 시작하기로 결정했습니다. 우리는이 모델이 시간이 지남에 따라 더 복잡해 지겠지만, 우리 자신의 이론보다는 사용자 요구 사항에 의해 주도 될 것으로 예상했습니다.

이 경우 단순이 실제로 꽤 좋습니다. 그러나 우리와 함께 일하고있는 진지한 파트너가 더 필요한 것이 있습니다. 관리자 권한이있는 멀티 체인 주소는 블록 체인에 대한 모든 유형의 권한을 제어 할 수있는 권한이 있으며 경우에 따라 다른 관리자와 합의 할 수도 있습니다. 그러나이 파트너는 온 보딩을 목적으로 만 다른 사람의 연결을 제어하고 권한을주고받을 수있는 권한을 주소에 부여하고 마이닝 및 자산 발행과 같은 더 중요한 프로세스에는 영향을 미치지 않기를 원했습니다. 그래서 우리는 정확하게 이것을하는 새로운 '활성화'권한을 추가했습니다. 제품에 필요한 기능을 구현하기 위해 비용을 지불하는 파트너의 첫 번째 사례이기도합니다.

월렛 거래 API (알파 13)

비트 코인 코어의 포크로서 MultiChain은 좋은 점과 함께 나쁜 점을 물려 받았습니다. Bitcoin Core의 약점 중 하나는 로컬 노드 지갑의 트랜잭션에 대한 정보를 검색하는 API입니다. 그것은 두 가지 선택을 제공한다 : (a) getrawtransaction 거래의 이진 내용을 해독하지만 지역 지갑에 어떤 영향을 미치는지 설명하지 않는 호출 및 (b) gettransactionlisttransactions 지갑의 관점에서 거래를 설명하는 것을 목표로하지만 거래 당 여러 응답 요소와 혼동되는 방식으로 호출합니다. 설상가상으로, 이러한 통화의 출력을 멀티 체인의 블록 체인 발행 자산 구현과 함께 쉽게 확장 할 수 없었습니다.

따라서이 릴리스에서는 노드의 트랜잭션을 쿼리하기위한 여러 가지 새로운 API가 도입되었습니다. 이 호출의 출력은 대체 된 필드의 모든 유용한 필드를 유지합니다. 또한 각 거래가 각 지갑의 잔액에 미치는 영향, 관련 문제, 권한 수정 방법 및 포함 된 메타 데이터를 설명하는 여러 가지 새로운 필드도 추가합니다. 지갑에서 각 주소의 활동을 분리하는 기능이 도입 된 후 (알파 8) 통화는 지갑의 관점에서 거래를 전체적으로 설명하는 한 쌍과 거래를 전체적으로 설명하는 두 가지 버전으로 제공됩니다. 개별 지갑 주소의 관점.

API 호출 : listwallettransactions, getwallettransaction, listaddresstransactions, getaddresstransaction.

2016에 대한 기대

이는 지난 몇 개월 동안 멀티 체인에서 도입 된 주요 개선 사항 중 일부입니다. 물론 많은 작은 기능도 추가되었으며 다운로드의 README 파일에 전체적으로 나열되어 있습니다. 우리의 최우선 과제는 항상 그들이 나타나는 즉시 버그를 수정. 고맙게도 우리가 본 문제는 결코 심각한 아키텍처 특성이 아니 었습니다. Bitcoin Core를 시작점으로 사용하여 얻은 결과입니다.

멀티 체인 자체의 관점에서 볼 때, 획기적인 릴리스 일정 이후 약간 느려질 것입니다. 우리가 마무리하는 데 몇 달이 걸리는 큰 일을하고 있기 때문입니다. 이 기능은 향후 블로그 게시물에서 자세히 설명하지만 기본 아이디어는 간단하고 효율적인 불변 기록 및 타임 스탬프 메커니즘을 제공하는 것입니다. 모든 유형의 정보일종의 디지털 '테이프'. MultiChain의 트랜잭션 메타 데이터는 이미 최대 8MB 청크로이 목적으로 사용될 수 있지만 저장 또는 검색에 특히 편리하지 않으며 대용량 데이터를 처리 할 때 확장 성 문제가 있습니다.

이 기능의 동기는 무엇입니까? 물론 당신의 피드백은 범용 불변 스토리지가 블록 체인의 일반적인 사용 사례라는 것을 우리에게 가르쳐주었습니다. 그리고 멀티 체인에서“스마트 계약”(즉, 블록 체인 계산)에 대한 상당한 수요가있는 경우,이 시스템은 필요할 때 노드 당 계산이 수행되는 기본 스토리지 계층 역할을 할 수 있습니다. 내가 한대로 앞에서 설명한즉, 프라이빗 블록 체인의 모든 노드가 실시간으로 온 체인 계산을 수행하도록 요구하는 데는 가치가 거의 없습니다.

그리고 나서? 의심 할 여지없이 무료 제품이 더 향상 될 것입니다. 멀티 체인 프리미엄 버전. 운 좋게도 지난 8 개월 동안 우리는 다음과 같은 특징을 공유하는 많은 공통 기능 요청을 보았습니다.

  • 실제 배포에는 중요하지만 초기 실험에는 중요하지 않습니다.
  • 체인 컨센서스에 영향을 미치지 않고 노드별로 구현할 수 있습니다.
  • 실제 프로젝트를 수행하는 실제 회사는 비용을 지불하는 것이 행복해 보입니다.

이러한 기능은 성능, 보안, 로깅 및 분석과 관련이 있으며 전체 기능을 자세히 설명합니다. 지금은이 프리미엄 버전에 대한 두 가지 주요 사항을 강조하고 싶습니다. 첫째, 그것은 드롭 인 교체 무료 버전의 경우 오늘 MultiChain에서 빌드하는 모든 코드 또는 응용 프로그램은 계속 수정되지 않습니다. 둘째, 블록 체인의 모든 노드는 독립적으로 결정 프리미엄 기능 중 어느 것도 블록 체인의 합의에 영향을 미치지 않기 때문에 업그레이드 여부. 이것은 우리가 친절한 마음을 갖는 것이 아닙니다. MultiChain이 계속 유기적으로 성장하기를 원하는 것이 중요합니다. 새로운 기업은 소액의 비용을 들이지 않고도 프리미엄 노드로 가득 찬 기존 멀티 체인 네트워크에 연결하고 상호 작용할 수 있습니다.

프리미엄 버전의 멀티 체인에 대해 관심이 있으시면, 이메일을 보내 주시기 바랍니다 Premium@multichain.com or 이 양식 사용. 우리는 귀하의 요구 사항에 대해 배우고이를 충족시킬 수있는 방법을 기꺼이 알게 될 것입니다.

지난 몇 년 동안 내가 배운 한 가지는 실제로 소프트웨어를보고 사용할 수있을 때까지 아무도 소프트웨어를 진지하게 생각하지 않는다는 것입니다. MultiChain이 처음 출시되기 한 달 전에 나는 사람들에게 제품에 대해 이야기하고 있었고,“오, 저를 구해주세요. 백서와 작동 코드가없는 또 다른 빠른 대화자가 있습니다. 그러나 제품을 사용할 수있게되면 응답이 완전히 바뀝니다. 따라서 당신이 회의론을 가진이 미래의 프리미엄 버전에 대해 읽고 있다면, 나는 당신에게 그것을 이해하지 않을 것입니다. 내가 말할 수있는 것은 지금까지 멀티 체인이 약속을 이행 한 데 대한 확실한 기록을 가지고 있으며 앞으로도 계속되기를 기대합니다.

또한이 기회를 빌어 우리 팀의 뛰어난 작업에 감사드립니다. 직업적으로는 심각한 코더이지만 요즘에는 콘텐츠를 작성하고 제품을 관리하며 고객과 대화하는 데 시간을 보냅니다. 매일 개발자가 견고하고 효율적인 코드를 작성하도록 개발자를 신뢰할 수 있다는 것을 알고 매우 놀랍게도 당분간은 당연한 것으로 생각하지 않습니다.

마지막으로, 멀티 체인 플랫폼의 초기 사용자가되어 주셔서 감사합니다.

타임 스탬프 :

더보기 멀티 체인