10월 26일, Wanxiang Blockchain Labs가 주최한 제7회 Blockchain Global Summit이 상하이에서 열렸습니다.Nervos 네트워크 설계자 Xie Hanjian은 "Blockchain Abstraction and Evolution"이라는 제목의 공유에서 거버넌스와 추상화는 블록체인의 새로운 도전이라고 말했습니다. 이더리움은 모든 것을 바꾸었습니다.블록체인 기술을 일반화합니다.블록체인 기술을 활용하는 응용 프로그램을 찾고 공통점을 발견한 다음 다양한 응용 프로그램, 시나리오 및 요구에 대한 플랫폼을 만듭니다.인터넷에서 결제, 게임 등 다양한 응용 프로그램을 만들 수 있습니다. , 등. 이더리움은 더 높은 수준의 추상화를 가진 시스템이며, 미래의 블록체인은 더 나은 성능을 추구하는 것이 아니라 더 높은 수준의 추상화와 더 일반적인 디자인을 추구할 것입니다. 그는 특정 계정 시스템, 특수 암호화 알고리즘 및 특수 런타임과 같은 블록체인의 추상 수준에 세 가지 문제가 있다고 생각합니다. 블록체인은 더 높은 수준의 추상화를 추구해야 하며 성능은 부산물입니다.
다음은 연설 전문이다.
여러분, 안녕하세요! 저는 Nervos Network의 설계자인 Xie Hanjian입니다.오늘 제가 이야기하고 싶은 주제인 "블록체인 추상화와 진화"를 여러분과 공유하게 되어 매우 기쁩니다.
블록체인이 직면한 가장 큰 도전은 무엇입니까?
이러한 문장을 읽으셨는지 모르겠습니다. 즉, 오늘날 새로운 블록체인이 직면한 가장 큰 과제는 "속도"와 "처리량"이 아니라 "거버넌스"입니다.
이른바 2세대 블록체인, 새로운 블록체인이 개발된 지 5~6년 정도 된 것인데, 이전의 생각을 좀 살펴보면 당시의 생각이 그다지 옳지 않을 수 있음을 알 수 있습니다.
몇 년 전, 모두가 새로운 블록체인을 구축하고 싶어했을 때, 그들은 "블록체인의 성능 문제를 해결하면 이더리움을 이길 수 있는 차세대 시스템을 만들 수 있을까? ?" 등등.
그러나 지난 몇 년간 블록체인 산업의 발전은 새로운 블록체인이 나온 것을 볼 수 있고 그 성능이 실제로 매우 우수하지만 모두가 여전히 우리가 이더리움 시대에 있다고 생각하기 때문에 이 아이디어를 위조했습니다. 다음 시대에 진입하지 않았고 " 비트코인 "에서 " 이더리움 "으로의 시대를 느끼지 못했습니다. 오늘날의 새로운 블록체인은 성능이 매우 우수하고 수천 건의 트랜잭션을 처리할 수 있지만 이러한 느낌은 존재하지 않습니다.
어떤 사람들은 우리가 직면한 가장 큰 도전은 "거버넌스"라고 말합니다.
사실 "거버넌스"가 현재 블록체인 산업이 직면한 큰 문제라는 데도 동의하며, 이 질문은 답이 없는 "열린 질문"입니다. 다양한 블록체인 커뮤니티와 다양한 블록체인 팀이 이에 대해 논의하고 있습니다. P2P 자율 프로젝트를 엽니다. 거버넌스는 참으로 어려운 문제입니다.
하지만 이것이 유일한 문제는 아니므로 "추상화"와 "추상화"도 매우 중요하다고 말하고 싶습니다.
"거버넌스"에서 논의된 문제는 커뮤니티로서 우리가 블록체인 플랫폼이 무언가를 해야 하는지 여부를 결정할 수 있다면 블록체인의 "추상적" 수준은 관리할 테이블로 이동할 수 있는 항목을 결정하고 논의하고 토론하는 것입니다. 해야 할 일 또는 하지 말아야 할 일.
따라서 "추상화"도 새로운 블록체인에 대한 매우 중요한 과제라고 생각합니다.
"추상"이란 무엇입니까?
단어 자체가 추상적입니다.
추상화 자체는 비교적 기술적인 단어이며 두 가지 설명이 있습니다. 첫 번째 설명만 신경 쓰면 됩니다. 소위 추상화는 프로세스이고 시스템에서 특수성을 제거한 다음 시스템에서 일반성과 보편성을 생성합니다. .
이것은 일반화 과정으로 특별한 디자인을 제거하고 공통점을 찾음으로써 시스템이 보다 일반화되고 더 많은 시나리오에 적용할 수 있습니다.
이 설명은 여전히 매우 추상적일 수 있습니다. 핵심 단어는 "특이성"을 제거하고, 시스템에서 "특이성"을 제거하고, 시스템에서 더 일반적인 "일반적인" 항목을 찾아 디자인에 넣어 생성하는 것임을 기억해야 합니다. " 일반".
그다지 블록체인이 아닌 예를 들어 설명하십시오.
당신은 게임 콘솔을 가지고 있을지 모르지만 적어도 내가 어렸을 때 나는 아케이드에서 소위 아케이드 머신이라고 불리는 대형 게임을 할 것입니다. 그런 기계를 아시는 분이라면 각 기계가 실제로 게임에 해당한다는 것을 아실 것입니다. 아케이드 기계의 경우 시스템 설계는 소프트웨어에서 하드웨어로 통합 설계됩니다. 모든 설계는 하나의 목적, 즉 이 게임을 중심으로 설계됩니다. .
또 다른 새로운 게임을 만들어야 할 때 새로운 기계를 설계해야 하므로 게임 홀에는 10~20대의 기계가 있고 각 기계는 다른 게임입니다.
게임 산업은 오늘날 가장 인기 있는 것이 더 이상 아케이드 머신이 아니라 XBox와 같은 보다 일반적인 게임 플랫폼이 될 정도로 발전했습니다.
XBox는 일반적인 디자인이므로 XBox용으로 다양한 게임을 디자인할 수 있으며 이 시스템에서 실행하고 플레이할 다른 게임만 구입할 수 있습니다.
따라서 아케이드에서 XBOX로의 일반적인 과정입니다.또 다른 관점에서 XBox는 더 높은 수준의 추상화를 가진 디자인으로 더 많은 시나리오에 적용될 수 있습니다.각 특정 게임에 대해 빌드된 특별한 것은 거의 없습니다.거의 없습니다.
플랫폼이 다양한 요구에 적응할 수 있도록 이 플랫폼의 개발자가 세부 정보를 채울 수 있는 특별한 세부 정보가 없기 때문입니다.
블록체인 산업의 발전을 살펴보면 "비트코인"과 "이더리움"을 살펴보는 과정도 마찬가지다.
"Bitcoin"은 무엇을 하고 싶습니까?
백서와 제목에서 우리는 원래 목적이 P2P 결제 시스템을 구현하는 것이었고 이것은 매우 명확한 단일 목적을 가진 시스템이므로 시스템 설계도 이 목적을 기반으로 합니다.
이더리움이 등장하기 이전 시대에 아직 감이 가시지 않는다면 블록체인이든 분산 원장이든 "비트코인"의 기반 기술이 매우 가치가 있다는 것을 전 세계 사람들이 볼 수 있기를 바랍니다.
이 기술을 다른 일에 사용하고 싶을 때 무엇을 할 수 있습니까? 당신이 할 수 있는 것은 "비트코인" 코드를 사용하여 아무 것도 하지 않는 것이 아니라 "비트코인" 코드에 집중하는 것입니다.
하지만 이더리움의 등장으로 모든 것이 바뀌었습니다.이더리움은 우리가 그렇게 번거로울 필요가 없다고 말했습니다.비트코인과 블록체인을 보다 일반적인 시스템으로 전환할 수 있습니다.블록체인 기술을 사용하는 응용 프로그램 요구 사항의 공통점을 찾아야 합니다.만들기 결제 서비스만을 위한 특별한 디자인을 없애고 다양한 공통 니즈를 찾아 공통 니즈를 위한 플랫폼을 설계하는 플랫폼입니다.
따라서 이더리움은 가상 머신과 운영 환경을 갖추고 있으며 이더리움을 기반으로 결제, 대출, 게임 등 다양한 애플리케이션을 구축할 수 있습니다.
"Bitcoin"에서 "Ethereum"으로의 일반화 과정입니다.
즉, XBox가 아케이드와 비교되는 것처럼 Ethereum은 실제로 "Bitcoin"보다 높은 수준의 추상화입니다.
이런 생각을 따라가다 보면 어떻게 하면 더 잘할 수 있을지 쉽게 생각할 수 있는데 정말 지금 세대와 다른 블록체인을 만들고 싶다면 다음 세대는 어떤 모습일까요?
더 나은 성능이 아니라 더 높은 추상화여야 합니다.
시스템을 더 높은 수준의 추상화로 만드는 방법은 무엇입니까?
지금 막 정의를 떠올려보면 그 안의 특별한 디자인과 특별한 디테일을 찾아야 하고, 흔하지 않은 것이면 잘라내고, 좀 더 일반적인 디자인으로 바꾸는 방법을 찾아야 한다.
오늘날의 블록체인 시스템에서 특별한 디자인은 무엇입니까? 여러분과 공유할 몇 가지 사항을 찾았습니다.
(1) 특정 계정 시스템
블록체인은 사람과 자산이 상호작용하는 시스템으로 그 안에 사람과 사용자가 있기 때문에 이를 대표할 사용자마다 계정과 아이덴티티를 만들어야 합니다. 계정이 다른 사람의 소유인지 확인하는 방법은 무엇입니까? 계정 내부의 데이터 모델은 무엇입니까? 이러한 것들은 오늘날의 블록체인 시스템에 하드 코딩되어 있으며 개발자와 사용자를 돕기 위해 블록체인 디자이너가 선택합니다. 사용자 또는 개발자로서 귀하는 이를 대체할 권리가 없습니다.
계정의 확인을 예로 들어 비트코인이든 이더리움이든 시스템에서 지정합니다.시스템에 요청을 보내고 트랜잭션을 구성하려면 특정 암호화 알고리즘을 사용하여 서명해야 합니다. 이것은 필수입니다.의 디자인. 블록체인 사용자는 이를 변경할 방법이 없으며 시스템에 하드 코딩되어 있습니다.
그러나 이러한 의무적인 설계는 실제로 많은 문제를 야기할 것이며, 그 중 가장 분명한 것은 블록체인 사용자에 대한 문턱이 매우 높다는 것입니다. 역사적인 이유로 인해 이루어진 특정 선택은 오늘날 많은 인터넷 시나리오에서 사용되는 암호화 알고리즘과 다릅니다. 예를 들어, 현재 모든 휴대전화에는 보안 칩이 있으며 개인 키를 보관하기 위해 보안 칩을 사용하는 것이 가장 편리하고 안전하지만 보안 칩이 선택한 암호화 알고리즘 대신 R1 또는 RSA 알고리즘을 사용할 수 있습니다. 블록체인 , 비호환성으로 인해 기존 계정 시스템을 사용하는 대신 니모닉 기술을 사용하여 계정 시스템을 다시 설정해야 합니다.
이제 다른 계정 시스템은 무엇입니까? 실제로 많은 우체통, 얼굴인식, 생체인식 등이 있지만 블록체인 계정 시스템과 호환되지 않는다는 점에서 특정 설계가 낳은 걸림돌이다.
(2) 특수 암호 알고리즘
예를 들어 오늘 특정 블록체인에서 애플리케이션을 개발하고 싶은데 이 플랫폼에서 지정한 제한된 옵션을 사용하고 싶지 않은 경우 어떻게 해야 합니까? 당신은 아무것도 할 수 없습니다, 당신은 아무것도 할 수 없습니다.
이더리움에는 EVM 가상 머신에 작성된 특정 암호화 알고리즘인 Precompiles가 있는데, 이 알고리즘을 사용하지 않으려면 Solidity에서 다시 구현할 수 있지만 효율성이 매우 낮습니다. EVM 자체도 매우 비효율적입니다. .
이로 인해 어떤 문제가 발생합니까? 암호화 알고리즘은 실제로 표준입니다.국가마다 암호화 알고리즘 표준이 다릅니다.미국도 비밀이 있고 중국도 국가 기밀이 있지만 블록 체인을 선택하는 것은 어떤 종류의 표준이 아닙니다. 이는 블록체인을 적용하고자 할 때 기존 표준과의 호환성이 어려워 사실상 블록체인 기술 진흥에 걸림돌이 되고 있음을 의미한다.
(3) 런타임 환경
이제 거의 모든 블록체인 플랫폼이 스마트 계약을 지원하며 스마트 계약은 가상 머신 및 상태 모델을 포함할 수 있는 적절한 환경에서 실행되어야 합니다. 런타임 환경 자체는 컴퓨팅 시간, 런타임, 검증 런타임 등으로 나눌 수 있으며 각각에는 다양한 옵션이 있습니다. 예를 들어 가상 머신은 EVM 또는 RISC-V 가상 머신 등을 사용할 수 있습니다. 그러나 오늘날 보이는 모든 블록체인 디자인은 블록체인 디자이너가 개발자를 위해 선택한 특정 조합이며 개발자는 다른 옵션을 자유롭게 선택할 수 없으므로 개발자에게 문턱이 생깁니다. 블록체인 시스템에 진입하기 위해 개발자는 오늘날 작업에서 사용되는 것과 완전히 다른 일련의 것을 학습해야 할 수 있으며 이러한 한계도 매우 크다고 생각합니다.
개발자에게는 학습 비용이 있을 뿐만 아니라 블록체인 성능 및 보안에도 영향을 미칩니다. 대체로 블록체인 시스템 작성자는 귀하를 위해 선택했으며 블록체인 시스템을 사용하는 한 더 이상 다른 선택을 할 수 없습니다.
위의 세 가지 측면은 현재 볼 수 있는 블록체인의 추상적인 수준에서 상대적으로 큰 문제이며 우리도 이러한 문제를 해결하기를 희망합니다. 해결 방법도 매우 간단합니다. 이제 문제가 발견되었으므로 사용자와 개발자에게 더 많은 선택권을 제공하기 위해 계정을 추상화하고 암호화를 추상화하고 런타임을 추상화해야 합니다.
어떻게 하죠? 계정 추상화 계층에서 Nervos는 새로운 데이터 계정 모델인 셀 모델을 도입했습니다. 계정 추상화로 어떤 효과를 얻을 수 있습니까? 추상 계정의 응용 프로그램은 다른 위치의 사용자가 사용할 수 있습니다.
예를 들어 일반 인터넷 사용자이고 이메일 주소만 있으면 블록체인에서 직접 애플리케이션을 사용할 수 있으며 새 지갑 항목을 다운로드할 필요가 없으며 개인 키를 설정할 필요가 없습니다. 또는 mnemonic. 이메일 주소를 계정으로 사용할 수 있습니다.
또한 휴대폰의 보안 칩을 이용하여 안전하고 편리하게 계정을 설정할 수 있도록 도와드립니다. 휴대 전화 칩이 얼굴 인식과 연결되어 있으면 직접 얼굴 인식을 사용하여 계정을 제어할 수 있습니다.전 과정에서 블록체인에 대해 특별한 것을 배울 필요가 없으며 가지고 있는 것을 사용하면 됩니다.
Nervos에는 이미 많은 응용 프로그램이 있습니다 Unipass와 같은 응용 프로그램은 전자 메일을 기반으로 하는 분산형 블록체인 계정 시스템이며 DAS와 같은 응용 프로그램도 추상 계정의 특성을 사용하여 인터넷 사용자, 이더리움 사용자 및 EOS 사용자를 만듭니다. 애플리케이션을 직접 운영할 수 있으며, Nervos 사용자만이 애플리케이션을 운영할 수 있는 것이 아니라 상호 운용성입니다.
암호화 추상화를 수행하는 방법은 무엇입니까?
암호화 추상화의 핵심에는 매우 효율적인 가상 머신이 필요합니다. 자체 구현한 고효율 가상 머신은 CKB-VM으로 개방형 명령어 레벨 RISC-V를 사용합니다. RISC-V 명령어 레벨의 특성 덕분에 CKB-VM은 개발자가 C와 Rust를 사용하여 암호화 알고리즘을 구현할 수 있도록 합니다. , 이점은 효율성이 높을 뿐만 아니라 많은 성숙한 암호화 알고리즘 구현을 블록체인으로 직접 이동하여 실행할 수 있습니다. 즉, Nervos로 이동하여 실행할 수 있습니다.
암호알고리즘의 구현은 실제로 매우 어려운 작업이므로 암호알고리즘을 먼저 구현하면 실수하기 쉽습니다. 암호화 알고리즘의 구현이 안전한지 여부를 판단하는 방법은 무엇입니까? 유일한 최고의 테스트 기준은 성숙도와 사용 시간입니다.더 많은 사람들이 사용할수록 더 오래 사용할수록 더 안전해집니다.
C와 Rust가 수행한 암호화를 직접 이식할 수 있다는 장점은 한 세트를 다시 구현할 필요가 없다는 것입니다. 버그가 있을 수 있으며 수정하는 데 시간이 걸립니다.
고성능 EVM과 C와 Rust를 지원하는 EVM을 통해 기존의 대부분의 암호화 알고리즘이 C와 Rust로 구현되어 있기 때문에 현재 암호화 알고리즘의 대부분을 효율적으로 재사용할 수 있습니다.
런타임에 추상화를 수행하는 방법은 무엇입니까?
개발자 입장에서는 개발자가 개발을 위해 특정 언어를 강제로 사용하지 않고 개발에 이미 익숙한 언어를 사용할 수 있습니다. JAVAscript, Ruby, Rust, C 등이 개발에 사용됩니다. . 또한 스마트 계약을 작성할 때 스마트 계약의 내부 메모리 레이아웃과 데이터 레이아웃을 규정하지 않고 유연하게 선택할 수 있는 것이 우리가 달성하고자 하는 것입니다.
Nervos는 실제로 이 방향으로 블록체인을 개선하고 있습니다.우리가 만들고자 하는 것은 더 빠른 블록체인이 아니라 더 높은 수준의 추상화를 가진 블록체인일 수 있습니다. 그러나 추상화 수준을 높일 수 있으면 더 많은 일을 할 수 있습니다. 성능이든 처리량이든 상위 추상화 수준의 부작용이 될 것입니다.
추상화 수준이 더 높으면 체인에서 더 많은 것을 이동하거나 오늘 아침 Vitalik이 말한 것처럼 레이어 2로 이동할 것입니다. Layer 1과 Layer 2의 분리, 또는 계산과 검증의 분리는 추상화 수준 변화의 부작용이므로 우리가 추구해야 할 것은 성능의 변화를 직접적으로 추구하기보다는 추상화 수준의 변화이다.
마치 XBOX에서 PC로 바뀐듯 XBOX는 일반플랫폼이지만 여전히 사람들에게 많은 제약을 주고 있습니다. PC는 또한 이러한 제한을 제거하고 하드웨어 수준에서 보다 일반적인 처리를 수행하여 사람들이 그래픽 카드, CPU, 메모리, 마더보드 및 하드 드라이브를 변경할 수 있도록 합니다. 따라서 PC는 보다 일반화된 시스템이며 표준입니다. 이러한 관점에서 PC는 XBOX보다 더 높은 추상화 수준을 가진 시스템이며 더 높은 작업을 수행할 수 있고 사용자의 더 많은 요구를 충족하며 개발자에게 더 많은 편의를 제공할 수 있습니다.