content

엘프라는 이름의 혁명 – Parallel Processing (병렬 처리 알고리즘)

엘프라는 이름의 혁명– Parallel Processing (병렬 처리 알고리즘)​“비트코인은 오래되었다.느리며,비싸고,실질적인 가치가 없다”.여러분들은 이러한BTC트랜잭션의 사용에 반대하는 주장을 종종 들어 보셨을 것이라 생각합니다.실제로,이러한 주장은 종종 블록체인 기술 전체를 부정하는데 인용되기도 합니다.하지만 이게 정말로 사실일까요?이런 부정적인 견해들 뒤에 분명히 사실적 근거가 존재하지만,과장 또는 논점에서 벗어났거나 기술적 발전에 뒤쳐진 점이 없지않아 있습니다.비트코인 네트워크상에서 실행하는 블록체인의 확장성이 떨어지는 것은 틀림없고 이점을 해결해야 하는 것은 사실입니다.라이트닝 네트워크를 통해 이 문제를 해결하려고 시도하지만,이는 구형 자동차에 현대식 최고급 엔진을 넣는 것과 비슷한 예제입니다.실제로 이 방법으론 확장성의 문제를 완전히 해결하지 못하는 여러 이유가 존재합니다.이번 글에서는 이러한 문제점들을 다른 플랫폼들과 근본적으로 다른 방식으로 해결하고 있는 엘프(aelf)의 한 부분인 병렬처리 알고리즘에 대해 파헤쳐보도록 하겠습니다.엘프가 적용하는 병렬처리는 자칫 잘못 사용하게 되면 블록체인 네트워크를 손상시킬 수도 있는 리스크를 가지고 있는 기술이지만,올바르게 사용된다면 현재 블록체인의 한계를 대폭 제거할 수 있는 혁신적인 솔루션이 될 수도 있습니다.기존 블록체인의 전산속도 성능 개선을 위한 두가지 방법이 현존합니다.첫째,최신 하드웨어를탑재하고있는 더 크고 강력한 노드를 설립하거나,이미 존재하는 하드웨어 구성 요소를 업그레이드 하여 노드의 성능을 향상시킬 수 있습니다.둘째,전산의 효율성을 높이거나 처리 과정을 간소화시키는 것 입니다.엘프는 이 두가지 측면 모두에 초점을 맞추고 있습니다.첫번째 포인트는 클라우드 컴퓨팅을 통해 완성되고 있으며,두번째 포인트는 이제부터 본격적으로 논의될 병렬 처리 알고리즘을 통해 적용되고 있습니다.Parallel Processing (병렬 처리)란?말 그대로 트랜잭션 처리가 동시에,병렬로 수행되는 것을 의미합니다.하지만 블록체인에 이 개념을 적용하는 것은 매우 어려운 일입니다.블록 생성을 위해 코드를 다시 작성해야 할 뿐만 아니라 노드를 재구성하고 트랜잭션 의존성도 해결해야 합니다.(이 글에서 코딩에 대해서는 논의하지 않겠지만,만약 병렬처리 관련 코드에 대해 더 깊이 알아보고 싶다면 엘프GitHub을 추천 드립니다.)노드선정은 네트워크 디자인의 관점에서,또한 참여하는 유저의 입장에서 매우 신중하게 고려해야하는 사항입니다.여러분은 아마 엘프와 관련된‘클라우드 컴퓨팅’이라는 문구를 본 적이 있을 겁니다.이것은 현존하는 블록체인 플랫폼들의 기준인‘One node = One computer’의 경우에 생기는 확장성과 노드 하나의 성능의 명백한 한계 대신,하나의 노드가 컴퓨터의‘클러스터’로 구성됨으로써 이 한계점이 없어지게 되는 것을 뜻합니다.하나의 노드가 무한적으로 커질 수 있게 되는 클라우드 노드가 바로 병렬 처리를 위한 기반이 됩니다.이러한 클라우드 노드라는 특별한 환경을 다른 블록체인들처럼 일차원적으로 사용하게 된다면,이 거대한 컴퓨터의 집합체가 트랙잭션들을 하나하나씩 순차적으로 처리하게 되며 모든 컴퓨터들이 효율적으로 쓰여지지 못하게 됩니다.예를 들자면 요즘 모든 컴퓨터에 사용되는4코어, 6코어 프로세서 환경에서 워드를 켜서 문서작업을 하다가 저장하고 워드를 닫고 인터넷을 사용하여 음악을 듣다가 브라우저를 닫고 다시 워드를 켜서 문서 작업을 하는것과 비슷합니다.동시에 여러 작업을 하지 않고 한 순간에 하나의 작업만 하는 것이죠.여러 코어가 있음으로 인하여 전혀 속도에 문제가 되지 않고 여러 작업들을 동시에 할 수 있기 때문에,요즘은 음악을 들으면서 동시에 문서 작업을 해도(즉,병렬 작업)하나의 작업이 느려 지지 않습니다.이것이 바로 자원의 분할을 통한 동시 다발적 트랜잭션 처리인Parallel Processing이 시스템의 전반적인 효율성을 향상시킬 수 있는 이유입니다.다음 포인트의 핵심은 트랜잭션 의존성의 문제입니다.스마트 계약이‘10 ELF로 당근2개를 사고 나머지ELF로 모두 오이를 산다’라고 쓰여 있다면,두번째 트랜잭션,즉‘남은ELF로 오이를 산다’는 첫번째 트랜잭션이 반드시 마쳐진 후에 처리가 돼야하는 의존성이 생깁니다.기존의 블록체인의 경우 모든 트랜잭션을 순차적으로 처리하기 문제가 되지 않지만,병렬 처리를 환경에서는 두번째 트랜잭션이 첫번째 트랜잭션보다 먼저 또는 동시에 처리될 경우 거부나 오류가 발생할 수 있습니다.바로 이 의존성이 병렬처리 도입을 어렵게 하는 것이며 많은 프로젝트들이 성공시켜내지 못한 이유 중 하나입니다.엘프는 트랜잭션 의존성의 문제를 해결하기위해 두가지 방법을 채택 하였습니다.첫번째는 멀티체인,즉 다양한 사이드 체인 이라는 디자인 상 비의존성이 자연스럽게 증명되는 구조입니다.예를 들어 사이드체인1의 트랜잭션A는 사이드체인2의 트랜잭션B에 영향을 미치지 않거나 의존하지 않을 것이기 때문에 다른 과정이 필요없이 바로 병렬처리가 가능합니다.두번째 솔루션은 엘프의 병렬 실행 스케줄러(Parallel Execution Scheduler)입니다.이 스케줄러는 계산 의존성과 데이터 의존성을 메모리 풀에서 분리시킴으로써 본질적으로 병렬처리에서 발생하는 데이터 위험성 문제를 제거 시킵니다.스케줄러는 의존성의 트랜잭션을 식별하고 병렬로 실행되는 태스크가 서로 순서 적 오류가 생기지 않도록 관리합니다.결과적으로,클라우드 컴퓨팅이라는 특수한 환경과 병렬처리 기술은 조합은 코어와 노드를 최대한 활용하여 전산속도를 극대화 시킵니다.이를 통해 엘프는 언터프라이즈급 스케일의 블록체인 데이터를 쉽고 빠르게 처리할 수 있는 속도와 확장성을 보유한 네트워크를 보장합니다.기존의 어떠한 블록체인도 이렇게 독특하고 획기적인 기술로 확정성의 문제를 해결하려고 시도하지 않았습니다.엘프는 엔터프라이즈 세계에서 블록체인의 상용화를 이끌 뿐만 아니라 블록체인 플랫폼의 기준을 변화시키고 있습니다.

content

[AELF TIMES] 엘프(aelf) 쉽게 이해하기 (2018.7)

엘프 타임즈 7월호 '엘프(aelf) 쉽게 이해하기'입니다.이번 글에서는 기존 블록체인과는 달리 후발주자인 엘프의 큰 장점 3가지에 대해 쉽게 설명되어있습니다.

content

[AELF TIMES] aelf란 무엇인가? (2018.7)

엘프 타임즈 7월호 'aelf란 무엇인가?'입니다.aelf는 분산된 자율 진화 클라우드 컴퓨팅 네트워크입니다. 다양한 상용화 요구사항에 따른 블록체인 인프라를 구축하기 위해서 aelf는 크로스체인 커뮤니케이션 및 자율 진화 거버넌스를 갖춘 고효율의 멀티체인 병렬 처리 시스템을 제공합니다. aelf는 최첨단 IT 설계 이론과 기술을 통합하여 블록체인 네트워크의 완전한 상용화를 가능케 할 것입니다.aelf는 블록체인을 위한 '리눅스 환경'을 창조하길 추구하며 현재 블록체인 시스템의 가장 기본적이고 필수이며 시간이 많이 걸리는 요소를 개선하는 목적으로 마켓의 기존 블록체인들을 기반하여 많은 질적 향상을 이루었습니다. 이 시스템은 개발자들의 니즈, 특히 크고 다양한 산업에 대한 상업적 요구 사항을 만족시키기 위해 시스템을 커스터마이징 할 수 있도록 설계되었습니다.aelf는 보다 복잡한 스마트 컨트랙트의 신속하고 유동성 있는 이행을 목표로 하며, 각 체인에는 일체의 스마트 컨트랙트에 대한 혼잡 또는 정체가 없는 실행을 위한 자체 고유의 리소스를 제공합니다. aelf는 스마트 컨트랙트를 쉽게 업그레이드하고 자연스럽게 진화할 수 있도록 다이나믹 블록체인 시스템에 적합한 인프라를 제공 할 것입니다.

content

엘프 한국 커뮤니티 Q&A (ver.1)

엘프 한국 커뮤니티 QA ver.1입니다.평소 엘프 한국 카카오 및 텔레그램 커뮤니티에서 자주 질문되고 궁금해하셨던 내용에 대해 다시 찾아볼 수 있게끔 읽기 편하게 정리해두었습니다.

content

[AELF TIMES] 병렬처리를 통한 스케일링 (2018.7)

엘프 타임즈 7월호 '병렬처리를 통한 스케일링'입니다.엘프는 '병렬처리를 통해 상용화가 가능한 트랜잭션과 스케일링이 가능한 블록체인'이 되기를 추구하며 이번 글에서는 엘프의 '병렬처리' 기술과 '스케일링(확장성)'에 대해 다뤄보았습니다.

content

[AELF TIMES] 엘프 커널 개발 과정 (2018.6)

엘프 타임즈 6월호 '엘프 커널 개발 과정'입니다. 엘프 커널 개발에 대한 설명이 담겨져있습니다.

content

블록체인의 리눅스 – 엘프 (번역본)

완벽한 사용자 맞춤화 및 확장 가능성으로 자신만의 블록체인 생성​글쓴이 - Mappo (엘프의 영어 컨텐츠 라이터)번역 - 정금산 (엘프의 한글 컨텐츠 매니져)여러분은 컴퓨터에서 프로그램을 사용하면서 이러한 기능이 추가되었으면 하거나 바로가기 기능을 추가하고 싶었다고 생각해보신적이 있나요?여러분의 작업공간이나 직장에서 여러분에게 맞춤 서비스를 제공하고 있나요?아니면 그 기능들이 당신을 위해 특별하게 만들어지지 않았다고 생각하시나요?저는 제가 일해온 모든 산업에서 여러 번 좌절감을 느꼈습니다.종종 제 필요에 맞는 서비스와 제품을 갖고 싶다고 생각했습니다.우리는 개인에게 맞춰진 서비스가 아닌 여러 사람을 위해 설계된 서비스를 사용하게 되어있습니다.누군가가 어느 고객을 위해 어느 기업을 위해 설계한 것을 당신은 그저‘사용’하도록 허락 받았을 뿐이죠.그러면 여러분의 비즈니스나 용도가 원래 설계되어진 목적과 비슷할지라도 완벽하게 일치할 수는 없습니다.위에서 설명한 시나리오는 블록체인 앱에서 발생하는 큰 문제입니다.현재 다른 사람을 위해 개발된 앱을 사용하거나 개발자로서 자신만의 디앱(dApp)을 사용할 수 있습니다.하지만 그 앱은 하나의 블록체인에서 실행되며 많은 다른 디앱도 용도에 맞게 설계되었습니다.이 블록체인은 모두에게 좋을 수 있지만,완벽하지 않습니다.네트워크가 막히면 트랜잭션 속도가 느려지며 네트워크 상의 모든 디앱들의 속도가 제한됩니다.수많은 디앱들이 모여있는 이 대규모 고속도로는 조만간 맞춤화 할 수 없고 병목현상을 느끼는 디앱들이 엄청나게 늘어날 것입니다.그렇게 저는 엘프를 발견했습니다.엘프는 현재 블록체인 기술의 여러가지 문제점을 해결해가고 있습니다.이러한 문제점 중 하나는 방금 위에서 설명한 사용자 맞춤화와 확장 가능성입니다. 이것이어떻게 해결될까요?엘프는 컴퓨터의 운영체제와 비교할 수 있는 메인체은으로 실행되는 블록체인 네트워크를 만들고 있습니다.하나의 메인체인에서 실행되는 많은 앱 대신,개발자나 비즈니스로서 자신만의 디앱을 디자인하고 그 디앱을 메인체인에서 사이드체인으로 운영되는 자신만의 블록체인에서 실행할 수 있습니다.여러분은 자신만의 특정한 목적을 위해 자신만을 위해 완벽히 설계된 블록체인을 가질 수 있습니다.여러분이 원하는 공개(Public)또는 비공개(Private)방식을 선택할 수 있고,원하는 합의 프로토콜(consensus protocol)을 선택할 수 있습니다.또한 업데이트 방법도 선택할 수 있습니다.특정 사이드체인에서 실행되는 유일하거나 비슷한 유형의 디앱들이기 때문에,필요할 때마다 업데이트 할 수 있으며 전체 시스템을 완벽하게 제어할 수 있습니다.사이드체인을 사용함으로서,특정 디앱에 대한 스마트 컨트랙트 설정은 불필요한 상호 간섭으로부터 보호됩니다.각 사이드체인은 완전히 독립적이며 다른 앱과 상호 작용할 수 있지만,블록체인은 한가지 유형의 스마트 컨트랙트에만 집중하면 됩니다.사용자가 온라인에서 이미지를 공유할 수 있게 해주는 앱을 만들고 있다고 가정해 보겠습니다.이 앱을 통해 이미지들을 분류하고 함께 묶고 포트폴리오를 만들 수 있습니다.그러던 어느 날 여러분이 트위터와 비슷한 소셜 미디어 플랫폼을 운영하는 다른 디앱을 찾았습니다.이 두가지 디앱이 모두 엘프의 메인체인에서 실행중인 경우라면 메인체인은 서로 상호 작용할 수 있도록 두 사이드체인을 중재합니다.사용자 중 한명이 새로운 사진을 포트폴리오에 올리면 네트워크는 트위터와 같은 디앱을 통해 자동으로 공유합니다.둘 다 메인체인에서 실행할 필요가 없으며 더 나아가 엘프 메인체인은 다른 블록체인을 통합할 수 있습니다.DPoS를 운영하는 메인체인은 전체 시스템을 보호 할 수 있는 마이닝노드를 위임할 뿐만 아니라 각 사이드체인이 보안 수준에 부합하도록합니다.이 컨센서스 모델이 메인체인에서 실행되기 때문에,추가된 각 사이드체인은 메인체인의 이점을 얻을뿐만 아니라,메인체인을 보호하는 위임된 노드의 효율성도 증가시킬 것입니다.‘한 체인을 모든 것에 맞추는 방식’을 포기함으로써 엘프는 블록체인에서 디앱을 실행하는 혁신적인 방법을 개발할 수 있었습니다.사이드체인을 실행할 수 있는 퍼블릭 메인체인을 만듦으로써,엘프는 모든 산업 및 사용자를 위해 맞춤 가능하고 확장 가능하며 완벽하게 편리한 응용프로그램 플랫폼을 위한 완벽한 솔루션을 만들어가고 있습니다.원문:https://medium.com/@aelfblockchain/aelf-the-linux-of-blockchain-ffcb78d83730by MAPPO

content

[AELF TIMES] 엘프 토큰 리포트 (2018.5)

엘프 타임즈 5월호 'aelf Token Launch Report'입니다.엘프 토큰 발행과정에 대한 자세한 설명이 담겨져있습니다.-토큰 세일(token sale), 뉴욕서 11월28일 시행되-ICO 없이, 오로지 프라이빗 세일로만-투자 한도가 없었음에도 6배의 초과 신청 2주 내 달성