Fraza i koncepcja „inteligentnych kontraktów” byli zaproponowany przez Nick Szabo z wizją rozszerzenia funkcjonalności elektronicznych metod transakcyjnych, takich jak POS (punkt sprzedaży), do sfery cyfrowej. Inteligentne kontrakty pomagają w wymianie własności, udziałów lub czegokolwiek wartościowego w przejrzysty, wolny od konfliktów sposób, unikając jednocześnie usług pośredników.
Oto tematy, które będziemy omawiać na tym blogu Smart Contract:
- Co to są inteligentne kontrakty?
- Inteligentne kontrakty Nick Szabo
- Dlaczego potrzebujemy inteligentnych umów?
- Inteligentne kontrakty: złożoność według przypadków użycia
- Przykład zastosowania inteligentnych kontraktów: branża opieki zdrowotnej
- Zalety inteligentnych umów
- Platformy Blockchain do pisania inteligentnych kontraktów
- Narzędzia do pisania i wdrażania inteligentnych kontraktów
- Języki programowania do pisania Ethereum
- Inteligentny kontrakt na przeniesienie własności
Co to są inteligentne kontrakty?
Inteligentne kontrakty to samoczynnie działający program komputerowy, który jest automatycznie wykonywany po spełnieniu określonych warunków.
Smart Contracts = Trustless Contracts
Dzięki inteligentnym kontraktom możesz udostępniać nieznajomym wszystkim, co ma wartość, w sposób wolny od konfliktów i przejrzysty.
Możesz również myśleć o inteligentnych kontraktach jako o Blockchainieoparty automat sprzedający. Podobnie jak automaty sprzedające są skonfigurowane tak, aby pobierać dolary, aby wydawać wybrane przez Ciebie produkty, korzystaj z inteligentnych kontraktów eter jako paliwo do wykonywania kodu w oparciu o wstępnie skonfigurowane reguły.
Co to są inteligentne kontrakty | Wdróż swój pierwszy inteligentny kontrakt Ethereum | Edureka
Inteligentne kontrakty Nick Szabo
W swoim wystąpieniu Szabo zaproponował zawarcie kontraktu na aktywa syntetyczne, takie jak instrumenty pochodne i obligacje. „Te nowe papiery wartościowe powstają poprzez połączenie papierów wartościowych (takich jak obligacje) i instrumentów pochodnych (opcje i kontrakty terminowe) na wiele różnych sposobów. Bardzo złożone struktury terminowe dla płatności można teraz wbudować w standardowe kontrakty i sprzedawać przy niskich kosztach transakcji, dzięki skomputeryzowaniuanaliza tych złożonych struktur terminowych ”- napisał.
Dlaczego potrzebujemy inteligentnych umów?
Możemy zautomatyzować wiele rozwiązań, pisząc umowę na Blockchain, aby uczynić rzeczy prostymi i wydajnymi. porównajmy i oceńmy, jak inteligentne kontrakty są lepsze od tradycyjnych.
znajdź maksymalną liczbę w tablicy java
Inteligentne kontrakty: złożoność według przypadków użycia
Złożoność umów zależy od przypadków użycia, które marzysz do kodowania w łańcuchu bloków. Poniższy obrazek zapewni lepszą przejrzystość złożoności inteligentnych kontraktów.
Dzięki kontekstualnym inteligentnym kontraktom nie tylko firmy zostaną zautomatyzowane, ale także może powstać zdecentralizowany autonomiczny rząd.
Zobaczmy, jak działają inteligentne kontrakty, korzystając z przypadku użycia.Przykład zastosowania inteligentnych kontraktów: branża opieki zdrowotnej
Zarządzanie danymi pacjenta: Jeśli chodzi o zarządzanie danymi pacjentów, są dwie główne kwestie w branży medycznej:
- Pierwszy każdy pacjent jest wyjątkowy, dlatego dostęp do pełnej dokumentacji medycznej jest niezbędny w celu dostosowania leczenia i zapewnienia spersonalizowanej opieki
- druga wymiana informacji w środowisku medycznym jest dużym wyzwaniem
Teraz powyższe problemy można rozwiązać za pomocą funkcji inteligentnych kontraktów w łańcuchach bloków.
Zalety inteligentnych umów
Oto, co dają Ci inteligentne kontrakty:
Platformy Blockchain do pisania inteligentnych kontraktów
Podczas Ethereum to najpopularniejsza platforma do pisania umów, nie jedyna. Oto niektóre z innych platform używanych do pisania inteligentnych kontraktów:
Bitcoiny: Bitcoin używa skryptu, który ma ograniczone możliwości podczas przetwarzania dokumentów. Skrypty są specjalnie zaprojektowane do przetwarzania transakcji Bitcoin.
Tkanina Hyperledger : W Fabric Chaincode to programowy kod wdrażany w sieci, gdzie jest wykonywany i weryfikowany przez weryfikatorów łańcuchowych razem w procesie konsensusu.
tableau jak łączyć dane
NXT: To publiczna platforma blockchain, która zawiera ograniczony wybór szablonów inteligentnych kontraktów. Musisz użyć tego, co masz, nie możesz napisać własnego kodu.
Łańcuchy boczne: Łańcuchy boczne zwiększają wydajność i ochronę prywatności Blockchainów. Dodają także możliwościlubićinteligentne kontrakty, bezpieczne uchwyty,i rejestr nieruchomości w świecie rzeczywistym.
Narzędzia do pisania i wdrażania inteligentnych kontraktów
- Mist Browser - Jest to narzędzie do przeglądania i używania dApps. Jest to osobna przeglądarka, której można używać do przeglądania dApps i interakcji z nimi.
- Truffle Framework - Truffle to popularna platforma programistyczna dla Ethereum. Ma wbudowaną kompilację inteligentnych umów, łączenie, wdrażanie i zarządzanie plikami binarnymi.
- Metamask - MetaMask to most, który pozwala już dziś odwiedzić rozproszoną sieć jutra w przeglądarce. Pozwala użytkownikom uruchamiać Ethereum dApps bezpośrednio w przeglądarce bez uruchamiania pełnego węzła Ethereum.
- Remiks - Remix to środowisko IDE oparte na przeglądarce internetowej, które umożliwia użytkownikom pisanie inteligentnych kontraktów Solidity, a następnie wdrażanie i uruchamianie inteligentnych kontraktów.
Języki programowania do pisania inteligentnych kontraktów Ethereum
Solidność & Serpent to dwa podstawowe języki do pisania inteligentnych kontraktów Ethereum.
: Jest to język wysokiego poziomu zorientowany na kontrakty, którego składnia jest podobna do języka JavaScript i jest przeznaczony do obsługi maszyny wirtualnej Ethereum (EVM).
Wąż: Serpent to język wysokiego poziomu przeznaczony do pisania kontraktów Ethereum. Jest bardzo podobny do Pythona, ale od września 2017 Solidity jest preferowanym językiem programowania dla programistów Ethereum.
Chociaż Solidity jest obecnie najpopularniejszym językiem dla inteligentnych kontraktów, istnieje kilka nadchodzących języków inteligentnych kontraktów, które mogą stać się ważne w przyszłości.
Nadchodzące języki programowania
różnica między szefem kuchni a marionetką
- Żmija: Viper ma schemat wcięć podobny do Pythona. Koncentruje się na bezpieczeństwie oraz prostocie języka i kompilatora.
- Lisk: Lisk używa javascript jako języka inteligentnych kontraktów, który ułatwia programistom kodowanie aplikacji.
- Łańcuch: Chain zapewnia infrastrukturę blockchain klasy korporacyjnej z pakietami SDK w popularnych językach, takich jak Ruby, Java i NodeJS.
Ponieważ Solidity jest najczęściej używanym językiem programowania do pisania inteligentnych kontraktów Ethereum, pozwól, że przeprowadzę cię przez umowę napisaną w Solidity.
Inteligentny kontrakt na przeniesienie własności
Problem: Obecnie do przeniesienia własności nieruchomości korzystamy z organu centralnego. To sprawia, że jest to czasochłonne i pociąga za sobą wiele dodatkowych wydatków z dodatkowym obciążeniem związanym z zarządzaniem dokumentami. Ponadto, ponieważ system jest scentralizowany, zawsze istnieje możliwość oszustwa.
Rozwiązanie: Plan zakłada wykorzystanie technologii, aby szczegóły transakcji dotyczących nieruchomości były widoczne dla wszystkich stron - banków, brokerów, urzędników państwowych, kupujących i sprzedających
W porządku, napiszę dla Ciebie inteligentny kontrakt:
solidność pragmy ^ 0.4.11 // Robimy ten przypadek użycia, aby naśladować przenoszenie własności w świecie rzeczywistym // Warunkiem wstępnym tego przypadku użycia jest to, że: // Tożsamość cyfrowa jest na miejscu // Rząd zgadza się umieścić rejestry gruntów w publicznym łańcuchu blokowym // Każdy organ deweloperski (DA) staje się de facto właścicielem nieruchomości, która istnieje w jego okręgu wyborczym / organie ustawodawczym // Gdy wszystkie powyższe warunki zostaną spełnione, DA (właściciel) może łatwo dołączyć odpowiednią nieruchomość prawowitemu właścicielowi po dokładnej weryfikacji. // będziemy formułować funkcję wokół tego zbioru założeń. // zakładamy, że każdy DA wdroży własny inteligentny kontrakt zgodnie ze swoimi zasadami i przepisami. Cała ta inteligentna umowa została napisana z uwzględnieniem DA jako właściciela, który może przydzielić własność. // Rząd może stać się warstwą na wierzchu tych DA. a rząd może zdecydować, który DA (adres) stanie się właścicielem danego regionu. // Możemy to łatwo rozszerzyć. Ale po przejrzeniu tej inteligentnej umowy będziesz w stanie dowiedzieć się, jak to wszystko może działać. kontrakt PropertyTransfer {address public DA // DA będzie właścicielem, wartość tej zmiennej zainicjujemy adresem użytkownika, który zamierza ją wdrożyć. na przykład powiedzmy, że sam DA. uint256 public totalNoOfProperty // całkowita liczba właściwości w ramach DA w dowolnym momencie. po weryfikacji powinny wzrosnąć zgodnie z przydziałem dla ich odpowiedniego właściciela. // Poniżej znajduje się konstruktor, którego kod jest uruchamiany tylko podczas tworzenia kontraktu. function PropertyTransfer () {DA = msg.sender // ustawianie właściciela kontraktu na DA. } // modyfikator do sprawdzania, czy tx pochodzi od DA (właściciel), czy nie modyfikator onlyOwner () {require (msg.sender == DA) _} // Ta struktura jest zachowana w ten sposób, aby przechowywać dużo więcej informacji niż tylko the name struct Property {string name // zachowując mapę właściwości dla każdego adresu. podamy nazwę właściwości bool isSold // zachowujemy również licznik dla każdego adresu} mapping (address => mapping (uint256 => Property)) public propertiesOwner // będziemy mieć właściwości odwzorowane dla każdego adresu przez jego nazwa i jego indywidualna liczba. mapping (address => uint256) individualCountOfPropertyPerOwner // ile właściwości ma zdarzenie określonej osoby PropertyAlloted (adres zindeksowany _verifiedOwner, uint256 zindeksowany _totalNoOfPropertyCurrently, string _nameOfProperty, string _msg) zdarzenie PropertyTerty _msg) // to da nam dokładną liczbę właściwości, które każdy adres posiada w dowolnym momencie function getPropertyCountOfAnyAddress (address _ownerAddress) stałe zwraca (uint256) {uint count = 0 for (uint i = 0 i
Tak więc właśnie zaprogramowałeś sposób przenoszenia własności w zdecentralizowanej sieci. Jakie to jest świetne!!
Jak widać, potencjał [inteligentnych kontraktów] do zmiany aspektów społeczeństwa jest znaczący.
Na tym kończę to Inteligentny kontrakt blog. Mam nadzieję, że lektura tego bloga przypadła Ci do gustu i okazała się przydatna.
Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy, a my skontaktujemy się z Tobą najwcześniejśw.
jaJeśli chcesz nauczyć się Smart Contracts, zbudować karierę w domenie Blockchain i zdobyć doświadczenie w programowaniu Ethereum, zarejestruj się na żywo online tutaj, który zapewnia wsparcie 24 * 7, które poprowadzi Cię przez cały okres nauki.