Technical paper regarding BitRich Auto Exchange System BitRich Total E-wallet Address
Technical paper regarding BitRich 2 BitRich Auto Exchange System 기술백서 1. Abstract 전문가들은분산원장, 블록체인기술, 가상화폐및스마트계약을기존산업기반의근간을흔들어놓을것이라고주장하고있습니다. 다시말해네트워크에서자동화된지불, 거래, 계약등이기존산업기반의근간을바꾸는요소로작용할것이라판단하고있다는것입니다. 실제로비트코인, 이더리움의성장에따른자동화된지불, 거래관련플랫폼및서비스들이시장에있으며, 우리는이미특히금융업계에서성장하고있는분산어플리케이션을보고있습니다. 이러한새로운기술중일부로, 개발자들은, 놀라운속도로, 새로운툴을구축하고있으며, 일반대중및이의단체들이수용하게될주류이며안전한해결방법을찾는경쟁은진행되고있습니다. 2. Background 블록체인생태계의일부로, 비트코인 (BTC), NEO ( 전 AntShares) 및이더리움 (ETH) 과같은가상화폐는디지털자산유통에서초기리더로등장하였습니다. 블록체인기술및분산원장을기반으로, 사토시나카모토는 2008 년에비트코인 (BTC) 이라고불리는최초의가상화폐를개발하였습니다. 그이후로, 많은가상화폐들이생겨났고, 시가총액은그어느때보다상승하였습니다 (2017 년에 1000% 상승 ). 기업가, 벤처투자자, 은행가및기타전문가들은가상화폐가결국새로운기준이되며기업들은결과적으로번창하게될것이라고짐작합니다. 하지만최근생겨난가상화폐이면의블록체인및기술은훨씬더중요한것으로증명되었습니다. 3, Blockchain technologies 블록체인에서거래정보는 블록 에담긴다. 블록이다차면닫히고그안에담긴거래정보를요약하는숫자가표시됩니다. 이숫자가다음블록에마치체인처럼연결되면서맨마지막블록만검사하면위 변조를빠르게검증할수있습니다. 참여자들은이런정보를자신의컴퓨터에나눠저장하게되고. 누구도 블록체인 상의정보를임의로수정할수없고누구나그변경결과를열람할수있어데이터위 변조를막고거래의신뢰성과투명성을확보할수있습니다. 블록체인은현존거래방식중가장안전하다는평가를받고있습니다. 위조가가능하려면모든장부의블록을바꿔야하는데현존시스템으로는불가능하기때문입니다. 블록체인은중앙기관이아니라개인에게모든권한을주고그들의
Technical paper regarding BitRich 3 합의에따라모든걸결정한다는점에서분권화를지향합니다. 가상화폐, 디지털화폐또는암호화화폐처럼화폐라는용어를달고있는이유는 신뢰 할만한대상이될수있기때문입니다. 그신뢰의원천이바로블록체인입니다. 블록체인은거대한분산공개장부이며, 그장부안에포함된개별거래는모두디지털서명이붙어있어서은행이나다른제3자의개입이없어도진본임을보증할수있습니다. 수천, 수만노드에분산되어있어서어느한지점에장애나공격이발생하더라도블록체인이라는네트워크전체는문제없이계속돌아갈수있습니다. 작업증명이라는수학적계산작업과경제관점에서의논리를통해위 / 변조가사실상불가능한구조를갖게되어, 그안에기록된거래들은은행같은중앙의보증기관이없이도신뢰할수있는거래로서확정될수있습니다. 분산환경에전파되는과정에서분기가발생할수있으나, 가장길이가긴블록체인을유효한블록체인으로선택합니다. 메인네트워크만이진본이란뜻입니다. 3. 1 분산공개장부 ( 탈중앙화 ) 기존의데이터저장방식은신뢰할만한기관에의해서개인의거래중앙서버가거래공증및관리를해왔기때문에해킹의위험에노출되어있고상대적으로유지관리비용이큼니다. 하지만분산공개장부는거래내역이모든네트워크참여자에게공유및보관개인간 (P2P) 거래로정보의투명성이보장되고해킹에대한위험성과유지보수비용이줄어듦니다.
Technical paper regarding BitRich 4 3. 2 디지털서명 디지털서명은비대칭키와해쉬함수를이용해서다음과같은방식으로데이터의진위여부를확인할수있게해줌니다. 블록체인에담겨있는모든거래정보는이렇게디지털서명이포함되어있어서거래정보가진본임을신뢰할수있습니다. 3. 3 노드 (HTTP 서버 ) 일반노드 ( 라이트노드 ) 는블록체인에참여하여거래를수행하는노드, 모든블록정보를가지고있지않으므로, 개별거래에대한트랜잭션을확인하기위해 SPV를수행 SPV(Simple Payment Verify): 거래를검증하기위해일반노드가풀노드에게블록정보를요청하여머클트리를통해이거래가검증된거래인지를확인 풀노드는모든블록체인정보를수집하고저장하는노드새로운블록을추가하기 위해블록검증을수행요청받는블록정보나새롭게검증된블록을저장및관리 블록체인의모든메시지는브로드캐스트됩니다. 블록체인의모든
Technical paper regarding BitRich 5 3. 4 블록체인 블록체인이란기술적으로는블록이이어져서만들어진블록의집합체라고말할수있습니다. 블록은유효한거래정보의묶음이고블록헤더는다음의 6가지정보로구성됩니다. * version : 소프트웨어 / 프로토콜버전 * previousblockhash : 블록체인에서바로앞에위치하는블록의블록해쉬 * merklehash : 개별거래정보의거래해쉬를 2진트리형태로구성할때, 트리루트에위치하는해쉬값 * time : 블록이생성된시간 * bits : 난이도조절용수치 * nonce : 최초 0에서시작하여조건을만족하는해쉬값을찾아낼때까지 1씩증가하는계산횟수블록체인은블록목록 ( 체인목록 ) 과트랜잭션목록의두가지정보를보유합니다. 도착블록의확인 ; 도착거래의확인 ; 트랜잭션목록의동기화. 블록리스트의동기화. 블록체인은다음블록의해시가이전블록의해시와블록자체의데이터를기반으로계산되는체인목록입니다. 블록이마지막블록인경우 ( 이전인덱스 + 1); 이전블록이올바른경우 ( 이전해시 == block.previoushash); 해시가정확합니다 ( 계산된블록해시 == block.hash). 작업증명과제의난이도가맞다 ( 난이도블록 _n_ < 난이도차단 ); 블록내의모든트랜잭션이유효합니다. 출력거래의합계는입력거래의합계 + 블록광부에대한보상 3. 5 트랜잭션 트랜잭션에는코인소유자와주소간에코인의이전을나타내는입력및출력목록이포함됩니다. 입력목록에는기존의사용되지않은출력트랜잭션목록이포함되며주소소유자가서명합니다. 출력목록에는소유자주소의변경을포함하여다른주소에대한금액이포함됩니다. 블록내의트랜잭션은유효한가? 트랜잭션해시가정확하면 ( 계산된트랜잭션 hash == transaction.hash); 모든입력트랜잭션의서명이정확하면 ( 트랜잭션데이터는주소의공개키로서명됨 ). 입력트랜잭션의합계가출력트랜잭션보다많으면트랜잭션수수료를
Technical paper regarding BitRich 6 확보할필요가있습니다. 거래가아직블록체인에없다면 모든입력트랜잭션이블록체인에서사용되지않을경우 4. Auto Exchange System 및스마트통합전자지갑개요 BitRich 코인은가맹점을포함하여사용자가모바일기기에서사용할수있는지불코인입니다. BitRich 코인고객은통합호환지갑의허용한도를사용하여자신의코인을 Auto Exchange 및사용합니다. BitRich 통합지갑을사용하면블록체인기반의다양한코인이포함하도록하여다수의코인을관리할수있습니다. 또한가맹점에서정해진교환방식으로사용가능하게구성됩니다. 우리는거래시스템전반에걸친지불을위한프로토콜을제시합니다. BitRich 계정이있고. 계정이있는사람은누구나 Auto Exchange을이용할수있습니다. 이것은지불가맹점에대한일관되고연속성을위한것입니다. 현재는너무많은코인과지갑이존재함으로써지불받는가맹점입장에서보면코인마다받는지갑을준비해야하지만 BitRich Auto Exchange를통해 BTR로교환하고가맹점에서사용하고, 또한 KRW로환전받을수있고다른코인으로교환할수있는시스템입니다. 계정에서보유한비트코인. 대시, 이더리움등을 BTR로교환하여보관하거나 BTR 가맹점에서편리하게사용할수있습니다. 4. 1 Auto Exchange System 및통합지갑설계이념과원칙 1. 에스크로이러한커넥터를신뢰할필요가있어야합니다. 2. 튜링완전성을토대로보안과고효율을추구하는새로운형식의거래플랫폼 3. 다양한수요를충족시키는모듈화된합의메커니즘. 4. 블록체인상의데이터와오프체인데이터의결합. 5. 가치및정보전송을위한블록체인 Auto Exchange 설계 6. 통합지갑으로보안성과편리성제고 4. 2 향후계획 우리는큰계획을가지고있습니다. 모바일앱카드를사용하면다른디지털통화및토큰지갑앱으로쉽게액세스할수없는많은기능을고객에게제공할수있습니다. 우리는시간이지남에따라코인에대한접근성을오늘날보다훨씬쉽고훨씬직관적인세상을만드는데목표를두고있습니다.
Technical paper regarding BitRich 7 4. 3 새로운컨셉 현재까지가장위대한실험중하나인 Bitcoin 이창안된지 7 년후, 우리는새로운산업의출현을목격했습니다. 이더리움 (Ethereum) 은튜링완전화 (Turing-complete) 레이어를믹스에추가하여가능한큰지평을넓혔습니다. 이것은차례로현상유지를뒤집을새로운시너지생태계의생성을촉진했습니다. 수년동안대중에게암호해독을도입하기위한많은시도가있었지만채택은여전히느린상태입니다. 핵심이슈는다음과같습니다. 자산을저장하는보안은귀찮고필연적으로사람들은자산을교환같은제 3 자의제어하에저장하려고선택합니다. 이것은 cryptocurrency 의가장큰속성중하나를무너뜨리고지속적으로치명적인것으로입증된위험에노출시킵니다. 많은사람들이종종디지털자산의실제사용을보는데많은노력을기울이고있습니다. 사용자는다양한서비스에대한지갑, 교환및계정이필요합니다. 5. Auto Exchange System 및스마트지갑설계 5. 1 Auto Exchange System 거래소 1 회원가입 : SHA-3 해시알고리즘으로회원정보암호화 2 트랜잭션 : 멀티싸인을통한트랜잭션 3 테이터보안 : 지갑에사용하기적합한멀티시그마계약. 계약의일부기능트랜잭션전송을위한 2-3 다중서명지갑의역할을합니다. ecrecover를사용하여여러서명이포함된동기식 ( 단일거래 ) 승인지원. 하나의지갑에여러개의수신주소가있을수있도록전달자계약을배포할수있습니다.
Technical paper regarding BitRich 8 전달자주소계약에는계약이생성되기전에주소로전송된자금을플러시하는기능이있습니다. ERC20 토큰은전달자지갑에서주서명자로의단일서명으로주지갑으로플러시될수있습니다. ERC20 토큰및에테르는 multisig 프로세스를통해메인지갑에서발송할수있습니다. ETH 및 ERC20 토큰이지갑서명자가아닌다른곳으로전송되는것을방지하는지갑계약에 ' 안전모드 ' 를설정할수있습니다. 5. 2 키복구서비스 (Key Recovery Service) 핵심프로비저닝프로토콜 ( 키를가져오는끝점 ), xpub에서키를가져와프로비저닝키. 키가프로비저닝되면사용자에게전송되어 BitRich 공급자와의관계를설정하는전자메일입니다. 사용자가 BitRich 지갑의복구트랜잭션을구성하고서명하는스크립트입니다. 서명요청을위해트랜잭션을사용하는복구요청엔드포인트는요청된복구를저장하고전자메일을 BitRich 소유자와사용자에게보냅니다. 복구요청에서명하는오프라인서명도구 (JSON 형식 ). 5. 3 JSON 형식 Offline Signing Tool usage: signoffline.js [-h] [-v] [-f FILE] [-k KEY] [--confirm] Tool to sign recovery JSON offline (for KRS owners recovery) Optional arguments: -h, --help Show this help message and exit.
Technical paper regarding BitRich 9 -v, --version Show program's version number and exit. -f FILE, --file FILE Input file of recovery request JSON -k KEY, --key KEY xprv (private key) for signing --confirm skip interactive confirm step -- be careful! 오프라인복구도구는 BitRich 고객에게 BitRich 상태와관계없이 BitRich 지갑과함께저장된 BitRich을검색하는메커니즘을제공합니다. 이도구는의도적으로 BitRich 플랫폼 API에종속되지않습니다. 블록체인데이터를검색하기위해외부 API (Blockr) 를사용합니다. 이것은 BitRich 서비스를통해생성된지갑에저장되어있는 BitRich Wallet 암호와함께 BitRich에서지갑을만들때제공되는 KeyCard 만사용하여 BitRich와독립적으로복구될수있음을보여줍니다. 6. Auto Exchange 및통합지갑 6. 1 하이브리드앱 (ios / Android) 지갑앱 (Android 및 ios) 은고객이플랫폼과상호작용하는데사용할기본인터페이스입니다. BitRich App 은최상위 UI 디자인으로동급최강의기능을제공하도록설계되었습니다. Set-up Wizard 처음시작할때사용자는설정마법사를실행하고기본설정에맞게설정을사용자지정하라는메시지가표시됩니다. 프로세스는다음과같은단계를포함합니다 - 사용자가응용프로그램을다운로드 - 사용자는새로운계약 / 키또는가져오기키를만들수있습니다.
Technical paper regarding BitRich 10 - 암호를입력하고키를백업하라는메시지가나타납니다. - 계약시작 / 로드 ( 가스에대한 BTR 지불 ) - 빠른또는고급설정마법사를선택합니다. - 사용자가순위가정해진목록에서기본통화를선택합니다. - 월드와이드프레임워크, 사용자인터페이스우리는 10 여페이지이상의페이지스테이트와수백가지의트랜지션을다이어그램으로디자인하고디자인했습니다. 7. 설계로직및알고리즘 본개발로직은, 암호화화폐거래소를설계및개발하기위한암호화화폐거래소및암호화화폐거래소에서거래되는적어도하나의이상의암호화화폐를보관하고, 암호화화폐자동교환거래시스템에서전환하고보관합니다, 통합전자지갑시스템에보관된암호화화폐를암호화화폐거래소를통해다른제2 암호화화폐로전환할수있으며, 암호화화폐전환매개가되는기준암호화화폐로전환한다음, 상기기준암호화화폐를상기제2 암호화화폐로전환하는것을특징으로하고, 상기기준암호화화폐는, 가치가실물화폐의가치에연동되는것을특징으로하는통합전자지갑을가진암호화화폐자동교환거래시스템을제공합니다. 7. 1 BitRich 네트워크
Technical paper regarding BitRich 11 BitRich 네트워크는블록체인기반베이스와자체인트라넷망을이용하는멀티 네트워크입니다. 실물보관은은행망을이용하고, 지불결제는사용자전용 단말기를이용하게됩니다. 7. 2 멀티싸인에의한회원보안시스템 기본서명자지갑은자금이동을위해 2 개의서명이필요한공동서명환경에서사용하도록설계되었습니다. 일반적으로 2/3 서명구성에사용됩니다. ecrecover를사용하여단일트랜잭션에서 2 개의서명을허용합니다. 첫번째서명은작업해시에서생성되고 ( 데이터형식참조 ) sendmultisig / sendmultisigtoken으로전달됩니다. 서명자는 verifymultisig () 에의해결정됩니다. 두번째서명은트랜잭션제출자가만들고 msg.signer가결정합니다. contract WalletSimple { event Deposited(address from, uint value, bytes data); event SafeModeActivated(address msgsender); event Transacted( address msgsender, transaction address othersigner, bytes32 operation, address toaddress, uint value, bytes data ); address[] public signers; bool public safemode = false; uint constant SEQUENCE_ID_WINDOW_SIZE = 10; uint[10] recentsequenceids; function WalletSimple(address[] allowedsigners) public { if (allowedsigners.length!= 3) { revert(); } signers = allowedsigners; }
Technical paper regarding BitRich 12 function issigner(address signer) public view returns (bool) { for (uint i = 0; i < signers.length; i++) { if (signers[i] == signer) { return true; } } return false; } modifier onlysigner { if (!issigner(msg.sender)) { revert(); } _; } function() public payable { if (msg.value > 0) { Deposited(msg.sender, msg.value, msg.data); } }... 생략... 위코드는멀티싸인기본예로써자체플랫폼기반의유저보안과제어하기위한 기본코드입니다. 7. 3 암호화화폐통합전자지갑주소및오토익스체인지시스템
Technical paper regarding BitRich 13
Technical paper regarding BitRich 14 7. 4 coinlist() - 모든 cryptocurrencies 의현재목록과각토큰에대한다음정보를 얻습니다. const cc = require('cryptocompare') // Usage: cc.coinlist().then(coinlist => { console.log(coinlist) // -> // { // BTC: { // Id: "1182", // Url: "/coins/btc/overview",00", // PreMinedValue: "N/A", // TotalCoinsFreeFloat: "N/A", // SortOrder: "1", // Sponsored: false // }, // ETH: {...}, // } }).catch(console.error) // ImageUrl: "/media/19633/btc.png",
Technical paper regarding BitRich 15 // Name: "BTC", // Symbol: "BTC", // CoinName: "Bitcoin", // FullName: "Bitcoin (BTC)", // Algorithm: "SHA256", // ProofType: "PoW", // FullyPremined: "0", // TotalCoinSupply: "210000 7. 5 exchangelist() - CryptoCompare 가통합한모든교환을반환합니다. const cc = require('cryptocompare') // Usage: cc.exchangelist().then(exchangelist => { console.log(exchangelist) // { // "Cryptsy": // { // "42":["BTC","BTR"], // "EMC2":["BTC","BTR"], // "POINTS":["BTC"], // "VTC":["BTC","LTC","BTR"] //... // } //... // } }).catch(console.error) 7. 6 price() - 다른통화로 cryptocurrency 의현재가격가져오기 const cc = require('cryptocompare') // Basic Usage: cc.price('btc', ['USD', 'KRW']).then(prices => {
Technical paper regarding BitRich 16 console.log(prices) // -> { USD: 1100.24, KRW: 1039.63 } }).catch(console.error) // Passing a single pair of currencies: cc.price('btc', 'USD').then(prices => { console.log(prices) // -> { USD: 1100.24 } }).catch(console.error) 7. 7 기타함수 pricemulti() price() 와같이작동합니다. 단, From 기호의행렬을지정할수있습니다. pricefull() 다른통화로된 cryptocurrencies 목록의모든현재거래정보 ( 가격, 거래량, 공개가격, 거래가격, 최저가격 ) 등을가져옵니다. pricehistorical() 주어진타임스탬프에서다른통화의 cryptocurrency 가격을가져옵니다. 가격은일일정보에서가져오는것입니다. 따라서요청된타임스탬프에따라 GMT가끝나는시점의가격이됩니다. generateavg() 요청한쌍의현재거래정보 ( 가격, 거래량, 공개가격, 거래가격, 볼륨가중치 등 ) 를요청한시장을기반으로한가중평균으로가져옵니다. toppairs() 통화를위한볼륨별상위쌍을가져옵니다. topexchanges() 통화쌍에대한볼륨별최우선거래입니다. histoday()
Technical paper regarding BitRich 17 일일기록데이터에서열린상태, 높음, 낮음, 닫힘, 볼륨및볼륨을가져옵니다. 값은 00:00 GMT 시간을기준으로합니다. histohour() 시간별기록데이터에서열린상태, 높음, 낮음, 닫음, 볼륨및볼륨을 가져옵니다. histominute() 분단위의과거데이터에서열린상태, 높음, 낮음, 닫힘, 볼륨및볼륨을 가져옵니다.... 생략... 8. 법률및규정준수 법률및규정 - 5 % 국제금융서비스운영을설정하는데따르는법적비용이있습니다. ' 토큰교환 ' 과같은 BitRich 플랫폼에대해계획된특정서비스에는일부관할지역에서적절한규제승인및라이센스가필요할수있습니다. 이러한라이센스는일반적으로취득하는것이바람직하지않지만비용, 즉본딩, 자본및운영. bitrich@slglobal.com 로이메일을보내주십시오. - 면책조항이면책조항을자세히읽으십시오. 귀하가취해야할조치에대해귀하가아무런의심을느끼지않는다면, 귀하는귀하의법률, 재정, 세법또는다른전문고문 ( 들 ) 과상의해야합니다. 아래에명시된정보는철저하지않을수있으며계약관계의요소를의미하지는않습니다. 이백서의모든내용이정확하고최신인지확인하기위해최선을다하고있지만, 그러한자료는전문적인조언을제공하는것은아닙니다. BitRich 는이백서에포함된자료의정확성, 신뢰성, 통화또는완전성과관련하여발생하는어떠한법적책임도지지않습니다. 투자자및잠재적인 BitRich 코인보유자는이백서에게시된자료에의거하여어떠한약속이나거래를하기전에적절한독립전문가의자문을구해야합니다. 이자료는참고용으로만출판되었습니다. BitRich은어떤관할권에서도유가증권을구성하지않습니다. 이백서는어떤종류의안내서또는제안서를구성하지않으며유가증권의제안이나어떤관할구역의유가증권에투자하기위한권유를구성하기위한것이아닙니다. BitRich는 BitRich Coin을구입, 판매또는기타거래에관한조언에대한어떠한의견도제시하지않으며이백서의제시사실은계약또는투자결정의기초를형성하지않으며계약과관련하여의존하지도않습니다.
Technical paper regarding BitRich 18 어떤사람도 BitRich Coin 의판매및구매와관련하여어떠한계약이나구속력있는 법적약속을할의무가없으며이백서를토대로 crypto currency 또는다른 형태의지불은허용되지않습니다. Thank you