
통신 및 시각화 모바일 단말 장치의 점진적인 대중화로 인해 사람들은 web3 또는 metaverse 개념으로 몰려들었습니다. 그리고 새로운 세상으로 가는 길은 어떻게 가야 할까요? 그러나 명확한 답은 없습니다. DFINITY는 5년의 탐색 경험으로 "인터넷 컴퓨터"의 길을 탐색했습니다. 효과적인 솔루션이 될 수 있습니까?
소개하다
소개하다
DFINITY는 스위스에 본사를 둔 비영리 조직으로 모든 수입은 탈중앙화 오픈 소스 네트워크 프로젝트인 Internet Computer의 연구 개발 및 홍보에 참여하는 한 가지 목적으로만 사용할 수 있습니다. 이 프로젝트는 DFINITY가 주도하지만, 거버넌스 시스템은 온라인이 된 날부터 시작되었으며 네트워크의 실제 물리적 노드는 많은 제3자 독립 운영자가 독립적으로 운영합니다.
전체 프로젝트는 거버넌스 토큰의 소유자, 즉 전체 커뮤니티에 속합니다. DFINITY는 주요 기술 기여자로서 전체 플랫폼의 개발 및 홍보에 계속 참여할 것이지만 우리는 기여자 중 한 명일 뿐입니다. 출시된 지 불과 3개월 만에 다른 많은 커뮤니티 팀이 이미 참여했습니다. 이 플랫폼의 개발은 전체 커뮤니티의 기여와 불가분의 관계에 있습니다. 분권화를 더욱 촉진하는 것이 현재 우리의 주요 목표입니다.
인터넷 컴퓨터 플랫폼의 창시자로서 DFINITY의 비전은 블록체인 특이성입니다. 즉, 인터넷에서 실행할 수 있는 모든 애플리케이션은 블록체인 기술로 구축되어야 합니다.
이를 달성하기 위해 우리는 TCP/IP 레이어 위와 애플리케이션 레이어 아래에 블록체인 합의 기술을 기반으로 하는 프로토콜 레이어를 추가했으며 이를 ICP(Internet Computer Protocol)라고 합니다. 이 프로토콜 세트는 여러 물리적 노드(컴퓨터) 간에 데이터를 교환하여 가상 서브넷을 구축합니다.
서브넷 내부의 노드는 입력과 출력에 대한 합의에 도달하고 계산 결과를 상호 검증하며 다른 서브넷과 통신할 수 있습니다. 여러 개의 서브넷을 결합하여 가상 컴퓨터를 구축합니다. 서브넷의 증가에 따라 용량이 증가할 수 있습니다. 누구나 여기에서 프로그램을 실행하고 다른 사람의 프로그램에 액세스하는 등의 작업을 수행할 수 있습니다.
그러나 현재의 인터넷, 특히 마이크로 서비스의 개념이 다르지 않은 것처럼 들립니다. 그렇다면 왜 현재의 인터넷을 인터넷 컴퓨터라고 부를 수 없을까요?
차이점은 이 ICP 세트의 프로토콜에 있습니다. 이 프로토콜의 목적은 모든 프로그램이 올바르게 실행되고 상태가 변경될 수 없으며 프로그램이 다른 프로그램을 호출할 때 호출이 올바르게 실행될 것이라고 신뢰할 수 있도록 하는 것입니다. 현재 인터넷에는 이러한 프로토콜 계층이 없기 때문에 모든 프로그램은 가용성, 신뢰성 및 상호 인증과 같은 번거로운 문제를 자체적으로 해결해야 하므로 다양한 비호환성 및 보안 부담을 가져옵니다.
질문 1
질문 1
Internet Computer는 프로그램 구성의 새로운 패러다임을 제공하고 자체 "전문 용어" 집합을 가지고 있습니다. 이러한 "전문 용어"에 대해 간략히 소개하고 개발자에게 가장 유용하다고 생각하는 인프라는 무엇입니까?
대답: 먼저 최종 사용자의 관점에서 여러 가지 다른 각도에서 이야기할 수 있습니다.
인터넷 컴퓨터에서 애플리케이션에 액세스하는 것은 기본적으로 일반 웹 사이트에 액세스하는 것과 동일하며 사용자는 비용을 지불할 필요가 없습니다. 이는 기존 클라우드 서비스를 사용할 때와 동일하며 비용은 프로젝트 당사자가 부담합니다. 대부분의 다른 블록체인은 사용자에게 가스 요금을 청구하고 상대적으로 높은 임계값을 가진 사전 설치된 지갑 소프트웨어가 필요합니다.
컴퓨팅 및 스토리지를 포함한 애플리케이션 운영 비용은 인터넷 컴퓨터의 기본 토큰인 주기로 측정됩니다. 사이클 가격은 SDR(1SDR = 1조 사이클)로 고정됩니다. SDR의 가격은 미국 달러와 위안화를 포함하여 국제통화기금(IMF)이 설정한 통화 바스켓에 의해 가중되며 상대적으로 안정적입니다.
사용자의 관점으로 돌아가서, 그들은 주기의 개념에 신경 쓸 필요가 없습니다. 그러나 많은 응용 프로그램은 사용자 로그인을 처리해야 하므로 Internet Computer는 Internet Identity라고 하는 익명의 ID 관리 시스템도 출시했습니다. 이 시스템은 완전히 웹 표준을 기반으로 하며 사용자는 이를 사용하기 위해 지갑 소프트웨어를 설치할 필요가 없습니다.
이 모든 것은 블록체인의 적용이 실제로 나갈 수 있도록 사용자가 사용할 수 있는 문턱을 낮추기 위한 것입니다. 인터넷 신원은 주로 여러 장치에 로그인하는 하나의 신원 문제를 해결하기 위한 것입니다. 또한 다른 응용 프로그램에서는 응용 프로그램에서 얻은 코드가 다르기 때문에 사용자의 행동이 악의적으로 추적되는 것을 방지할 수 있습니다.
마지막으로 사용자는 Internet Computer의 거버넌스에 참여하는 데 관심이 있을 수 있습니다. 이것은 우리의 혁신 중 하나인 NNS라는 뉴런 투표 시스템입니다. 또한 응용 프로그램 수준에 있지만 특별한 권한이 있습니다. 즉, 모든 인터넷 컴퓨터 서브넷과 노드에서 실행되는 코드, 버전 업그레이드, 새 서브넷 생성, 새 노드 액세스를 포함하여 전체 시스템의 모든 측면을 관리할 수 있습니다. 등 기다리십시오.
투표에 참여하려면 먼저 ICP 토큰을 보유하고 일정량의 ICP를 잠가 뉴런을 얻어야 합니다 투표의 가중치는 잠긴 위치의 수, 잠긴 위치의 길이, 뉴런의 나이와 관련이 있습니다. 투표에 참여하는 것 또한 보상이 될 것이며, 보상의 양은 찬성 또는 반대 투표와는 아무런 관련이 없습니다. 또한 다른 뉴런의 결정을 따라 자동으로 투표할 수도 있습니다. 전반적으로 이러한 설정은 투표에 대한 사용자의 행동을 플랫폼의 장기적인 이익과 연결하고 사용자의 기여에 대해 보상하도록 설계되었습니다.
사용자 관점에 대해 이야기한 후 개발자 관점에서 살펴보겠습니다.
인터넷 컴퓨터에서 실행되는 응용 프로그램은 캐니스터라는 경량 컨테이너에 캡슐화됩니다. 일반적으로 모두에게 친숙한 도커 컨테이너의 개념은 조금 다릅니다 캐니스터는 코드를 캡슐화할 뿐만 아니라 컨테이너의 상태를 자동으로 유지합니다. 단순히 오래 실행되는 운영 체제 프로세스로 이해할 수 있습니다. 메모리 및 메시지 대기열을 포함한 프로세스 상태는 자동으로 저장되며 전원을 켜거나 꺼도 손실되지 않습니다. 이것은 파일 시스템의 개념이 인터넷 컴퓨터에서 제거되었음을 의미하며 개발자는 데이터를 저장하기 위해 파일 및 하드 디스크를 읽고 쓰는 것을 고려할 필요가 없으므로 상당한 단순화입니다.
개발자가 이해해야 할 또 다른 사항은 캐니스터 간의 통신 모드가 비동기식이며 액터 모델에 속한다는 것입니다. 즉, 각 캐니스터는 자체 프로세스이며 메시지를 보내는 즉, 비동기식 메서드 호출을 통해 다른 캐니스터와 통신합니다. 캐니스터의 내부 메시지 큐 처리는 단일 스레드이며 잠금을 고려할 필요가 없으며 각 메소드 호출은 원자적입니다. 액터 모델 프로그래밍에 익숙하다면 쉽게 시작할 수 있습니다.
애플리케이션을 개발하기 위해 일반적으로 캐니스터 컨테이너가 백엔드로 사용되며 프론트엔드 상호 작용은 브라우저 또는 별도의 APP에 있을 수 있습니다. 앞서 인터넷 컴퓨터가 웹사이트를 직접 실행할 수 있다고 언급했는데, 이는 캐니스터가 자체적으로 http 요청 인터페이스를 구현하고 Javascript를 포함하는 웹페이지를 사용자의 단말기로 반환할 수 있음을 의미합니다. 프런트엔드와 백엔드는 캐니스터에 함께 패키징되어 인터넷 컴퓨터에 배포될 수 있습니다.
Javascript와 Rust 모두 프런트 엔드 개발을 위한 기성품 라이브러리가 있습니다. 프론트엔드가 백엔드 코드를 호출해야 할 때 비동기 함수가 직접 호출 대기하도록 하면 맨 아래 계층이 라이브러리 함수로 구현됩니다. 더 많은 정보가 필요한 경우 다국어 구현을 지원하는 Candid라는 인터페이스 및 데이터 인코딩 형식이 있습니다. Canister는 Candid를 사용하여 외부 인터페이스 및 데이터 유형을 설명합니다.
일반적으로 개발자가 이해해야 하는 것은 캐니스터의 개념을 중심으로 이루어집니다. WebAssembly, Actor 모델, Orthogonal Persistence(자동 지속성), Motoko, Candid. 또한 인터넷 컴퓨터 인터페이스의 표준인 System API에 대해 학습하는 것이 좋습니다. https://sdk.dfinity.org/docs/interface-spec/
이 정보는 전체 시스템의 모든 측면을 포함하는 매우 상세하며 개발자가 시스템의 동작을 심층적으로 이해하는 데 편리한 인터페이스의 의미 체계를 정의하기 위해 많은 공식적인 노력을 기울였습니다.
질문 2
질문 2
전통적인 Alibaba Cloud, Tencent Cloud, AWS 및 기타 플랫폼과 비교할 때 인터넷 컴퓨터의 차이점은 무엇입니까? 또한 회사에서 구축한 사설 클라우드 서비스이며 데이터 센터, 원격 백업 및 다중 노드 운영도 사용합니다.
답변: 현재 클라우드 서비스 플랫폼은 모두 기반을 두고 있으며, 플랫폼의 보안 유지, 네트워크 연결 유지, 중단 없는 컴퓨팅, 데이터 손실 등을 플랫폼 제공업체에 의존해야 합니다.
대부분의 경우 상용 플랫폼 자체의 이익과 서비스를 제공하는 사용자의 이익 사이에 충돌이 없지만 완전히 일치하지는 않습니다. 플랫폼 리스크(Platform Risk)라는 것은 모두가 익숙해야 할 개념이므로 여기서는 다루지 않겠습니다.
하지만 가장 중요한 점은 이러한 클라우드 플랫폼 인프라 제공자들이 상품(replaceable commodities)이 되기를 원하지 않고, 고객을 유지하고 가두기 위해 최선을 다하고 있다는 점입니다.
인터넷 컴퓨터는 처음에 분산형 네트워크로 존재했습니다. 내부 노드는 모두 타사에서 운영하며 다른 데이터 센터에서 실행됩니다. 실제 네트워크의 관리는 노드 운영자나 데이터 센터가 아닌 사용자에게 넘겨집니다.
따라서 모든 결정을 내릴 중앙 집중식 비즈니스 조직이 없습니다. 전체 거버넌스 시스템의 설계도 사용자 이익과 플랫폼 개발의 일관성을 유지하기를 희망하는 장기적인 관점을 기반으로 합니다. 이 플랫폼은 노드 운영자에게 지불되며 특정 노드가 Zhang San 또는 Li Si가 운영하는지 여부는 전혀 중요하지 않으며 이것은 자유 시장입니다. 그래서 인터넷 컴퓨터에 있어 하드웨어, 네트워크 등의 인프라는 상품(대체 가능한 상품)이 되었습니다.
전체 PC 산업의 발전사를 돌이켜보면 실제로 인프라(PC 하드웨어 등)가 상품(대체 가능한 상품)이 되는 것은 필연적인 역사의 법칙임을 알 수 있으며, 클라우드에서도 예외는 아닐 것이라고 생각합니다. 서비스.
인터넷 컴퓨터와 같은 컴퓨팅 플랫폼은 하드웨어 인프라에서 분리되었다고 할 수 있습니다. 이러한 종류의 비즈니스 모델은 탈중앙화와 블록체인 기술 없이는 상상할 수 없습니다. 그러나 오늘날 그것은 현실이 될 수 있으며, 이는 시대의 진보를 가장 잘 해석한 것입니다.
비트코인과 이더리움을 거쳐가는 과정에서 일부 사람들은 통화 가격 과대 광고와 폰지 사기를 본 직후에 이 새로운 것에 대해 부정적인 태도를 가지고 있습니다.
관심사의 일관성 외에도 또 다른 측면은 시스템 중복을 단순화하기 위해 보다 진보된 기술을 사용하여 전체 플랫폼 비용을 절감하고 이는 사용자에게 절감 효과를 가져오는 것입니다.
앞서 트러스트 컴퓨팅의 장점도 많이 언급했는데, 사실 분산적인 장점도 있고 최첨단 암호화 기술을 사용하는 장점도 있습니다. 이는 방화벽과 같은 많은 기존 기술 유지 관리 작업이 기본적으로 더 이상 필요하지 않음을 의미합니다. 고객이 이러한 현재 클라우드 플랫폼을 잘 사용하려면 운영 및 유지 관리에 많은 투자를 해야 합니다. 그리고 인터넷 컴퓨터는 이 부분에서 많은 비용을 절약할 수 있습니다.
세 번째 요점은 응용 프로그램의 토큰화인 토큰화입니다. 이것은 막을 수 없는 전체 인터넷 응용 프로그램의 발전에서 다음 추세라고 할 수 있습니다. 기존의 클라우드 서비스 제공업체도 기껏해야 블록체인과 연결 구성 요소를 제공하며 그 아키텍처는 완전한 세트 이후 불가피하게 상당히 부풀어 오릅니다. Internet Computer는 웹사이트와 애플리케이션을 직접 실행할 수 있기 때문에 네이티브 블록체인으로 토큰화를 통합하는 것이 매우 쉽습니다.
질문 3
인터넷 컴퓨터의 모든 스마트 계약은 "확장 가능"합니다. 구체적으로 프로토콜의 확장은 기술 수준에서 어떻게 작동합니까? 확장 사례가 있습니까?
답변: 확장성에는 여러 차원이 있습니다. 하나는 저장 공간, 다른 하나는 네트워크 트래픽, 다른 하나는 단위 시간당 처리할 수 있는 트랜잭션 수인 컴퓨팅 성능입니다. 확장 가능한지 여부는 주로 알려진 병목 현상을 우회할 수 있는지 여부에 달려 있습니다. 공용 플랫폼에서는 다양한 사용자와 애플리케이션 간에 제한된 리소스를 할당하는 방법도 고려해야 합니다.
Internet Computer의 주요 설계 아이디어는 확장, 즉 리소스를 추가하고 새 서브넷을 만들어 병목 현상을 해결하는 것입니다. 이 아이디어는 기본적으로 주류 웹 애플리케이션의 아이디어와 동일합니다.애플리케이션이 하나의 캐니스터를 통해 모든 사용자 요청을 처리할 수 없는 경우 여러 캐니스터를 사용하여 애플리케이션 수준에서 일부 사용자 요청을 처리하는 것이 합리적입니다. 즉, 애플리케이션을 설계할 때 이를 고려하고 최소한 새로운 아키텍처로 마이그레이션할 가능성은 남겨두어야 합니다. 현재 OpenChat은 여러 개의 캐니스터를 사용하도록 설계되었으며 DSCVR도 이에 대한 여지를 남겨두고 있지만 여전히 하나의 캐니스터에 중점을 둡니다.
시스템 수준에서 캐니스터 확장을 통해 4G 메모리의 현재 임계값을 초과할 수 있습니다. 컴퓨팅 측면에서도 동시성의 지도 이데올로기에서 시작하며 Ethereum의 글로벌 원자 설계를 선택하지 않습니다. 따라서 다른 캐니스터는 자체 스레드에서 자체 메시지를 처리합니다.하드웨어 로드가 허용하는 한 다른 캐니스터의 성능에 영향을 미치지 않습니다. 네트워크는 기본적으로 대역폭이 확장의 상한선을 결정합니다.어떤 블록체인도 이 물리적 병목 현상을 피할 수 없으며 인터넷 컴퓨터의 서로 다른 서브넷에 해당하는 단편화만 사용할 수 있습니다.
물론 시스템 수준에서 성능을 향상시킬 수 있는 다양한 최적화 솔루션이 있으며, 하드웨어의 성능을 최대한 발휘할 수 있기를 바라며 이를 위해 노력해 왔습니다.
질문 4
어떤 유형의 Dapp을 휴대하기에 더 적합합니까? 현재 인터넷 컴퓨터에 DeFi 프로토콜이 상대적으로 적다는 것을 알았습니다.향후 인터넷 컴퓨터에서 Dapp 트랙의 방향은 무엇입니까?
답변: DeFi는 주로 유동성이 있어야 촉진할 수 있으며 보안상의 이유로 캐니스터 전송 ICP 기능이 아직 개방되지 않아 유동성도 제한됩니다. 그러나 이 제한은 일시적인 것으로 현재 온라인화 이후 전체 네트워크의 안정성이 양호하며 적절한 시기에 NNS 투표를 통해 이 제한이 해제될 것이라고 믿습니다. 저는 많은 개발자들이 이미 준비가 되어 있고 DeFi 애플리케이션의 폭발적인 증가는 시간 문제일 뿐이라고 믿습니다.
개인적으로 저는 여전히 Internet Computer의 현재 소셜 dapp에 대해 매우 낙관적입니다. 이 트랙이 토큰화의 축복을 받으면 매우 빠르게 성장할 것이며 확실히 DeFi 및 NFT 게임보다 열등하지 않을 것입니다. 다른 블록체인에 소셜 속성을 가진 dapp도 있지만 모두 시작의 문턱이 있습니다.결국 지갑을 올바르게 사용하는 단계는 많은 사용자를 당황하게 합니다. 인터넷 컴퓨터의 dapp은 웹 표준 기술을 사용하며 모든 브라우저에서 액세스할 수 있습니다.
제가 낙관하는 또 다른 방향은 개인 사용자와 중소기업을 위한 애플리케이션입니다. 프로젝트 관리, 파일 공유, 크리에이터 경제(팟캐스트, 브이로그, 웹 기사 등)의 경우 인터넷에 비교적 성숙한 솔루션이 있지만 플랫폼 위험은 항상 존재합니다. 앞서 클라우드 서비스의 플랫폼 리스크에 대해서도 말씀드렸는데, 그 외 다양한 분야에서 거대 독점의 경험은 다들 있으실 거라 생각합니다. 이제 탈중앙화 구조는 새로운 가능성이며, 플랫폼 자체는 먹이사슬의 상위에 자리 잡고 대군주 조항으로 사용자의 이익을 삼키는 대신 투명한 존재가 되어야 합니다.
최종 분석에서 미래가 있는 트랙은 애플리케이션이 빠르게 가치를 수집할 수 있는지 여부에 따라 달라집니다. 이 값은 언제든지 변경될 수 있으므로 프로젝트가 잠긴 정도를 의미하지는 않습니다. 사용자 및 다른 응용 프로그램과 얼마나 많은 연결을 설정했는지에 대한 것입니다. 이 연결은 신뢰가 깊어지고 사용이 증가함에 따라 점점 더 가치가 높아질 것입니다. 코드를 붙여넣을 수 있지만 이 연결은 복사할 수 없습니다. 그리고 적절하게 사용된다면 토큰은 가치 축적을 어느 정도 가속화할 수 있지만 결국에는 프로젝트 자체의 내재적 가치에 달려 있습니다.
질문 5
Webassembly에서 실행되는 컨테이너인 Canister는 Dapp 체인에서 실행되는 환경을 호스팅합니다. Canister의 최근 소식은 무엇입니까?
답변: 이번 주 월요일에 DFINITY는 개발 로드맵을 발표하고 커뮤니티의 참여를 환영합니다. https://dfinity.org/roadmap. 그 중 캐니스터와 관련된 것은 다음과 같습니다.
1. 안정적인 메모리 확장
2. 캐니스터 ECDSA 서명
3. 데이터 프라이버시를 보호하기 위해 AMD SEV 적용
용량 증설은 현재 주로 안정적인 메모리, 즉 코드 업그레이드에 영향을 받지 않는 메모리 관리를 위한 것이다. 기존에는 Wasm 가상머신의 4GB 제한으로 제한되었으나 현재는 해제가 가능하며, 현재 300GB 정도인 서브넷의 총 메모리로 상한이 제한된다.
ECDSA 임계값 서명 기술은 단순히 각 캐니스터가 개인 키를 저장하지 않고 데이터에 서명할 수 있고 이 서명을 공개 키로 확인할 수 있으며 각 캐니스터가 고유한 공개 키를 얻을 수 있음을 의미합니다. 이것은 우리가 이미 구현한 체인 키 기술과 일치하며 광범위한 응용 프로그램을 가지고 있습니다.예를 들어 캐니스터는 비트코인 또는 이더리움 트랜잭션을 직접 시작하고 서명할 수 있습니다.
즉, 개인 키는 개인 환경에서 프로그램에 넘겨야 하지만 이제는 탈중앙화 환경에서도 가능합니다. SSL 인증서, DNS 사용자 지정 도메인 이름 등을 발급하는 데에도 사용할 수 있습니다.
AMD SEV의 기술 사용은 주로 Canister의 데이터 프라이버시를 어느 정도 보호하여 노드 운영자도 사용자 데이터를 스누핑할 수 없도록 합니다. 우리는 이에 대한 준비를 해왔고 상당히 어렵습니다. 다행히 현재 노드들이 사용하는 하드웨어는 이미 SEV 기술을 지원하고 있으니 그때까지는 순조로운 업그레이드가 되었으면 하는 바램입니다.
질문 6
"개방형 상호 연결 서비스"는 영구적인 API를 구현할 수 있으므로 개발자가 다른 서비스에 의존하는 데이터나 기능을 안심하고 구축할 수 있으며 해지 위험이 없습니다. 개방형 인터넷 서비스는 인터넷 컴퓨터에 어떻게 배포됩니까?
답변: 지속적 API를 제공하는 가장 쉬운 방법은 빈 세트로 설정하여 캐니스터 컨트롤러의 코드를 수정할 수 없도록 만드는 것입니다.
저는 개인적으로 블랙홀이라는 아주 간단한 캐니스터도 만들었습니다. 주요 목적은 다른 캐니스터가 컨트롤러를 블랙홀로 설정하여 코드를 수정할 수 없게 할 뿐만 아니라 블랙홀이 책 주기의 균형을 확인하거나 코드의 해시 값을 확인하는 것과 같은 추가 쿼리 기능을 제공하는 것입니다. 블랙홀의 컨트롤러 자체가 자체로 설정되어 있고 코드도 공개되어 있어 해시 값의 정확성을 쉽게 확인할 수 있습니다. 캐니스터를 다른 사람이 신뢰해야 하는 경우 컨트롤러를 블랙홀로 설정하는 것이 깔끔한 방법입니다.
그러나 여전히 코드 업그레이드 기능을 유지해야 하는 경우 커뮤니티 거버넌스 기능을 도입해야 합니다. 우리가 개발 중인 Service Neuron 시스템은 애플리케이션이 토큰을 잠가 뉴런을 생성한 다음 코드 업그레이드를 포함하여 애플리케이션의 모든 측면을 관리하기 위해 투표할 수 있도록 합니다.
물론 우리가 만든 SNS 시스템은 아직 개발 중이고 아직 사례가 없다. 그리고 그것은 후보 솔루션 중 하나일 뿐이며 커뮤니티는 이미 이 영역에서 다른 시도를 해왔고 점차 성숙해질 것이라고 믿습니다.
질문 7
보안은 컴퓨터에게 중요한 문제입니다.인터넷 컴퓨터는 방화벽과 같은 기능을 대체하기 위해 어떤 메커니즘을 사용합니까? 변조 방지 측면에서 다른 블록체인 하부 레이어와 비교하여 DFINITY의 특징은 무엇입니까?
답변: 방화벽의 주요 기능 중 하나는 해커가 시스템에 침입하여 인트라넷에 액세스하여 데이터를 훔치거나 변조하는 목적을 달성하는 것을 방지하는 것입니다. 우선, 내부 및 외부 네트워크 권한의 구분이 매우 문제가 됩니다. 일단 위반되면 인트라넷의 모든 기본 권한이 공격자에게 노출되기 때문에 매우 취약합니다. 따라서 많은 기업들이 이러한 접근 방식을 포기하고 서비스별로 권한을 설정하고 통합 ID 관리 기술을 사용하여 사용자를 인증하는 방식으로 변경하는 것을 확인했습니다.
이에 대응하는 것이 인터넷 컴퓨터의 ID 관리입니다. 공개 키는 사용자 ID에 해당하며 각 캐니스터는 호출자의 ID를 얻을 수 있습니다. 이 ID는 캐니스터를 호출하는 사용자이든 캐니스터 간 호출이든 제3자가 변경할 수 없습니다. 이것이 달성될 수 있는 이유는 이러한 종류의 호출이 합의 프로토콜, 특히 교차 서브넷 호출을 통과해야 하고 개시자와 응답자 모두 합의 프로토콜을 통과해야 하며 확인 후 승인 및 실행되기 때문입니다.
모든 서브넷 서명의 유효성을 빠르고 효율적으로 확인하려면 우리가 개발한 체인 키 기술을 사용해야 합니다. 임계값 서명 공개 키가 변경되지 않도록 하면서 동적 노드 연결 및 제거를 지원할 수 있습니다. 이것은 현재 다른 블록체인에서는 불가능하므로 Internet Computer는 현재 트랜잭션 검증의 선두주자이며 기본적으로 서브넷 간에 데이터를 동기화할 필요가 없습니다(각 서브넷의 필수 공개 키와 노드 공개 키 제외).
인터넷 컴퓨터의 데이터를 변조하려면 노드의 권한을 뚫는 것만으로는 충분하지 않습니다. 서브넷 노드 수의 2/3 이상을 제어할 수 있어야 합니다. 따라서 서브넷의 보안은 어느 정도 노드 수에 따라 달라집니다. 또한 노드의 불규칙한 순환을 통해 이러한 측면의 보안을 더욱 강화할 수 있습니다. 서브넷이 침해되더라도 다른 서브넷의 신원을 가장할 수 없으므로 손실 범위를 제어할 수 있습니다.
데이터가 진정성 있고 신뢰할 수 있으며 변조되지 않았는지 확인하는 것과 데이터 개인 정보 보호는 또 다른 문제입니다. 대부분의 블록체인은 공개 데이터이므로 개인 정보 보호가 없습니다. 동형 암호화와 같은 기술을 사용하여 애플리케이션 수준에서 진정한 개인 정보 보호를 달성할 수 있지만 현재 효율성은 충분하지 않습니다. 그래서 현재 계획은 AMD SEV 기술을 적용하여 하드웨어 수준에서 암호화하는 것입니다. 그러나 전체 인터넷 컴퓨터의 보안은 하드웨어에 의존하지 않으며 SEV의 보장은 플러스입니다.
질문 8
DFINITY라는 이름은 실제로 이미 6년 전에 출시되었으며, 메인넷 출시 과정이 상대적으로 느리지만 DFINITY 팀이 정말로 파괴적인 일을 하고 싶어한다는 것을 알 수 있으며 합의도 매우 강합니다. "이더리움의 자매 체인"에서 "세계적 수준의 인터넷 컴퓨터"로 전환하는 데 영향을 준 요인은 무엇입니까?
답변: World Computer의 슬로건은 이더리움이 처음 제시했으며 현재는 DeFi 및 디지털 자산에 더 중점을 두고 있지만 많은 사람들에게 영감을 주었습니다. "세계 일류 인터넷 컴퓨터"의 방향은 항상 DFINITY의 목표였으며 자금 조달 후 변경된 경로가 아닙니다.
처음에는 팀의 제약으로 인해 BLS 및 합의 프로토콜의 명확한 혁신만 있었기 때문에 첫 번째 단계는 이 측면에서 시작하여 체인을 시작한 다음 점진적으로 반복하는 것이었습니다. 하지만 교차 서브넷 통신 문제를 해결하지 않으면 항상 "또 다른 블록체인"의 틀에 박혀 혁신이 어렵다는 것을 깨달았습니다. 교차 서브넷 검증 문제를 해결하고 확장성 약속을 실현하는 체인 키에 돌파구가 있는 것은 바로 팀의 끈기 때문입니다.
돌이켜보면 사실 우리는 계속 스스로에게 질문만 하면 됩니다. 탈중앙화된 블록체인이 웹사이트를 운영할 수 없는 이유는 무엇입니까?
우선 효율성 문제를 해결해야 합니다. 즉, 웹 사이트에 액세스하려면 밀리초 수준의 응답이 필요합니다. 어떻게 할 수 있습니까? 우리의 대답은 상태 수정에서 읽기 전용 쿼리를 분리하여 네트워크 트래픽의 99%가 읽기 전용이고 밀리초 수준의 응답을 얻을 수 있도록 하는 것입니다. 상태를 수정하기 위해 합의 프로토콜의 혁신을 통해 2~3초 이내에 응답을 달성하기도 합니다.
효율성이 달성되었습니다. 콘텐츠의 정확성을 확인하는 방법은 무엇입니까? 일반 브라우저도 그렇게 하도록 만드는 방법은 무엇입니까? 그런 다음 검증에 필요한 조건을 단순화해야 합니다. 과거 블록을 버리고 공개 키만 전달할 수 있습니까? BLS 공개 키로 노드 동적 변경 문제를 해결하는 방법은 무엇입니까? 중앙 집중식 도메인 이름 및 SSL 인증서 문제를 해결하는 방법은 무엇입니까? 액세스 트래픽이 증가하면 용량을 어떻게 확장합니까? 병목 현상과 용량 확장의 경계는 어디에 있습니까? 용량 확장의 필요성과 동기식 계약을 호출하는 방식이 상충되는 경우 어떻게 해야 하나요?
계속해서 질문하고 답을 찾는다면 점차 실질적인 해결책이 나올 것이라고 믿습니다. 이것이 DFINITY가 지난 몇 년 동안 해온 일입니다.
질문 9
Ethereum은 EIP-1559 업그레이드를 막 완료하여 디플레이션의 첫 단계를 밟았고 토큰 가격은 점차 상승했습니다. 분산형 인프라의 경우 토큰의 성능이 지지자에게 더 많은 인센티브를 제공한다고 생각하십니까 아니면 기술 중단이 더 중요하다고 생각하십니까? 둘 사이의 상대적 균형을 달성하는 방법은 무엇입니까?
답변: 제가 보기에 토큰의 단기 성과는 시장 참여자의 신뢰와 기대에 달려 있으며, 장기 성과는 여전히 플랫폼 자체의 가치로 돌아가야 합니다. 이더리움의 기술은 세월의 시험을 통과했다고 할 수 있으며, 여러 가지 단점에도 불구하고 전체 암호화폐 시장에서 인정받고 있습니다. 디플레이션과 인플레이션은 각각의 단점이 있습니다.BTC 맥시멀리스트의 수사에 동의할 수 없습니다. 유동성 및 인센티브 측면에서 DeFi의 혁신도 매우 흥미롭지만 장기적으로 대부분의 프로젝트는 실제로 가치를 추가하지 않으며 디지털 게임에 가깝습니다. 단기적으로 토큰 가격 상승을 통해 얻은 사용자는 가격 하락이나 다른 프로젝트의 상승으로 인해 사용자를 잃을 수도 있습니다.
기술 혁신은 또한 경쟁자에 의해 쉽게 복사됩니다. 그러나 전반적인 관점에서 볼 때 이러한 혁신은 전체 산업을 발전시켜 왔습니다. 단일 프로젝트의 경우 순수한 기술 혁신의 혜택을 받을 수 있는지 여부를 말하기는 정말 어렵습니다. 업계의 모든 사람들이 생태 건설에 대해 이야기하고 있습니다. 생태 프로젝트가 플랫폼에서 얼마나 많은 보호를 받을 수 있는지, 특히 개발자가 신생 플랫폼에 투자하도록 설득하는 방법은 쉬운 일이 아닙니다.
노력의 범위를 넓혀가는 것이 가장 보람 있는 방향이라고 생각합니다 결제 이체부터 디파이, NFT, 게임까지 지속적으로 확장해나가는 과정입니다. 이러한 대세 속에서 네이티브 웹사이트가 블록체인에서 실행되도록 하는 것을 목표로 하는 등 더 넓은 분야로 블록체인 기술을 확장하려고 합니다. 기술 혁신과 토큰 인센티브를 사용하여 새로운 사용자를 함께 확보하여 생태계를 번영시키고 가치를 높입니다.
질문 10
많은 사람들이 인터넷 컴퓨터가 web3 응용 프로그램의 주요 위치라고 생각합니다. 각 퍼블릭 체인에는 Polkadot 및 Ethereum과 같은 web3에 대한 자체 통찰력 및 기술 구현 경로가 있습니다. DFINITY의 통찰력과 향후 계획/Web3로의 로드맵은 무엇입니까?
답변: DFINITY의 목적은 불필요한 짐을 모두 버리고 Blockchain Singularity의 목적지를 향해 나아가는 것입니다. 인터넷 컴퓨터 프로젝트는 아직 불완전한 부분이 많고 이 목표를 완전히 실현하는 데는 아직 어느 정도 거리가 있습니다.우리는 더 많은 사람들이 참여하여 플랫폼 자체의 기술 진보를 촉진하고 더 다채로운 상위 프로젝트를 구축할 수 있기를 바랍니다. 고객을 이기기 위해.
각 퍼블릭 체인의 초점이 다르기 때문에 우리는 블록체인으로 구축할 수 있는 모든 것이 결국 블록체인으로 실현될 것이라고 믿습니다. 따라서 다른 퍼블릭 체인 기술의 조합을 배제하지 않으며, 예를 들어 월요일에 공개한 로드맵에는 이더리움 및 비트코인과의 심층 통합 프로젝트가 있어 양 당사자를 완벽하게 보완합니다. 이는 체인 전반에 걸쳐 자산의 흐름과 통합을 더욱 자극하고 애플리케이션 아키텍처를 단순화하며 클라우드 서비스의 중앙 집중식 부담을 없애 애플리케이션의 전반적인 보안과 견고성을 향상시킵니다.
웹 사이트를 운영하는 것은 중요한 단계이지만 인터넷 컴퓨터의 첫 번째 단계에 불과합니다. 나는 현재의 인터넷 컴퓨터가 깔아 놓은 토대가 미래에 블록체인 특이점이라는 거대한 수수께끼의 일부가 될 것이라고 믿습니다.
질문 11
캐니스터 서명이란 무엇입니까? Canister는 서명에 사용되는 개인 키를 어디에 저장합니까? Canister는 업데이트 호출을 얻기 위해 구독할 수 있는 Ethereum 스마트 계약과 유사한 이벤트 메커니즘을 지원합니까?반환 값에 따라 호출자를 얻습니까? 마지막으로 일반 캐니스터는 언제 ICP 토큰을 처리할 수 있습니까?
답변: 캐니스터 서명은 캐니스터의 계산 결과(또는 계약 상태)를 서브넷의 공개 키로 서명하는 것을 의미합니다. 현재 공개키 고유성과 서명의 고유성이 좋은 BLS 임계값 서명을 사용하고 있는데, 이는 다른 집계 서명 기술에서는 사용할 수 없습니다(BLS도 집계 서명을 할 수 있으며 프로토콜에서도 사용함).
간단히 말해서 임계값 서명은 서로 다른 노드이며 계산 결과에 서명할 자체 개인 키가 있습니다. 일단 제한된 수의 서명(임계값)이 수집되면 검증 가능한 공개 키를 사용하여 고유한 임계값 서명을 얻을 수 있습니다. 따라서 이 공개 키는 서브넷의 공개 키로 취급됩니다. 여기에는 해당 서브넷 개인 키가 없으며 노드의 개인 키는 별도로 저장되며 서로 다릅니다.
하나의 서브넷에서 많은 캐니스터가 실행될 수 있는데, 머클 트리 방식을 사용하면 캐니스터 중 하나의 계산 결과에 대한 경로를 쉽게 얻을 수 있으므로 서브넷의 서명과 이 경로를 더하면 조각의 서명으로 간주할 수 있습니다. 캐니스터에 의한 데이터.
캐니스터 서명은 이벤트 로그 또는 영수증과 어느 정도 동일합니다. 노드가 모든 기록 블록을 유지하도록 요구하지 않기 때문에 이벤트 로그에 대해서만 이 작업을 수행하는 것은 의미가 없습니다. 결국 이 기능은 쿼리 호출 및 인증된 var를 통해서도 실현될 수 있으며 더 강력합니다.
Canister의 ICP 토큰 처리는 오랫동안 기술적으로 문제가 되지 않았으며 권한이 해제되지 않은 것은 보안 고려 사항 때문입니다. 시스템의 안정과 더불어 우리의 자신감도 많이 높아졌기에 사고가 없다면 가까운 시일 내에 커뮤니티 투표를 통해 결정이 내려질 것으로 추정됩니다.
커뮤니티 질문
질문: icp 개발자는 소셜 애플리케이션 개발을 선호하는 것으로 나타났습니다.icp가 소셜 애플리케이션 개발에 적합한 이유 또는 개발자가 icp에서 소셜 애플리케이션 개발을 좋아하는 이유는 무엇입니까?
대답: 내 이해로는 가치의 집합은 사람의 집합에서 먼저 나옵니다. 그래서 블록체인 플랫폼이 사람들을 직접적으로 모을 수 있게 되면 그런 사회적 프로젝트가 반드시 탄생할 것입니다. 그러나 현재의 웹 환경에서는 소셜 폭발을 일으키기가 쉽지 않기 때문에 이러한 프로젝트는 분명히 다른 방식의 게임을 시도할 것입니다. 토큰화 토큰화를 위한 고정된 루틴은 없으며 토큰화의 혁신을 기대하고 있습니다.
질문: 개발에 고민이 있는데 예를 들어 A컨테이너 A가 B컨테이너를 호출하고 B컨테이너 B가 C컨테이너C를 호출하는데 C컨테이너 C가 정상적으로 상태를 업데이트하고 B컨테이너에 값을 반환하면 B컨테이너가 끊긴다. 그러나 C 컨테이너의 상태가 변경되었습니다. 유사한 원자성 문제에 대한 권장 솔루션이 있습니까?
답변: 이더리움의 원자적 설계는 호출 스택의 계약이 상태 롤백을 거치면 모든 계약이 상태를 롤백해야 한다는 것입니다. 즉, 전역 잠금이 있으며 사용자 트랜잭션을 처리하면 완전히 처리될 때까지 모든 관련 계약이 잠기며, 이 시간 동안 잠긴 계약은 다른 트랜잭션을 처리할 수 없습니다. 이러한 설계는 개발자가 프로그래밍하기에는 편리하지만 성능을 확장할 수 없다는 내재적 결함이 있습니다. 그래서 우리는 캐니스터 모델을 처음 설계할 때 이 접근 방식을 포기했습니다.
이 조합이 필요한 경우 기존 데이터베이스에는 이미 2단계 커밋과 같은 매우 성숙한 솔루션이 있습니다. 이는 캐니스터 인터페이스를 통해 애플리케이션 수준에서 표준을 협상하여 달성할 수 있으며 반드시 시스템 수준에서 지원할 필요는 없습니다.
시스템 설계에는 항상 상충 관계가 있습니다. 때로는 제한을 추가하는 것이 더 나을 수도 있고 선택을 제공하는 것이 더 나을 수도 있습니다. 우리의 의견은 원자성을 준수하는 단일 메서드 호출이 보다 적절한 세분성이며 전체 호출 스택을 함께 원자화하도록 강제할 필요가 없다는 것입니다.
질문: 화폐계 초심자인데 디피니티 생태지갑 사용이 너무 어려운 것 같은데 앞으로 바뀔까요?
답변: 우선 현재 지갑의 소위 Internet Identity II는 필수가 아니라 옵션입니다. 내 앱에서는 사용하지 않습니다. 둘째, 다양한 기기에 대한 브라우저 지원은 비교적 좋은 편이나, 휴대폰에서는 앱을 지원하기 어려워 추가 연구개발이 필요한 것으로 알고 있습니다. 중국에서 안드로이드 폰을 사용하는 사용자는 Google Play 서비스가 설치되지 않으면 WebAuthn을 사용할 수 없으며 이에 대한 적절한 솔루션이 필요하며 조사 중입니다.
질문: 저는 인터넷의 컴퓨터에서 응용 프로그램을 만드는 개발자입니다. 백엔드가 언제 외부 http/https 호출을 할 수 있는지 묻고 싶습니다. 또한 컨테이너당 4GB의 제한으로 인해 분산 스토리지 시스템을 구현해야 하는데 BigMap은 언제 출시되거나 확장 가능한 파일 스토리지의 다른 더 좋은 방법이 있습니까?
답변: 외부 http/https 호출은 각각 읽기용과 쓰기용으로 별도로 볼 수 있습니다. 전자는 신탁이 필요하고 후자는 상대방이 재진입을 만족하면 완전히 실현 가능하다.
질문: Ethereum의 DAPP를 IC로 직접 전송할 수 있습니까?
답변: Solidity는 Wasm으로 컴파일될 수 있지만 프로그래밍 모델이 다르고(예: 원자성 세분성) 지원해야 하는 시스템 인터페이스도 다르므로 이를 지원하기 위해 일부 작업을 수행해야 합니다.
질문: 합의 질문을 하십시오. 서브넷의 합의가 PoS에 속합니까? 서브넷 노드 합의에 악이 있는 경우 처벌 메커니즘이 있습니까?
답변: PoS, 현재 노드가 토큰을 서약할 필요가 없습니다. 액세스 메커니즘이기 때문에 노드는 익명일 수 없으므로 관련 페널티 메커니즘을 구현하기가 상대적으로 쉽습니다. 노드는 정기적으로 임금으로 토큰을 받아야 하며 현재 페널티 메커니즘은 이를 차감하는 것입니다.
질문: Stoic 지갑 니모닉을 플러그 지갑으로 가져올 수 없습니다. Stoic 개발자에게 물어보니 암호화 알고리즘의 선택이 다르다고 합니다. 동시에 공식 지갑 니모닉이 더욱 다른 것을 보니 이번 후속 조치에 대한 통일된 기준이 있을까요? 이더리움처럼 하나의 니모닉으로 여러 지갑을 불러올 수 있나요?
대답: 그것은 실제로 드문 문제를 일으킬 것이므로 단기적으로 사용자는 어떤 니모닉 문구가 어떤 회사에 속하는지 표시하도록 상기시킬 수 있습니다. 장기적으로 커뮤니티가 공통된 표준을 협상할 수 있기를 바랍니다.
Dfinity 생태에 관심이 있으신 분들은 Interstellar Vision 공개 계정을 팔로우하고 "ICP"라고 회신하여 Dfinity 생태탐사 교류단에 들어오시기 바랍니다.
——End——