|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
이동(프로그래밍 언어)
Move(프로그래밍 언어)란 무엇입니까?
Move 프로그래밍 언어는 처음에 Diem 블록체인을 구축하는 데 사용되었습니다. Meta가 지원하는 기술 컨소시엄인 Diem Association에 의해 만들어졌습니다. 블록체인은 결국 폐기되었지만 Move는 오늘날에도 여전히 사용되고 있습니다.
Move 프로그래밍 언어는 실행 가능한 바이트코드 언어입니다. 스마트 계약과 맞춤형 거래를 구현합니다. Move는 Solidity와 같은 다른 블록체인 프로그래밍 언어에서 발생하는 문제를 해결하는 것을 목표로 합니다. 그러나 디지털 희소성을 달성하고 디지털 자산을 통제한다는 기본 목표는 동일하게 유지됩니다. 특히 이중 지출을 방지하고 디지털 자산 보유자가 소유권 정보를 유지할 수 있도록 하는 것도 목표입니다.
이를 통해 Move는 간소화된 디자인을 유지하면서 안전성을 극대화하고 Move에 구축되지 않은 블록체인보다 가스 비용을 상당히 낮춥니다.
Move 프로그래밍 언어는 어떻게 작동하나요?
이동은 선형 논리를 사용합니다. 즉, 리소스는 한 번만 사용할 수 있으며 복사하거나 암시적으로 폐기할 수 없습니다. 이를 통해 개발자는 삭제하거나 복제할 수 없고 다른 것보다 더 잘 처리되는 사용자 정의 리소스 유형을 인코딩할 수 있습니다.
Move의 정적 유형 시스템에서는 변수가 유형(숫자/단어)으로 정의되어야 합니다. 우선순위가 높은 리소스를 보호합니다. 그러나 일반 요소처럼 사용할 수 있고 데이터 구조에 저장하거나 계산 시 값으로 제공할 수 있습니다. 리소스는 모듈에서도 투명하며 외부 소스에 의해 호출되지 않도록 숨겨져 있습니다.
또한 Move의 모듈은 모듈, 리소스 및 프로시저 간의 관계가 객체 지향 프로그래밍의 클래스, 개체 및 메서드 간의 관계와 유사하므로 유연하고 안전합니다.
Move는 또한 온체인에서 모든 안전 특성을 검증하고 오프체인 정적 검증 도구를 지원할 수 있습니다. 이는 온체인 검증과 관련된 복잡성을 크게 줄여줍니다. 그 디자인은 세 가지 핵심 결정을 기반으로 합니다.
동적 디스패치가 없기 때문에 호출 그래프 구성이 필요 없으며 호출 사이트를 정적으로 결정할 수 있습니다. 이를 통해 Move는 추가적인 복잡성 없이 프로시저 호출의 효과를 보다 쉽게 식별할 수 있습니다.
모듈성 덕분에 기능 검증을 위해 모듈을 격리할 수 있으며, 데이터를 추상화하고 리소스에 대한 중요한 작업을 지역화하는 데 도움이 됩니다. 언어의 유형 시스템과 함께 모듈을 캡슐화함으로써 안전이 보장됩니다. 즉, 모듈 외부의 코드가 해당 유형을 위반할 수 없습니다. 또한 격리된 모듈을 검사하여 중요한 모듈 불변성에 대한 철저한 기능 검증을 제공합니다.
마지막으로 제한된 가변성으로 인해 C++와 유사한 참조 유형을 사용할 수 있습니다. 참조는 각 이동 값을 변경하는 데 필수적이며 일반적으로 임시 값은 전사 스크립트 내에서 생성되고 삭제됩니다. Rust와 유사하게 Move의 바이트코드 검증기는 "빌림 검사"를 통해 적어도 하나의 변경 가능한 참조를 확인합니다.
마지막으로 Move는 유형 안전성, 메모리 안전성 및 리소스 안전성을 따르지 않는 프로그램을 거부합니다. 대신 속성 확인을 담당하는 컴파일러가 포함된 고급 프로그래밍 언어를 사용할 수 있습니다. 대안은 안전 검사가 포함된 낮은 수준의 형식화되지 않은 어셈블리입니다.
Move 프로그래밍 언어는 어떻게 다릅니까?
Move 프로그래밍 언어는 여러 가지 면에서 다른 블록체인 프로그래밍 언어와 차별화됩니다.
프로시저의 사용자 정의 데이터 유형을 정의하는 데에는 제한이 없습니다.
이는 언어 의미론에 액세스 제어 정책을 포함합니다.
비트코인이나 이더리움과 달리 디지털 자산에 대한 기본 유형 시스템을 폐지합니다.
프로그래밍 언어로 표현된 단일 자산을 찾을 수 있습니다. 사용자 정의 자산은 개발자가 안전 속성을 검토해야 합니다.
이를 통해 Move는 개발자가 직접 엔지니어링하도록 강요하지 않고도 희소성이 있는 새로운 자산을 쉽게 만들 수 있습니다. 또한 개발자는 액세스 제어를 수정하고 사용자 정의할 수 있어 프로그래밍 언어를 경쟁 언어보다 더 다양하고 확장 가능하게 만듭니다.
Move 프로그래밍 언어의 구성요소
Move 프로그래밍 언어는 기본을 구성하는 여러 구성 요소를 갖추고 있습니다.
유형
이는 부울, 부호 없는 정수(64비트), 고정 크기 바이트 배열 및 주소(256비트) 데이터 유형일 수 있습니다.
구조체
두 가지 특정 유형: 종류와 무제한. 전자는 자원 구조를 나타내고 후자는 일반 구조를 나타냅니다.
절차
공개 또는 내부 메소드입니다. 비순환 모듈 종속성은 재진입 공격을 방지하는 데 도움이 됩니다.
바이트코드 검증자
모듈 게시 전에 안전 특성을 확인하는 데 중점을 둡니다. 프로그램이 네트워크에 게시되기 전에 검증자를 거쳐 다음과 같은 여러 검증 단계를 통과합니다.
유형 확인
스택 잔액 확인
레퍼런스 체크
제어 그래프 개발
참조 연결
자원 확인
바이트코드 해석기
검증을 따르며 가스를 사용하는 이더리움과 유사합니다. 따라서 무한 루프 실행이 보장됩니다.
가상 머신 이동
다른 블록체인과 마찬가지로 여러 트랜잭션을 포함하는 블록과 각 트랜잭션이 실행되어 트랜잭션 효과를 생성합니다. 효과는 효과와 상태 전환을 분리하여 업데이트된 블록체인의 전역 상태를 생성합니다.
Move 프로그래밍 언어를 사용하는 블록체인은 무엇입니까?
Move는 Meta가 폐기한 Diem 블록체인에 사용되었습니다. Move에 구축된 현재 블록체인에는 Aptos 블록체인과 Sui 블록체인이 포함됩니다.
미결제약정
미결제약정은 각 거래 세션이 끝날 때 시장 참가자가 보유하고 있는 미결제 파생 계약, 특히 선물 및 옵션의 총 수를 나타냅니다. |
실제 자산(RWA)
실제 자산은 DeFi에서 사용하기 위해 토큰화되고 온체인으로 가져오는 오프체인 자산입니다. 토큰화에는 블록체인에서의 표현 및 거래를 위해 자산 가치를 디지털 토큰으로 변환하는 작업이 포함됩니다. |
블랙숄즈 모델
간단히 말해서 스톡옵션의 공정한 가격을 알려주는 수학 공식으로, 투자자가 과대평가되었는지 과소평가했는지 계산할 수 있습니다. |
합의 레이어
합의 레이어는 모든 블록체인 네트워크의 중추이며, 블록체인의 실제 상태에 대한 노드 간의 합의를 촉진하는 중요한 역할을 수행합니다. |
AI 코인
AI 코인은 AI 관련 거래 및 상호 작용을 간소화하는 동시에 블록체인 기술을 통해 투명성과 보안을 유지하도록 설계되었습니다. |
임대 지분 증명(LPoS)
임대 지분 증명(LPoS)은 암호화폐 보유자가 자신의 코인을 네트워크의 노드에 임대할 수 있도록 하는 합의 메커니즘입니다. |