플루토스(카르다노)
플루토스(카르다노)란 무엇입니까?
Plutus는 Cardano에서 스마트 계약 및 분산 애플리케이션(dApp) 생성을 가능하게 하는 Cardano의 가장 중요한 구성 요소 중 하나입니다.
스마트 계약은 중개인의 서비스를 피하면서 투명한 방식으로 돈, 재산, 주식 또는 가치 있는 모든 것을 교환하는 데 사용할 수 있는 자동화된 계약입니다.
Plutus는 개발자가 Cardano에서 기능적인 방식으로 스마트 계약을 작성할 수 있도록 하는 고급 프로그래밍 언어입니다. 최고의 보안과 고성능의 독특한 조합을 제공하는 Haskell을 기반으로 합니다.
개발자는 Plutus 및 Haskell을 사용하여 dApp(분산형 애플리케이션)을 생성한 다음 이를 블록체인에서 안전하고 효율적으로 실행할 수 있습니다.
Plutus는 Cardano에서 스마트 계약을 작성하기 위한 명확하고 직관적이며 일관된 언어를 갖고자 하는 열망에서 탄생했습니다. 이는 블록체인과 상호 작용하도록 특별히 설계되었습니다. 이는 수십 년 동안 업계와 학계에서 널리 사용되고 있는 범용 함수형 프로그래밍 언어인 Haskell을 기반으로 합니다. 이는 강력한 유형 시스템을 갖춘 정적으로 유형화된 순수 기능적 언어입니다.
Plutus 프로그램은 두 가지 다른 환경에서 실행됩니다.
첫 번째는 금융 계약을 사용하려는 누군가가 제출할 때 실행되는 블록체인 노드입니다.
다른 하나는 계약서를 제출하기 전에 로컬에서 작성하고 테스트할 수 있는 데스크톱 컴퓨터입니다.
계약에는 바인딩된 변수의 값 외에는 상태가 없습니다. 원장에서 데이터를 읽고 쓸 수 있지만 로컬에 정보를 저장할 수는 없습니다. 입력 변경에 따라 계약의 결과를 변경하는 유일한 방법은 재귀를 이용하는 것입니다. Haskell에는 루프나 변수가 없기 때문입니다.
각 바인딩된 변수의 값은 트랜잭션 출력에 나타납니다. 또한 계약은 블록체인의 이벤트 로그에 기록할 이벤트 목록을 반환할 수 있습니다.
계약은 블록체인 외부의 외부 리소스와 상호 작용할 수 없으므로 기존 스마트 계약보다 확인하고 추론하기가 훨씬 쉽습니다.
실제로 Haskell은 Barclays 거래 플랫폼 및 Bloomberg 터미널과 같은 중요한 금융 소프트웨어를 작성하는 데 오랫동안 사용되어 왔습니다.
Haskell이 금융 프로그래밍에 매우 적합한 이유는 작은 구성요소로 원칙적인 방식으로 대규모 시스템을 구축할 수 있기 때문입니다. 예를 들어 Plutus 계약은 기능적으로 순수하고 부작용이 없는 Haskell의 하위 집합으로 작성됩니다. 즉, 계약에 동일한 입력 데이터를 제공하면 항상 동일한 출력이 생성된다는 것을 확신할 수 있습니다.