Menu

Przegląd Funkcji

DAO Infinity

Specyfikacje / Węzły / Integracja

Przegląd Funkcji


Wymiana aktywów

1. Przegląd Aktywów

Giełda Aktywów jest wbudowanym w XIN zdecentralizowanym silnikiem handlowym. Używając Giełdy Aktywów możesz tworzyć, kupować i sprzedawać aktywa, co oznacza znacznie więcej niż proste transfery coinów, a to otwiera szerokie możliwości. Giełda Aktywów bazuje na koncepcji „pokolorowanych coinów”, i polega na tym, że coin lub zestaw coinów mogą zostać przeznaczone („pokolorowane”) do reprezentowania czegoś zupełnie innego.

Dla porównania, wiele kryptowalut będzie tylko i wyłącznie kryptowalutami i niczym więcej.

Niemniej jednak skoro blockchain oferuje godne zaufania i trwałe księgi wszystkich transakcji, może on być wykorzystywany do przechowywania znacznie większej liczby informacji niż tylko te związane z kryptowalutą.

Token XIN może być przeznaczony („pokolorowany”) do reprezentowania innych krypto coinów, akcji/udziałów, nieruchomości, dóbr, a nawet pomysłów. W wyniku tego wszystkiego sieć XIN może być wykorzystywana do handlu praktycznie czymkolwiek. Giełda Aktywów jest dostosowana do większości przypadków, w których użytkownicy mogą kupować i sprzedawać wirtualne akcje firm, aktywa FIAT, różnego rodzaju punkty, a nawet aktywa oparte o krypto, ale nie te przeznaczone dla handlu HFT, ponieważ Giełda Aktywów jest zdecentralizowana i potwierdza każdy blok co 60 sekund. Giełda Aktywów jest całkowicie zdecentralizowana i zupełnie nieregulowana.

Podstawowe korzyści, jakie to za sobą niesie to wolność, oszczędność, brak interwencji i tak dalej, ale to także kosztuje. Nie ma łapania za rękę ani policji, a oszuści mogą i często tworzą fałszywe aktywa. Społeczność zazwyczaj relatywnie szybko wykrywa takie działania, lecz jeśli popełnisz błąd, to niewiele można zdziałać, ponieważ transakcje są nieodwracalne. Zanim zakupisz jakieś aktywo, powinieneś przynajmniej zrozumieć co ono reprezentuje i wyjaśnić wszelkie wątpliwości ze sprzedawcą.

2. Przykłady Użytkowania Aktywów

Aktywa XIN są wygodną metodą do reprezentacji wszystkiego, czym da się handlować. Token aktywów może reprezentować sztabkę srebra, kupon na pizzę, akcję firmy, a nawet porcję portfolio innych aktywów. Poprzez cyfrową reprezentację tych rzeczy w blockchain, mogą one być weryfikowane publicznie i wymieniane z łatwością. Aktywa mogą być użyte na przykład do reprezentowania: prywatnych rozrachunków, różnego rodzaju instrumentów finansowych, patentów i wielu, wielu innych zastosowań.


Szyfrowane wiadomości

1. Przegląd Wiadomości

Szyfrowane wiadomości często przyjmują formę komunikacji między użytkownikami o długości zbliżonej do SMS-ów.

Przekazywanie zaszyfrowanych informacji maksymalnie do 160 bajtów długości z dowolnego konta na dowolne inne mieści się w pojedynczej wiadomości. Zaszyfrowane wiadomości mogą także być załączane do wielu transakcji jak np. transfery tokenów, transfery aktywów, walut. Zaszyfrowane wiadomości są trwale przechowywane w blockchainie oraz ograniczane co do wielkości aby niedopuścić do przeładowania blockchain.

Zaszyfrowane wiadomości wymagają dynamicznej opłaty uzależnionej od ich rozmiaru i powinny być wykorzystywane wyłączne do ważnych i niejawnych wiadomości.

Szyfrowanie odbywa się przy użyciu algorytmu AES. Usługa Messenger'a bazujaca na społeczności będzie pozwalała nawet na 1000 bajtów i do 1000 wiadomości bez opłat. Wiadomości mogą być także wykorzystywane do uruchamiania zdarzeń związanych z transakcją, na przykład do płatności w sieci czy do obsługi usług rozproszonych.

2. Przykłady Użytkowania Wiadomości

Na najbardziej podstawowym poziomie wiadomości pozwalają na przesyłanie informacji pomiędzy kontami, tworząc zdecentralizowany chat. Zaawansowane aplikacje mogą wykorzystywać tę funkcjonalność do przechowywania danych strukturalnych, takich jak obiekty JSON. Te z kolei mogą być wykorzystywane do uruchamiania lub upraszczania usług zbudowanych w oparciu o XIN.


Aliasy

1. Przegląd Aliasów

Funkcja XMC Systemu Aliasów w zasadzie pozwala jednej części tekstu być zastąpionej inną, dzięki czemu słowa klucze lub kluczowe frazy mogą zostać wykorzystane do reprezentacji czegoś innego - nazw, numerów telefonów, adresów fizycznych, stron internetowych, numerów kont, adresów e-mail, kodów produktów SKU i wielu innych.

Natychmiastowe zastosowania są proste: na przykład możesz stworzyć łatwe do zapamiętania aliasy dla swojego konta XMC. A ponieważ System Aliasów jest otwarty, może być wykorzystany do implementacji zdecentralizowanego systemu DNS, aplikacji wózków sklepowych, proxy dla innych blockchainów, odnośników do przechowywanych w bittorrent plików, a nawet w IPFS lub jako punkt wejściowy do swojego zdecentralizowanego hostingu takiego jak zeronet.

Aliasy mogą być edytowane, przenoszone lub sprzedawane na publiczne lub skonkretyzowane konta poprzez wbudowaną giełdę aliasów.

2. Przykłady Użytkowania Aliasów

Rozbudowane narzędzie do zarządzania kontem, skróty linków URL, przekazywanie proxy, zdecentralizowany hosting, zdecentralizowany hosting plików poprzez crosschain (łańcuch krzyżowy).


Kontrola Konta

1. Przegląd Kontroli Konta

Bezpieczeństwo konta jest prawdopodobnie najważniejszą kwestią w użytkowaniu kryptowaluty: jak użytkownik może zabezpieczyć cyfrowe środki, aby kompletnie ustrzec się przed kradzieżą, biorąc pod uwagę wzrastające zaawansowanie malware’u oraz technik hakerskich.

Multisygnatura (multisig) na przykład działa na zasadzie wymaganie więcej niż jednego klucza do autoryzacji transakcji. To pozwala użytkownikom na tworzenie kont, z których transakcje można wykonywać wyłącznie za zgodą posiadaczy konkretnych Aktywów lub Walut lub poddając transakcje pod Głosowanie w temacie wydatków.

Multisygnatura (często nazywana multisig) jest formą technologii wykorzystywanej jako dodatkowe zabezpieczenie w transakcjach przy użyciu XIN. Multisygnatura wymaga dodatkowych użytkowników do podpisania (potwierdzenia) danej transakcji zanim zostanie ona dodana do łańcucha bloków. Fazowanie jest kolejną funkcją, która pozwala pewnym fazowo zabezpieczonym transakcjom powstawać w formie odroczonego wykonania uzależnionej od wyników głosowania, na liście połączonych transakcji lub tajnie; lub po prostu z bezwarunkowo odroczoną formą wykonania.

2. Przykłady Użytkowania Kontroli Konta

Fundusze społeczne, Bezpieczne konta, Zdecentralizowane Autonomiczne Organizacje (DAO - Decentralised Autonomous Organisations), konta charytatywne, prywatne fundusze inwestycyjne, prywatne fundusze ubezpieczeniowe, multisygnatura.


Wynajem Salda

1. Przegląd Wynajmu Salda

Funkcja wynajmu salda XIN daje Ci możliwość do wypożyczenia efektywnej mocy obliczeniowej swojego konta (mierzonej w liczbie coinów XIN z przynajmniej 1440 potwierdzeniami na Twoim koncie) innemu kontu. Poprzez wynajem swoich coinów NIE przekazujesz żadnych środków ze swojego konta. Oznacza to, że Ty (I TYLKO TY) nadal możesz wydawać lub przesyłać swoje coiny w dowolnym czasie jak do tej pory. Wynajmujesz wyłącznie moc obliczeniową z jednego konta na drugie. Rzeczywista liczba coinów na Twoim koncie się NIE zmienia, ale „efektywny bilans” wartości Twojego konta zostaje zredukowany do zera, a pełna wartość dodawana jest do bilansu tego drugiego konta.

Ta funkcja pozwala na tworzenie puli wydobywczych, gdzie łączona jest moc obliczeniowa wielu użytkowników celem zwiększenia szansy na wygenerowanie bloku. Wynajem konta jest także istotny, jeśli użytkownik chce brać udział w procesie wydobycia, nie mając węzła działającego 24/7. Jeśli wynająłeś swoją moc obliczeniową innemu kontu, to drugie konto musi być „online”, aby z niego korzystać, ale Twoje konto już nie musi być online. Ta funkcja daje dwie podstawowe korzyści. Po pierwsze nie musisz już utrzymywać węzła uruchomionego 24/7, aby brać udział w procesie wydobycia. Możesz wynająć swój bilans komuś, kto będzie to robił. Po drugie pozwala ona na tworzenie pul wydobywczych, gdzie wielu użytkowników może połączyć swoje moce obliczeniowe, aby zwiększyć szanse na wygenerowanie bloku i zabezpieczać sieć.

2. Przykłady Użytkowania Wynajmu Salda

Zabezpiecz sieć i weź udział w procesie generowania bloku.


Zautomatyzowane TX (AT)

1. Przegląd AT

Jednym z obiecujących zastosowań technologii blokchcain są inteligentne kontrakty. Inteligentne kontrakty to programy komputerowe, które mogą automatycznie wykonywać warunki kontraktu. Każdy zapoznany z programowaniem komputerowym ma świadomość istnienia tzw. stwierdzeń jeśli to, w których program wykonuje pewne zadania, jeśli pewne warunki są spełnione i nie wykonuje go, jeśli warunki są niespełnione.

Inteligentne kontrakty implementują to zastosowanie w blockchainie i mają potencjał do rozszerzenia tego na kolejne wzrastające obszary, a to jest internet rzeczy, sprowadzający treści science fiction coraz bliżej rzeczywistości.

Na przykład Transakcje Atomowego Cross Chaina (Łańcucha Krzyżowego) pozwalają na prawdziwie zdecentralizowany handel między kryptowalutami. To na przykład pozwala handlarzowi wymienić XIN na coina, który zapewnia różne usługi na potrzeby prywatności, a potem przesyła go do nowego portfela.

Kolejny inteligentny kontrakt, który XIN byłby w stanie wesprzeć, to aukcje. XIN pozwala Ci na stworzenie inteligentnego kontraktu aukcyjnego. Członkowie akcji wysyłaliby pieniądze do kontraktu, a każdorazowo gdy ktoś przesyła więcej niż poprzednia osoba, pieniądze tej poprzedniej osoby wracają na jej konto. Przyszłe inteligentne kontrakty, które XIN ma zamiar wspierać, to autonomiczne koporacje, hazard, automieszanie i inteligentne właściwości. Inteligentne kontrakty uznawane są za „zabójców aplikacji” branży kryptowalut, przez co rozpoczął się wyścig o to, kto pierwszy stworzy aplikacje, które radykalnie zmienią naszą pracę, życie i zabawę w nadchodzącej przyszłości.

2. Przykłady Użytkowania AT

Transakcje Atomowego Cross Chaina (Łańcucha Krzyżowego), aukcje, crowdfunding, przesył środków nieaktywnych, loterie, hazard, automieszanie.


Klient Light

1. Przegląd Klienta

Klasyczne podejście bitcoina jest w zasadzie sposobem na synchronizację rozdystrybuowanego systemu poprzez wspólne logi transakcyjne. Wymaga to, aby każdy węzeł sieciowy przechowywał komplet informacji na temat historii transakcji. Oczywiście to rozwiązanie nie skaluje się zbyt dobrze, ponieważ nie każdy węzeł jest w stanie przechowywać kompletu danych. Jest kilka sposobów, jak ominąć ten problem - uproszczona procedura weryfikacji płatności, która pozwala na przechowywanie wyłącznie tych danych istotnych dla danego węzła; transakcje off-chain; bidyrekcyjne tunele płatnościowe; redukcja obciążenia blockchaina; praca bezpośrednio ze stanem systemowym.

Przy najprostszym podejściu, w którym wszystkie węzły są sobie równe w bloku Genesis, może pojawić się centralizacja, ponieważ węzły o mniejszych możliwościach, będą musiały polegać na pełnych, wysokowydajnościowych węzłach, które mogą sobie pozwolić na przechowywanie kompletnego blockchaina. Oczywiście powstająca centralizacja podnosi kwestię zaufania, ponieważ lekkie węzły muszą ufać pełnym węzłom, przez co mogą stać się ofiarą spreparowanego pełnego węzła. Niemniej jednak istnieją sposoby na pominięcie tego problemu, jak na przykład łączenie się z kilkoma węzłami, utrzymywanie listy zaufanych węzłów i tak dalej. XIN zapewnia nową strukturę dla tych zadań poprzez mechanizm dźwigni na peerexplorerze. Fundacja utrzymuje bazę zaufanych wysokowydajnościowych serwerów, aby zapewnić wystarczającą liczbę węzłów dla klientów. Algorytm oceniający węzeł jest w użyciu celem tworzenia rankingów najlepszych węzłów, liczenia obciążenia procesorów, liczby dostępnych procesorów i wielu innych parametrów węzłów w czasie rzeczywistym, aby zapewnić optymalny poziom obciążenia dla jak najwyższej wydajności.

2. Klient Light (Smart Wallet - Inteligentny Portfel)

Platforma XIN wymusza podejście, które początkowo może wydawać się ekstremalne w klasycznej kryptowalucie. Inteligentny Portfel XIN nie pobiera blockchaina, zamiast tego polega na pełnych węzłach w weryfikacji płatności i interakcji sieciowej. Każda transakcja jest cyfrowo podpisywana celem zweryfikowania, czy osoba znająca hasło konta nadawcy autoryzuje daną płatność.

Dla zwiększenia bezpieczeństwa Klient używa podpisów transakcji offline, co jest powodowane chęcią zabezpieczenia hasła przed internetem. To daje kilka korzyści.

Użytkownik nie musi pobierać blockchaina, co oznacza, że aplikacja pozostaje bardzo mała i rozwojowa. Nie udostępnia tajnych kluczy w sieci, wszystkie dane są podpisywane lokalnie na Twoim urządzeniu. Dodatkowo Klient zapewnia różne typy połączeń, aby działać także jak klasyczny Klient, łącząc się z lokalnym węzłem użytkownika. Możliwości połączenia to: automatyczny, manualny, host lokalny, SSL i Fundacja. To daje sporo możliwości użytkowych od klasycznych prywatnych węzłów po w pełni zautomatyzowane, zbalansowane użycie. Klient Lite jest dostępny na Windows, Linux i MacOS. Nie wymaga procesu instalacji, ponieważ korzysta z nowoczesnych technologii webowych.

3. Prywatność

Aby zwiększyć bezpieczeństwo połączenia, klient wybiera inny węzeł przy każdorazowym połączeniu. To daje dwie korzyści, a pierwszą z nich jest prywatność. Dzięki tym dynamicznym „skokom” IP, węzły mają mniej możliwości do zbierania danych (co nie dzieje się w zasadzie nigdy) od podłączonych Klientów.

Po drugie obciążenie tworzone przez wielu Klientów jest rozdzielane pomiędzy wiele węzłów w czasie rzeczywistym.

4. Rozszerzenia

Ponieważ Klient używa nowoczesnych technologii webowych, w bardzo prosty sposób można dodawać dodatkowe funkcje w biegu. Proszę sprawdzić sekcje Rozszerzenia i Usługi, aby pozyskać więcej informacji.

5. Wersje Klientów

Obecnie Klient jest zbudowany jako portfel online (webowy) nie wymagający instalacji. Łącząc to z Electron może on być rozbudowany do pełnego, samowystarczalnego desktopowego portfela na Windows, Linux i MaxOS.

Wersja mobilna dla Androida jest w przygotowaniu.


Crowdfunding

1. Przegląd Crowdfundingu

Crowdfunding jest metodą finansowania projektów lub przedsięwzięć poprzez zbieranie dotacji od dużej liczby ludzi. Crowdfunding jest formą crowdsourcingu i alternatywnych finansów.

Crowdfunding w założeniu bazuje na trzech czynnikach: inicjator projektu, który proponuje pomysł i/lub projekt, na który zbiera środki, osoby lub grupy ludzi, które wspierają ten pomysł oraz organizacja moderująca („platforma”), która łączy obie te strony celem uruchomienia realizacji pomysłu.

W 2013r. w crowdfudningu zebrano $5,1 milarda od milionów ludzi! Jednak największym hamulcem przed używaniem platform takich jak Kickstarter, są ich opłaty. Kickstarter wymaga opłaty 5% od zebranej kwoty, a opłaty transakcyjne to kolejne 5%, co w erze blockchaina jest trudne do obronienia. Bazując na wbudowanej funkcji waluty, XIN oferuje taką „platformę” jako w pełni zautomatyzowane zdecentralizowane rozwiązanie dla prostego, szybkiego i przystępnego crowdfundingu.

Crowdfunding można wykorzystać dla sfinansowania szeroko zaplanowanego przedsięwzięcia non-profitu, jak na przykład artystyczne i kreatywne projekty, wydatki medyczne, podróże lub zorientowane na społeczność projekty społeczne i charytatywn.

2. Przykłady Użytkowania Crowdfundingu

Wszelkiego rodzaju przedsięwzięcia biznesowe, dla zysku czy też non-profit.


Waluty

1. Przegląd Waluty

Podmiot waluty jest bazowym blokiem budulcowym Systemu Walut XIN. Waluty ma unikatową nazwę oraz kod, a unikatowość jest gwarantowana przez protokół, waluty mogą być usuwane, a ich kod może być użyty na nowo pod pewnymi warunkami. Całkowity zasób waluty musi być podzielny na jednostki walutowe.

Tak jak aktywa, jednostki walutowe wspierają pozycje po przecinku, zaimplementowane jako funkcja dodatkowa Klienta. Maksymalna liczba jednostek walutowych, które mogą zostać wydane w danej walucie, jest podobna do XIN i wynosi 109 * 108.

Dokładny maksymalny limit ilościowy jest ustalany przez jednostkę wydającą daną walutę. Jednostką wydającą jest to konto, które wydaje walutę i opłaca opłatę za emisję. Emitujący jest odpowiedzialny za ustalenie właściwości waluty i w niektórych konfiguracjach ma dodatkową kontrolę nad użytkowaniem waluty.

Jak stan aktywów, jednostki walutowe mogą być przesyłane pomiędzy kontami.

2. Właściwości Waluty

Podmiot waluty ma wiele właściwości. Właściwości, które mogą być mieszane i łączone na różne sposoby, aby stworzyć typ waluty. Typ waluty następne kontroluje wewnętrzne zasady rządzące daną walutą.

Oto lista dostępnych właściwości walut:

WYMIENIALNOŚĆ

Waluta może być wymieniana na XIN. Właściciele waluty mogą publikować oferty wymiany ustalając kurs kupna i sprzedaży waluty, w zasadzie w identyczny sposób, w jaki działają banki lub giełdy walutowe. Każde konto może opublikować tylko jedną ofertę wymiany na raz.

Oferty wymiany mają czas aktywności, po którym przestają być aktywne. Kupujący i sprzedający mogą ogłaszać zapytania giełdowe porównywane z opublikowanymi ofertami wymiany. W przeciwieństwie do zamówień kupno/sprzedaż jak w przypadku aktywów, zapytania giełdowe nie są zapisywane, są albo wykonywane natychmiastowo (w pełni lub częściowo), lub nie są wykonywane wcale.

Para pasujących ofert z zapytaniami o kupno i o sprzedaż tworzy reakcję, która jest reprezentowana przez transfer jednostek walutowych z konta na konto i aktualizację stanów kont u biorących udział w transakcji. Wydanie oferty wymiany redukuje bilans XIN i danej waluty konta oferującego na stałe do momentu wygaśnięcia oferty. Oferty wymiany cechują się też limitem na liczbę wymienianych jednostek, która może być wyższa od jednostek oferowanych. Kiedy zapytanie o kupno znajduje parę wśród ofert, liczba jednostek oferowanych na sprzedaż zostaje zredukowana, a liczba jednostek oferowanych do kupna jest zwiększana do momentu osiągnięcia limitu. W momencie osiągnięcia limitu dana oferta wygasa.

KONTROLA

Właściwość waluty pasująca do walut, które muszą się łączyć z podmiotem zewnętrznym. Narzuca to następujące ograniczenia na walutę: (1) Waluta może być przekazywana i odbierana jedynie na koncie emitenta (2) Tylko konto emitenta może wystawiać oferty wymiany. Konto emitenta może wydać duży (w zasadzie nieskończony) zasób jednostek z wyprzedzeniem, a potem przenieść jednostki na konta lub wystawić je na giełdzie, celem przedstawienia realnych transakcji, które mają miejsce w zewnętrznym systemie. Duży zapas jednostek na koncie emitenta może być użyte do odtworzenia efektu tworzenia jednostek z niczego, aby wspierać funkcje takie jak tworzenie nowych jednostek i płatności odsetkowych.

REZERWOWANIE

Jednostki walutowe nie są emitowane natychmiastowo. Emitent waluty ustala wysokość bloku, do jakiego ma być wydana waluta oraz limit XIN za jednostkę potrzebne do wydania waluty.

„Założyciele” waluty wydają wtedy swoje XIN celem zabezpieczenia kursu ich waluty. Jeśli liczba XIN za jednostkę wymagana do wydania waluty nie zostanie zarezerwowana przed osiągnięciem wysokości bloku, emisja zostaje anulowana, a środki są zwracane po odjęciu opłat. Jeśli wymagana rezerwa zostanie zalokowana, waluta zostaje wydana, a jednostki są dzielone pomiędzy założycielami zgodnie z ich proporcjonalną liczbą zainwestowanych XIN. W razie zaokrągleń, reszta jest wysyłana na konto emitenta.

PODEJMOWANIE

Jednostki walutowe zarezerwowanej waluty mogą być później podjęte według tego samego kursu XIN, w jakim następowało zabezpieczenie waluty. Możliwość podejmowania waluty w określonym tempie tworzy pewne praktyczne ograniczenia w możliwości upłynnienia waluty. Niemniej jednak waluty umożliwiające natychmiastowe podjęcie także mogą być wymienione tylko wtedy, kiedy wyczerpany zostanie cały ich zapas i wtedy mogą zostać usunięte.

GIEŁDY WALUT

Dla walut wymienialnych, każde konto właściciela waluty może opublikować pojedynczą ofertę giełdową określając kurs kupna lub sprzedaży kontra XIN oraz liczbę jednostek, które chce wymienić (które nie mogą przekraczać dostępnego salda XIN). Użytkownicy mogą obserwować wszystkie oferty wymiany (intuicyjnie podobnie do giełd walut fiducjarnych) i próbować sparować je z zapytaniami o kupno/sprzedaż.

Oferta wymiany ma pewien czas aktywności, a także limit całkowitej liczby jednostek, które mogą zostać wymienione. Kiedy jednostki są kupowane poprzez ofertę wymiany, liczba jednostek na sprzedaż wzrasta i vice versa. Osoba publikująca może także ustawić limit na całkowity obrót transakcji jednostek walutowych w konkretnym typie transakcji.

MAGAZYN WARTOŚCI

Połączenie właściwości REZERWOWANIA i PODEJMOWANIA może być wykorzystane do alokacji wartości inicjacyjnej poprzez blokadę XIN. Gdy waluta jest już aktywna, zarezerwowane XIN zostają zablokowane i jedynym sposobem na ich uwolnienie jest wymiana wszystkich jednostek waluty na XIN. To zapewnia walucie wartość bazowaną na sztywno ustalonym kursie XIN.

3. Przykłady Użytkowania Waluty

Specjalne tokeny, tokeny dla firm, mikro finanse, działalność charytatywna, token do gier, kupony, vouchery, oferty produktowe, crowdfunding, giełda crosschain.


Obsługa Depozytu

1. Przegląd Depozytu

Usługa depozytu pozwala na bezpieczniejsze płatności poprzez bezpieczne przechowywanie coinów kupującego w depozycie do momentu dopełnienia warunków sprzedaże i w efekcie tego środki zostają przekazane do sprzedawcy. W większości przypadków nie powstają żadne spory i nie jest potrzebna ingerencja osoby trzeciej. XIN zapewnia usługę zdecentralizowanych depozytów bazowanych na nowych rozbudowanych typach transakcji. Jeśli sprzedajesz swój samochód lub dom używając zdecentralizowanej usługi XIN, możesz z łatwością przenieść środki do Depozytu i w momencie spełnienia warunków sprzedaży, uwalniasz środki. Nawet tytuł transakcji może być dostarczony przy użyciu Inteligentnego Kontraktu XIN i zauważ, że kosztuje to zaledwie parę groszy w przeciwieństwie do tradycyjnych transakcji bankowych i handlowych nie musisz wydawać setek lub nawet tysięcy dolarów. Depozyt może mieć do 10 współudziałowców i zapewnia kilka możliwych akcji takich jak zwrot, podział, uwolnienie.

2. Przykłady Użytkowania Depozytu

Depozyty mogą być łączone z aktywami, walutami i fizycznymi produktami.


Rozszerzenia

1. Przegląd Rozszerzeń

Rozszerzenia pozwalają deweloperom firm trzecich dodawać funkcjonalności do Interfejsu Inteligentnego Klienta XIN. Rozszerzenia/Usługi są ważną częścią platformy XIN, które przyciągają zainteresowanie zewnętrznych rynków i są dostępne bezpośrednio z Twojego portfela. W większości przypadków te rozszerzenia są bazowane na usługach zbudowanych przez deweloperów, aby je „połączyć” z platformą XIN na przykład dla płatności lub usług przechowywania danych. Ponieważ wtyczki mają nieograniczony dostęp nawet do prywatnych danych i podstawowych funkcji, ważnym jest, aby instalować tylko zaufane rozszerzenia. Jeśli masz jakieś wątpliwości, zainstaluj dane rozszerzenie na Testnet lub na Mainnet, ale na koncie z niewielkim saldem. Rozszerzenia są tworzone przez deweloperów firm trzecich i podlegają intensywnemu przeglądowi przed wydaniem.

Fundacja przygotuje „najlepszą praktykę” oraz podpisaną/zatwierdzoną giełdę rozszerzeń zawierającą wymagający system sprawdzania kodu i oceniania.

2. Przykłady Użytkowania Rozszerzeń

Dane rynkowe, rozbudowane wiadomości szyfrowane, miejsca rynkowe, sprzedaż danych i inne.


Bramki

1. Przegląd Bramek

Bramka aplikacji to urządzenie (węzeł), które działa jak „brama” pomiędzy dwiema sieciami. Dziś deweloperzy usług stawiają czoła wielu problemom budując własny serwis rozdystrybuowany pomiędzy wieloma klientami. Po pierwsze muszą opanować wiele różnych technologii i przejrzeć wszystkie konkretne ramy dostępnych API. Po drugie aplikacje zbudowane w oparciu o jedne ramy, nie będą działały na innych. A po trzecie zbierane w ten sposób dane i działania podejmowane przez urządzenia muszą być mapowane w modelu usługi. Bramka aplikacji XIN zapewnia wygodne rozwiązanie dla deweloperów serwisów dostępu do wielu usług i protokołów. Bramki są ważną częścią przyszłych deweloperów platformy XIN, aby mogła się ona „łączyć” z usługami takimi jak IPF (Interplanetary Filesystem - Międzyplanetarny System Plików) używanymi w zdecentralizowanych magazynach danych, ZERONET, używany w zdecentralizowanym hostingu oraz Tendermint, używany w pobocznych lub prywatnych łańcuchach. Ponieważ bramki działają wewnątrz rdzennych funkcji, usługi mogą wchodzić w bezpośrednią interakcję z blockchainem XIN i modelami transakcyjnymi. Gdy program kliencki nawiąże połączenie z pożądaną usługą, łączy się z bramką aplikacji XIN. Następnie klient negocjuje z węzłem w celu nawiązania komunikacji z pożądaną usługą. W efekcie tego klient nawiązuje pożądane połączenie i utrzymuje je na potrzeby klienta. Dzięki jego transparentnemu API, jeśli jest odpowiednio skonfigurowany, bramki są dostępne wewnątrz inteligentnego portfela XIN. To w niesamowity sposób rozszerza możliwości portfela. Bramki mogą być używane dla celów publicznych i prywatnych.

2. Przykłady Użytkowania Bramek

Zdecentralizowany hosting, zdecentralizowane magazyny danych, łańcuchy poboczne, łańcuchy prywatne, mikropłatności, kanały płatnicze.


Usługi Proxy

1. Przegląd Proxy

Serwer proxy to serwer (system komputerowy lub aplikacja), który działa jako pośrednik dla zapytań od klientów poszukujących zasobów w innych usługach. Klient łączy się z serwerem proxy, żąda danej usługi, jak na przykład pliku, połączenia, strony internetowej lub innych zasobów dostępnych na innym serwerze, a serwer proxy ocenia żądanie celem jego uproszczenia i kontrolowania stopnia skomplikowania. Proxy wynaleziono, aby dodać strukturę i wydajność do rozdystrybuowanych systemów. XIN zapewnia wiele serwerów proxy, które można w łatwy sposób rozbudowywać i można się do nich dostać przy użyciu prostego zapytania HTTP GET. Proxy odgrywają wielką rolę w strategii połączeń wewnętrznych XIN, pozwalając platformie „sięgać” po dodatkowe usługi i funkcje integrowane z rdzeniem.

Działanie w rdzennych usługach pozwala danym proxy na interakcje z blockchainem XIN, transakcjami i systemem notyfikacji, ułatwiając w ten sposób budowę publicznych bądź prywatnych usług. Dzięki transparentnemu dostępowi do API, do proxy można uzyskać dostęp przez inteligentny portfel. Obecnie proxy są wykorzystywane do przechwytywania danych w czasie rzeczywistym z giełd i eksploratorów bloków dla rynku kryptowalut, ale nie są tym ograniczone i więcej proxy, podłączonych do powszechnych usług, jest w przygotowaniu.

2. Przykłady Użytkowania Proxy

Kolejkowe usługi krypto takie jak cytaty i inne statystyki dotyczące krypto.


Usługi

1. Przegląd Usług

XIN został zaprojektowany do zbudowania kompletnej cyfrowej ekonomii, która także będzie w stanie połączyć się z powszechnym, „prawdziwym światem” i jego usługami, aby wybić się z przestrzeni użytkowej wyłącznie krypto i sięgnąć po rynek masowy.

Aby osiągnąć ten cel, rdzeń i klient XIN są zbudowane w oparciu o łatwość rozszerzania i połączeń z innymi, bardzo użyteczne protokoły i sieci. XIN nie ma działać jak większość kryptowalut, jak wyspa, ale ma przyjmować z radością wszystkie nowe technologie, od najbardziej klasycznych po najbardziej zaawansowane. Większość usług bazują na rdzennie zaimplementowanych narzędziach XIN, takich jak proxy czy bramki. Usługi mogą być publiczne lub prywatne, mogą nie posiadać interfejsu użytkownika jak boty lub jako rozszerzenia w interfejsie samego portfela. Usługi grają bardzo ważną rolę w przyszłym rozwoju XIN i strategii wzrostu, dlatego też fundacja zajmie się rozwojem tych usług i zainicjuje, a być może nawet zbuduje usługi dla społeczności, jak na przykład rozbudowane szyfrowane wiadomości/czaty lub serwisy informacyjne z zewnętrznymi kontraktorami. Lista zrealizowanych/planowanych usług stale rośnie. Prosimy sprawdzić rozszerzenia portfela, aby zobaczyć już zaimplementowane i planowane usługi.

2. Przykłady Użytkowania Usług

Giełda, kierunki biznesowe, sklep z dobrami cyfrowymi, rozdystrybuowany hosting, agencja ratingowa, cyfrowy notariusz, handel społeczny, system reputacji.


Tasowanie

1. Przegląd CoinShuffle

CoinShuffle poprawia prywatność użytkownika poprzez frustrujące próby połączenia transakcji z konkretnym użytkownikiem.

Użytkownik może zwiększyć swoją anonimowość poprzez uniemożliwienie ustalenia dokładnie, kto dokonał płatności komu, ponieważ wejścia i wyjścia są nie do rozróżnienia (nawet dla innych użytkowników).

Każdy użytkownik wie, które wyjście należy do nich, ale nie mogą połączyć wejść i wyjść innych użytkowników. CoinShuffle pozwala także na identyfikację i eliminację szkodliwych użytkowników przyłapanych na łamaniu regulaminu. CoinShuffle to bardzo efektywna funkcja prywatności i pozwala użytkownikom na szybkie i efektywne wymiany środków pomiędzy sobą poprzez tworzenie losowego mapowania pomiędzy istniejącymi kontami użytkowników i kontami odbiorców płatności.

Algorytm tasowania bazuje na pracy autorstwa Tima Ruffinga i początkowo powstała, aby mogła być zaimplementowana w bitcoinie.

2. Przykłady Użytkowania CoinShuffle

Funkcje prywatności.


Magazynowanie

1. Przegląd Magazynowania

XIN zapewnia dodatkową warstwę magazynowania danych, do której można podłączyć odpowiednią wtyczkę. Deweloperzy usług mogą przechowywać dane w różnych miejscach, które mają różną charakterystykę wydajności. Miejsca magazynowania mogą być włączone i skonfigurowane poprzez edycję pliku storage.properties lub po prostu podmieniając plik custom.properties. Obecnie obsługiwane końcówki magazynowe to MonoDB, RethinkDB, MySQL i PostgreSQL. MonoDB wykorzystywany jest jako „natywna” końcówka magazynowania danych, używana przez peerexplorer i kilka innych usług jak marketcap i marketdata. Więcej końcówek i ram rboczych, zwłaszcza dla analizy danych w czasie rzeczywistym takich jak Hadoop (MapReduce), jest zaplanowanych. Końcówki magazynowania danych powinny być obsługiwane przez nadchodzące usługi, dając deweloperom zestaw gotowych do użycia rozwiązań db do budowy publicznych lub prywatnych usług wewnątrz rdzenia. Działanie wewnątrz rdzenia pozwala magazynom danych na wchodzenie w interakcję z blockchainem XIN, transakcjami i systemem notyfikacji. Dzięki jego transparentnemu dostępowi API, jeśli odpowiednio skonfigurowany, końcówki magazynowania danych są dostępne z poziomu inteligentnego portfela.

2. Przykłady Użytkowania Magazynowania

Przestrzeń dla dodatkowych usług, takich jak funkcje crosschain (łańcuch krzyżowy) i powszechni dostawcy usług bazujących na danych.


Subskrypcje

1. Przegląd Subskrypcji

Zarządzanie i skalowanie subskrypcji było skomplikowane. Do teraz. XIN oferuje zdecentralizowane powtarzalne płatności, które użytkownik może inicjować i anulować w dowolnym momencie.

Powtarzalne płatności sprawdzają się świetnie w usługach, w których wymagane są wielokrotne wpłaty rozłożone w danym czasie lub po prostu w fundowaniu konkretnych kont, aby zapewnić stałe saldo. Subskrypcje zbudowano w oparciu o nową rozbudowaną ramę roboczą transakcji i pozwalają użytkownikom na wykonywanie płatności dowolnych wielkości i o dowolnych interwałach czasowych na inne konta. Subskrypcje są ważną funkcją dla nadchodzącego cyfrowego rynku.

2. Przykłady Użytkowania Subskrypcji

Oprogramowanie jako usługa, miesięczny czynsz lub rachunki za prąd, czasopisma, gazety i inne publikacje, branże usługowe takie jak hosting, współdzielenie samochodu, portale randkowe, zbieranie czynszu, usługi sprzątania, członkostwa siłowni czy jakikolwiek produkt abonamentowy.


Głosowanie

1. Przegląd Głosowania

Technologia blokchain świetnie się sprawdza w systemach głosowania. Poprzez zapewnianie bezpiecznego sposobu na rejestrację każdego głosu na publicznej liście i jednoczesne umożliwienie pozostania anonimowym, a do tego z niesamowicie niewielką możliwością manipulowania głosami, blockchain może zaoferować znaczną poprawę obecnych systemów w temacie bezpieczeństwa i transparentności. Bezpieczna, zaszyfrowana i bazowana na konsensusie natura sieci XIN pozwala na implementowanie systemu głosowania, który gwarantuje anonimowość i bezpieczeństwo, bez potrzeby polegania na centralnej instytucji zliczającej głosy. System Głosowań XIN pozwala każdemu kontu na utworzenie ankiety z jednym pytaniem i nawet do 10 odpowiedziami. Konta mogą brać udział w głosowaniach bazując na posiadanej minimalnej ilości XIN, aktywów lub waluty. Na głosowanie składa się wybór zasięgu wartości do skojarzenia z jedną lub większą liczbą odpowiedzi zaszytych w ankiecie. Odpowiedź udzielana jest wagowo na jednym z czterech modeli głosowania, a potem jej waga jest mnożona przez powiązany zasięg wartości, aby obliczyć właściwy wynik. Cztery modele głosowania określają wagę jako: jedno konto do głosowania lub równowartość bilansu XIN, aktywów lub waluty za głos.

Waga zbiorcza za każdą odpowiedź liczona jest jako suma wszystkich indywidualnych wag głosu; podobnie jak zbiorczy wynik liczony na końcu. Indywidualne głosy są przechowywane do momentu aż minimum 1441 bloków po głosowaniu zostanie ukończonych, zazwyczaj zajmuje to ponad jeden dzień. Po tym czasie głosy są kasowane i tylko zbiorcze wagi i wyniki pozostają dostępne.

2. Przykłady Użytkowania Głosowania

DAO XIN, decyzje w wirtualnych firmach, księgowość non-profit, kontrakty, decyzje rozwojowe, wybory.


Przegląd DAO


1.1 Czym jest DAO?

Zdecentralizowane Autonomiczne Organizacje (Decentralized Autonomous Organizations - DAO) [1] dla niektórych są trudne do opisania.

Niemniej jednak esencja DAO została opisana jako możliwość technologii blockchain do zapewnienia bezpiecznej cyfrowej księgi rachunkowej, która przechowuje interakcje finansowe przez internet, dodatkowo zabezpieczonej, aby ustrzec się przed oszustwami przez zaufane stemplowanie czasowe i przez rozdzielenie rozdystrybuowanej bazy danych. To podejście eliminuje potrzebę pośrednika w transakcji finansowej, upraszczając w ten sposób cały proces.

Oryginalną teorią dającą podwaliny DAO było, że poprzez usunięcie delegowanej władzy od dyrektorów i danie jej bezpośrednio właścicielom, DAO zlikwidowały możliwość, w której dyrektorzy i managerowie finansowi błędnie odczytywaliby intencje właściciela i marnowaliby środki.

Pierwszym znanym DAO był/jest bitcoin [2], ale jak już wspominaliśmy w tym artykule, brakuje mu paru ważnych funkcji, aby spełnić wymogi „optymalnego” DAO, o którym wspomniano w tym [3] poście na blogu. Prosto zdefiniowany mechanizm nazwany e-Zarządzanie jest brakującą funkcją.

1.2 Inteligentne Kontrakty, Rozwiązanie?

Pierwsze bazowane wyłącznie na kodzie DAO powstało jako Inteligentny Kontrakt, działający na blockchainie ethereum jako fundusz inwestycyjny nie posiadający żadnej struktury zarządczej lub rady lub zarządu. DAO zostało sfinansowane społecznie poprzez sprzedaż tokenów w maju 2016r. Pobiło ono rekord największej kampanii crowdfundingowej w historii, ale w czerwcu 2016r. hakerzy znaleźli słaby punkt w kodzie DAO, co pozwoliło im na kradzież jednej trzeciej funduszy. Ze względu na ten włam, powstał rozłam, po którym utrzymywano niezmieniony blockchain Ethereum Classic, ale podzielono Ethereum na dwie osobne aktywne kryptowaluty [5].

Pomimo tego włamu, nawet ten bazowany na kodzie DAO potrzebował aktorów w fizycznym świecie, nazywanych „kuratorami”, którzy monitorowaliby i zarządzali decyzjami DAO na rzecz właścicieli tokenów DAO, co prowadzi do wniosku, że nie ważne jak zaawansowany kod DAO, ostatecznie każde DAO potrzebują ludzkiej interakcji do określania, organizowania i monitorowania dostaw, odpowiedzialności i innych parametrów operacyjnych dla kontraktorów zewnętrznych.

1.3. Rozwiązanie DAO Infinity

Ucząc się z powyższego problemu i definicji, DAO Infinity może być odbierane jako hybrydowe DAO. Użycie dużo bardziej elastycznej i zaawansowanej platformy e-Zarządzania oraz ostatecznego ludzkiego wpływu zapewnianego przez Fundację, sprawdza się. Porównując do DAO bazujących tylko na kodzie Infinity ma następujące przewagi:

  1. Elastyczność w e-Zarządzaniu. DAO Infinity oferuje bogaty zestaw wbudowanych narzędzi do zarządzania, łatwo dostępne i proste w użyciu dla przeciętnego użytkownika. Narzędzia te są transparentne, proste do skonfigurowania i łatwe w monitorowaniu, bez potrzeby skomplikowanych konstrukcji kodowych, które są ciężkie do przetestowania i mało przewidywalne.
  2. Zdrowy Rozsądek. Maksymalna automatyzacja przynosi swoje korzyści, ale brakuje jej elastyczności i nie da się zakodować zdrowego rozsądku. Fundacja jest głęboko przekonana, że zdrowy rozsądek jest ważną składową w wystrzeganiu się nadużyć i dynamicznym reagowaniu na nieprzewidziane sytuacje. Jak już wcześniej wspomniano, ostateczna ludzka weryfikacja ze zdrowa porcją zdrowego rozsądku wzbogaca DAO i wzmacnia je. Zdrowy rozsądek jest ostatecznym bastionem, jeśli coś pójdzie nie tak z DAO.
  3. Przesiewanie proponowanych głosowań. Głosowania bazowane na kodzie są ograniczone do transakcji/kalkulacji (tak/nie). System głosowania wbudowany w XIN posiada wiele przewag, ponieważ wspiera wielokrotne odpowiedzi i wiele modeli głosowania. Skutkuje to tym, że można stosować bardziej precyzyjne głosowania niż tylko oparte na pytania tak/nie. W wielu zastosowania z życia wziętych zwykłe tak/nie nie jest wystarczające.
  4. Kompletna Transparentność. Propozycje i głosowania nad tymi propozycjami nie są opakowane w trudne do odczytu kontrakty/kod. Pozwala to osobom nie będącym deweloperami na weryfikację i monitorowanie całej propozycji i wyników głosowania po prostu obserwując łańcuch. Blockexplorer i inne narzędzia wbudowane w portfel są wystarczające do kompletnej transparentności.
  5. Automatyczne Transakcje jako dodatkowe rozwiązanie DAO. Mimo iż Fundacja preferuje opisaną powyżej strukturę DAO, platforma wspiera również DAO bazowane na kodzie. Funkcja Automatycznych Transakcji (AT) w statusie alfa może być użyta do tworzenia Inteligentnych Kontraktów na blockchainie XIN. Jest to darmowe rozwiązanie dla każdego użytkownika/dewelopera, dzięki któremu może zbudować swoje prywatne lub publiczne DAO przy minimalnym koszcie. Proszę zapoznać się z funkcjami AT, aby uzyskać więcej informacji, jak zbudować DAO na blockchainie XIN.

2. Przegląd DAO Infinity

Misja DAO Infinity: utorować nową ścieżkę w organizacji biznesu dla dobrobytu jego członków, istniejącą jednocześnie nigdzie i wszędzie i operującą w całości w oparciu o żelazną wolę niepowstrzymanego blockchaina. Infinity będzie jądrem atomowym wielu ekonomii, które powstaną w przyszłości i ma intencje być na pierwszej linii frontu we wspieraniu innowacyjnych i obiecujących projektów, produktów i usług, aby stać się prawdziwą i transformacyjną zdecentralizowaną autonomiczną organizacją. Elastyczna zdecentralizowana autonomiczna organizacja korzystająca z mądrości tłumów stworzona po to, aby wypracować zyski Właścicielom Tokenów Infinity.

2.1 Profity, Etyka, Technologia

Infinity jest DAO stworzonym w celach zarobkowych, które ostrożnie używa społecznego tokena pod swoją kontrolą do stworzenia wartości i zapewnienia benefitów swoim członkom, jednocześnie współpracując z i rozwijając zdecentralizowany ekosystem jako całość.

2.2 Wiele Projektów, Sporo Kontraktorów

Podczas gdy istnieje konkretny zysk we współdzielonej ekonomii i zastosowaniach IoT blockchaina, Infinity nie jest ograniczone tylko do tych rynków. Jest otwarte na poznawanie wszelkich nowych rynków, do których dostęp ma technologia blockchain. Właściciele Tokenów Infinity debatują nad rentownością Propozycji poprzez zaawansowany wbudowany system głosowania i wymiany informacji.

3. Wytyczne Operacyjne DAO Infinity

3.1 Definicja:

DAO Infinity składa się z sumy tych, którzy posiadają tokeny reprezentacyjne DAO.

3.2 Wartości:

My, DAO, wyznajemy poniższe wartości:

3.3 Cele:

Aby utorować nową drogę w organizacji biznesu dla dobrobytu członków, istniejąc jednocześnie nigdzie i wszędzie, operującą w całości w oparciu o żelazną wolę niepowstrzymanego blockchaina. Celem DAO jest wspieranie projektów, które:

Zapewnią zwroty z inwestycji lub korzyści dla DAO i jego członków

Zapewnią korzyści dla całego zdecentralizowanego ekosystemu

3.4 Zachowanie:

My, DAO, zarówno jako całość jak i każdy indywidualny członek, przestrzegać będzie następującego kodeksu zachowań:

Nie szukamy zysków w obszarach sprzecznych z naszymi wartościami. Szanujemy wolność wypowiedzi i zachęcamy wszystkich do wypowiadania swojej opinii bez prześladowania. Będziemy kierować się ku decentralizacji i autonomii kiedykolwiek i gdziekolwiek będzie to tylko możliwe i z korzyścią dla nas.

4. Interakcje z DAO Infinity

Gdy tylko posiądziesz tokeny XIN, możesz głosować nad propozycjami. Głosowanie i bycie aktywnym członkiem to przywileje. Masz unikalną możliwość być częścią tłumu, który decyduje, w co DAO zainwestuje lub nie oraz jak DAO będzie rozwijane na przestrzeni mijającego czasu poprzez dodawanie usług i innych rozwiązań dla prawdziwego świata. Bez Ciebie nie ma tłumu, a „mądrość tłumu” przepada.

4.1 Dyskutuj Na Temat Nadchodzących Propozycji

Dyskusja i debaty są nieodłącznym elementem DAO, aby każdy z członków dokonywał świadomego wyboru.

Propozycje dla DAO powinny dodawać wartość zarówno monetarna, jak i inną samemu DAO oraz reszcie świata. W zależności od Twoich preferencji, możesz wybierać spośród różnych kanałów dyskusyjnych, debat, weryfikacji i linii wsparcia. Jeśli masz pytania lub potrzebujesz wsparcia, odwiedź forum społeczności.

4.2 Twórz Propozycje

Istnieje kilka sposobów na stworzenie propozycji. Przed jej stworzeniem społeczność powinna je przedyskutować na naszym forum i zdefiniować jasną ścieżkę wykonania i głosowania. Nie rekomendujemy tworzenia głosowania przed przedyskutowaniem struktury nowej propozycji.

Propozycja bezpośrednio do Fundacji: każdy użytkownik/deweloper/kontraktor może tworzyć i wysyłać propozycje do Fundacji. Fundacja może pomóc w zdefiniowaniu i zorganizowaniu potrzebnych zasobów do wykonania znaczących projektów. Ponieważ Fundacja jest tylko wykonawcą na rzecz społeczności (DAO), ostatecznie zawsze decydujący będzie głos społeczności w sprawie przyjęcia lub odrzucenia propozycji.

Propozycja publiczna stworzona przez wbudowaną funkcję głosowania: każdy użytkownik platformy może stworzyć propozycję i poprosić o głosowanie w tej sprawie. Fundacja będzie monitorować te publiczne propozycje i będzie komunikować społeczności, jak realizować i spełniać propozycje, gdy zostaną już zaakceptowane. Propozycje Ciągłe: Fundacja ma już listę wielu propozycji, głównie na dodatkowe usługi. Głosowanie nad tymi usługami ogłaszane są z oficjalnego konta do głosowania Fundacji w momencie, gdy wszystkie zasoby i szczegółowy opis projektu stają się dostępne.

4.3 Głosuj Nad Propozycjami

Głosowanie to jeden z aspektów, który wyróżnia DAO Infinity. Każda decyzja podjęta przez DAO jest kontrolowana i wykonywana na bazie Twojego głosu. Dlatego też wszyscy w społeczności pracują ciężko nad tym, aby interakcja z DAO była jak najłatwiejsza oraz aby głosować nad propozycjami, w sposób prosty i szybki, przy użyciu zaledwie kilku kliknięć w Twoim portfelu.

4.4 Wyniki Głosowań i Kwalifikacji

Standardowy model głosowania w ankietach zainicjowany przez Fundację, jest zbalansowanym modelem zabezpieczającym wyniki przed manipulacją. Pod uwagę we wszystkich głosowaniach bierze się większość (+50%), na podstawie oddanych głosów, bez względu na liczbę uczestników. Fundacja zawsze przedyskutowuje wszystkie nadchodzące głosowania na forum społeczności z odpowiednim wyprzedzeniem, aby każdy użytkownik miał możliwość oddać głos na daną propozycję.

Dyskusje te są ważne w zdefiniowaniu jasnej i prostej w zrozumieniu treści ankiety i możliwych opcji wyboru. Po zakończeniu dyskusji Fundacja ogłasza ankietę i daje zwykle około 1-2 tygodni na oddanie głosu. Ostateczna ankieta będzie w obiegu minimum przez kolejny tydzień. Zapewnia to każdemu użytkownikowi, nawet tym, którzy są online rzadko, takie same szanse na oddanie głosu na daną propozycję. Gdy ankieta Fundacji zostaje stworzona, wynik powiązuje się z Fundacją i to Fundacja rozpocznie alokowanie środków i monitorowanie przebiegu tych projektów.

5. Fundacja Infinity i Fundusz Społeczności

Infinity Economics to wielki integrator oprogramowania, mający na celu łączyć nowe technologie związane z blockchainem i powszechne technologie, aby tworzyć zastosowania w rzeczywistym świecie i sięgnąć po rynek masowy. Mając narzucony taki cel, Infinity Economics i DAO potrzebują zorganizować „fizyczną obecność”, którą należy monitorować i realizować projekty i dalsze plany rozwojowe platformy na rzecz DAO (Społeczności).

W tym celu Fundacja Infinity powstała ucząc się na błędach obecnych krypto projektów, które popełniają, podczas gdy Fundacja jest zaopatrzona w fundusze należące do społeczności. Wiele dobrych krypto projektów tracą swój pęd ze względu na niewystarczające fundusze. Aby zapewnić długoterminowy rozwój, część tych funduszy może być użytych w celu rekrutacji deweloperów/kontraktorów do budowy nowych funkcji i usług. Wszystkie wydatki Fundacji IE są zatwierdzane drogą głosowania społeczności i wykorzystuje się także te fundusze jako zabezpieczenie dla sieci poprzez generowanie bloków. W tym celu Fundacja prowadzi wiele kont na rzecz generowania bloków. Zarobione opłaty dodawane są do funduszy społeczności i mogą być też wypłacone jako dywidendy lub być wykorzystane do usprawnienia platformy. Ta kombinacja praktycznie uniemożliwia przejęcie łańcucha przez osobę trzecią.

5.1 Fundacja

Fundacja Infinity jest organizacją non-profit sama w sobie i bazuje na członkach społeczności mających prawo do anonimowości, jeśli tego sobie zażyczą. Członkowie Fundacji zarządzają Funduszem Społeczności (patrz niżej) poprzez konto z multisygnaturą, zapewniając, że środki te nie mogą zostać wydane bez zgody Społeczności. Zakres prac Fundacji odzwierciedla różnorodność własności pod jej skrzydłami. Zadania Fundacji można podsumować jak niżej:

Członkowie Fundacji (Konta) mogą zostać zmienieni w dowolnym momencie z dowolnego powodu poprzez głosowanie Społeczności.

Fundacji powierzono ochronę DAO jako najważniejsze zadanie oraz ocenianie, czy dana propozycja jest „dobra” czy nie.

5.2 Fundusze

Podczas tworzenia genesis 10% całkowitego zasobu XIN jest blokowane na kontach z blokadą multisygnaturową. Te środki należą w 100% do Społeczności i mogą być wydane wyłącznie w drodze głosowania.

5.3 E-Zarządzanie

Wszystkie decyzje w 100% podejmowane są przez Społeczność, nawet kiedy chodzi o finanse Fundacji. Fundacja wykonuje tylko wolę Społeczności (DAO) i nie ma prawa do zakwestionowania decyzji, za wyjątkiem sytuacji, kiedy zaszkodziłaby ona w sposób znaczący. W takim przypadku ostateczna decyzja zostanie podjęta przez Społeczność po wcześniejszym podkreśleniu niesionego ryzyka przez Fundację (zdrowy rozsądek).

5.4 Zyski z działań Fundacji i Udziały DAO Infinity

Każde konto genesis otrzyma równą liczbę udziałów DAO Infinity proporcjonalnie do pierwotnego zapasu tokenów. Udziały te nadają uprawnienia każdemu z kont do udziałów w zyskach pochodzących z działań DAO jak projekty komercyjne zainicjowanych/wspieranych przez Fundację z funduszy Społeczności, czy też opłaty generowane przez generację bloku Społeczności. Zyski te są wypłacane w formie dywidend. Interwały dywidend będą ustalane w oparciu o rozmiar i opłaty transakcyjne.

Wszystkie konta związane z Fundacją zostaną ogłoszone na ostatecznym portalu Fundacji, ułatwiając w ten sposób monitorowanie transakcji i bilansów w czasie rzeczywistym.

6. Zabezpieczenie Łańcucha i DAO

Jak opisano powyżej, Fundacja ma uruchomione liczne potężne węzły, aby zapewnić przynajmniej „bazowe peery” generujące bloki. Te specjalne węzły Fundacji używają funduszy Społeczności do generowania bloków, dzięki czemu zarobione opłaty także należą do Społeczności. Ponieważ fundusze Społeczności reprezentują poważną moc generowania bloków, przewagą dla Społeczności jest ciągły napływ nowych środków przyspieszający z czasem poprzez zwiększone używanie platformy i zabezpiecza tym samym łańcuch oraz bloki przed próbami przejęcia.

7. Konta Genesis

Konta genesis są specjalnymi kontami z pewnymi „dodatkowymi prawami” i nie rekomenduje się ich udostępniania osobom trzecim. Nadchodzące dywidendy wypłacane będą wyłącznie kontom genesis. Konta genesis kwalifikują się do:

Uzyskiwania inicjalnych udziałów DAO

Uzyskiwania dodatkowych dywidend DAO wynikających z przyszłych projektów komercyjnych


Źródła:


Specyfikacje / Węzły / Integracja


Konfiguracja Węzła

1. Sieć Peer

1.1 xin.shareMyAddress=true

Ogłoś mój adres IP/nazwę hosta innym peerom i pozwól im na współdzielenie z innymi peerami. Jeśli wyłączona, sieć peerowa nie zostanie uruchomiona

1.2 xin.peerServerPort=23456

Port dla przychodzących zapytań peer to peer, jeśli uruchomiony

1.3 xin.defaultPeerPort=23456

Port domyślny dla przychodzących zapytań peer to peer, jeśli uruchomiony

1.4 xin.enablePeerUPnP=true

Uruchamia UPnP dla portu peerów

 1.5 xin.upnpGatewayTimeout=7000

Czas odczytu bramki UPnP w milisekundach. Ustaw na -1, aby wyłączyć. Domyślnie ustawione na 7000

1.6 xin.upnpDiscoverTimeout=3000

Czas połączenia gniazda bramki UPnP w milisekundach. Ustaw na -1, aby wyłączyć.  Domyślnie ustawione na 3000

1.7 xin.peerServerHost=0.0.0.0

Interfejs hosta, na którym odbierane są wszystkie zapytania sieci peer, w pełni domyślny. Użyj 0.0.0.0, aby nasłuchiwać wszystkich interfejsów, w tym IPv6.

1.8 xin.myAddress=

Mój zewnętrzny widoczny adres IP lub nazwa hosta na potrzeby innych peerów. Opcjonalnie może zawierać numer portu, który także będzie przekazywany peerom i może być inny od xin.peerServerPort (użyteczne, jeśli przekierowujesz port poza routerem).

1.9 xin.myPlatform=

Moja platforma do ogłoszenia peerom.

1.10 xin.myHallmark=

Mój stempel, jeśli dostępny. Sprawdź przykład tworzenia ostemplowanego węzła.

1.11 xin.defaultPeers=

Domyślne peery inicjacyjne. Używane tylko wtedy, kiedy xin.usePeersDb=true. Nie modyfikuje. Zamiast tego dodaj własne peery do xin.wellKnownPeers.

1.12 xin.wellKnownPeers=

Lista dobrze znanych adresów peer/nazw hostów, rozdzielanych średnikami. Te peery zawsze są utrzymywane w statusie połączonym.

1.13 xin.knownBlacklistedPeers=

Znane złe peery do umieszczenia na czarnej liście

1.14 xin.maxNumberOfInboundConnections=250

Maksymalna liczba połączeń przychodzących. Użyteczne w redukcji zużycia przepustowości.

1.15 xin.maxNumberOfOutboundConnections=50

Maksymalna liczba połączeń wychodzących. Użyteczne w redukcji zużycia przepustowości.

1.16 xin.maxNumberOfConnectedPublicPeers=20

Utrzymuj aktywne połączenie z minimum tyloma peerami.

1.17 xin.maxNumberOfKnownPeers=2000

Przestań dodawać nowe peery, kiedy ich liczba przekroczy ustaloną wartość.

1.18 xin.minNumberOfKnownPeers=1000

Przestań usuwać stare peery, kiedy liczba znanych peerów spadnie poniżej ustalonej wartości.

1.19 xin.connectTimeout=10000

Czas połączenia z siecią peer dla połączeń wychodzących.

1.20 xin.readTimeout=20000

Czas odczytu sieci peer dla połączeń wychodzących.

1.21 xin.peerServerIdleTimeout=30000

Czas bezczynności serwera sieci peer w milisekundach.

1.22 xin.useWebSockets=true

Użyj połączenia WebSocket, jeśli jest wspierane przez podłączone peery.

1.23 xin.webSocketIdleTimeout=900000

Czas bezczynnego połączenia WebSocket (w milisekundach).

1.24 xin.enableHallmarkProtection=true

Użyj stempla peer do połączenia z peerami powyżej zdefiniowanego  progu push/pull. Proszę sprawdzić przykład stempla dla większej liczby informacji. Wyłączenie ochrony stemplami wyłącza także ważenie peerów przez wagę stempli, dzięki czemu połączenie z dowolnym z Twoich peerów jest tak samo prawdopodobne.

1.25 xin.pushThreshold=0

Próg stempla do użycia gdy wysyłasz dane do peerów.

1.26 xin.pullThreshold=0

Próg stempla do użycia gdy żądasz danych od peerów.

1.27 xin.blacklistingPeriod=600000

Umieszczaj peery na czarnej liście na 600000 milisekund (10min jest wartością domyślną).

1.28 xin.sendToPeersLimit=10

Weź pod uwagę nową transakcję lub blok w momencie wysłania ich do 10 peerów.

1.29 xin.enablePeerServerDoSFilter=true

Uruchom Filtr DoS Jetty dla serwera sieci peer.

1.30 xin.enablePeerServerGZIPFilter=true

Kompresuj odpowiedzi Http dla serwerów sieci peer.

1.31 xin.savePeers=true

Zapisuj znane peery w bazie danych.

1.32 xin.usePeersDb=true

Ustaw na false, aby wyłączyć używanie bazy danych peerów i domyślnych peerów inicjujących. Nie usunie to zapisanych peerów.

1.33 xin.getMorePeers=true

Ustaw na false, aby wyłączyć otrzymywanie nowych peerów od tych obecnie połączonych. Użyteczne tylko w procesie debuggowania, jeśli chcesz ograniczyć peery do tych z bazy danych lub dobrze znanych peerów.

1.34 xin.ignorePeerAnnouncedAddress=false

Ignoruj ogłaszane adresy peerów. Nie zmieniaj tej wartości pod warunkiem zrozumienia zasady jej działania.

1.35 xin.cjdnsOnly=false

Dopuszczaj tylko adresy peerów zaczynające się od „fc”. Funkcja ta przeznaczona jest wyłącznie dla użytkowników cjdns. Nie używaj tej funkcji, jeśli nie wiesz, do czego służy.

1.36 xin.hideErrorDetails=false

Nie zawieraj szczegółów wyjątków w odpowiedzi na błąd peerów.

1.37 xin.isOffline=false

Ustaw na true, aby działać offline - nie łącz się z peerami i nie nasłuchuj za nadchodzącymi połączeniami peerowymi. Jest to równoznaczne z ustawieniami xin.shareMyAddress=false, xin.wellKnownPeers=, xin.testnetPeers= oraz xin.usePeersDb=false i jeśli ustawione na true, zmienia te właściwości.

2. API

2.1 xin.enableAPIServer=true

Akceptuj zapytania API http/json

2.2  xin.allowedBotHosts=127.0.0.1; localhost; [0:0:0:0:0:0:0:1];

Hosty, z których chcesz przyjmować zapytania API http/json, jeśli uruchomiono. Ustaw na *, jeśli chcesz dopuszczać wszystkie. Może też uszczegóławiać sieci w notacji CIDR, np. 192.168.1.0/24.

2.3 xin.apiServerPort=23457

Port dla zapytań API http/json.

2.4 xin.apiServerSSLPort=23457

Port dla zapytań API http/json. Jeśli ustawiony taki sam jak xin.apiServerPort, ustawienie xin.apiSSL zdeterminuje, czy SSL jest używane, czy nie. Proszę sprawdzić poradnik, jak uruchomić węzeł SSL.

2.5 xin.enableAPIUPnP=false

Uruchom UPnP dla portów API.

2.6 xin.apiServerHost=127.0.0.1

Interfejs hosta, na którym nasłuchuje się zapytań API http/json, tylko domyślny host lokalny. Ustaw na 0.0.0.0, aby pozwolić serwerowi API na akceptowanie zapytań ze wszystkich sieci i interfejsów, w tym IPv6.

2.7 xin.apiServerIdleTimeout=30000

Czas bezczynności API http/json dla zapytań o połączenie mierzony w milisekundach.

2.8 xin.apiServerCORS=true

Uruchom Filtr Cross Origin dla serwera API.

2.9 xin.apiFrameOptionsSameOrigin=true

Dodaj nagłówek X-Frame-Options SAMEORIGIN do każdej odpowiedzi jako zabezpieczenie przed clickjackingiem.

2.10 xin.apiSSL=false

Uruchom SSL dla serwera API (dodatkowo należy ustawić xin.keyStorePath oraz xin.keyStorePassword). Połączenia bez SSL zostaną wyłączone, jeśli xin.apiServerSSLPort jest taki sam jak xin.apiServerPort. W przeciwnym wypadku akceptowane będą połączenia z oraz bez SSL.

2.11 xin.apiSSLCiphers=

Uruchomione zestawy szyfrujące dla serwera APU, gdy uruchomione jest SSL. Lista poniżej stanowi przykład użycia AES-GCM zamiast AES-CBC, nie w sposób domyślny.

2.12 xin.apiServerEnforcePOST=true

Wymuś zapytania, które wymagają POST-a do bycia zaakceptowanymi kiedy przesłane jako POST.

2.13 xin.enableAPIServerGZIPFilter=false

Kompresuj odpowiedzi Http dla serwera API.

2.14 xin.adminPassword=

Hasło potrzebne do wykonywania chronionych (administracyjnych) zapytań API. Proszę wybrać porządne hasło. Najlepiej skorzystać z generatora haseł.  Ochrona hasłem jest wyłączona i hasło nie jest wymagane, kiedy serwer API nasłuchuje tylko za interfejsem hosta lokalnego, np. kiedy xin.apiServerHost=127.0.0.1.

2.15 xin.disableAdminPassword=false

Ustaw na true, aby wyłączyć ochronę hasłem na zapytań administracyjnych API, nawet jeśli serwer API jest dostępny publicznie. Nie rekomendowane.

2.16 xin.maxAPIRecords=100

Maksymalna liczba rekordów możliwych do uzyskania w pojedynczym zapytaniu. To ograniczenie nie jest aktywne, jeśli podano hasło administratorskie lub gdy nie jest ono potrzebne (wyłączono lub nasłuchuje się wyłącznie hostów lokalnych).

2.17 xin.apiEventTimeout=300

Czas rejestracji eventów API (w sekundach). Czas jest resetowany za każdym razem, gdy z aplikacji otrzymywane jest zapytanie o oczekiwanie eventu. Wartość minimalna to 15 sekund.

2.18 xin.apiMaxEventUsers=32

Maksymalna liczba aplikacji z aktywną rejestracją eventów.

2.19 xin.maxUploadFileSize=0

Maksymalny rozmiar pliku do uploadu w bajtach. Domyślna i minimalna dopuszczalna wartość wynosi 43008 (42 kilobajty).

2.20 xin.correctInvalidFees=true

Kiedy przyjmowana jest niepodpisana transakcja z niewystarczającą opłatą, ustaw opłatę na minimalną wykalkulowaną dla niej wartość, jak gdyby opłata TQT=0 została ustalona. Domyślnie ustawione na true.

2.21 in.disabledAPIs=

API do wyłączenia, lista rozdzielana średnikami.

2.22 xin.disabledAPITags=

Grupy API do wyłączenia, lista tagów API rozdzielana średnikami.

3. Blok

3.1 xin.forgingDelay=20

Opóźnij wygenerowanie kolejnego bloku, aby zakumulować w nim więcej transakcji. Oczekiwanie dłużej niż 15s jest bezużyteczne, gdyż transakcje mogą mieć różnicę maksymalnie 15s w stosunku do bloku, w którym są zawarte.

3.2 xin.forgingSpeedup=3

Wygeneruj i zaakceptuj kolejny blok zanim osiągnie on czas w odpowiedzi na blok o niższym stopniu trudności. Natomiast akceptowanie bloku na wcześniej niż 15s przed jego czasem doprowadzi do jego odrzucenia.

3.3 xin.maxNumberOfForgers=100

Maksymalna liczba kont wydobywczych dopuszczonych na danym węźle.

3.4 xin.numberOfForkConfirmations=2

Weryfikuj partie bloków pobranych z pojedynczego peera zawierających określoną liczbę innych peerów.

3.5 xin.enableTransactionRebroadcasting=true

Uruchom przekazywanie nowych transakcji do momentu odpowiedzi minimum z jednego peera lub odnalezienia w blockchain. Funkcja ta może opcjonalnie zostać wyłączona, aby uniknąć ryzyka ujawnienia, że dany węzeł jest akceptującym takich przekazywanych nowych transakcji,

3.6 xin.maxUnconfirmedTransactions=3000

Nie pozwalaj liczbie niepotwierdzonych transakcji w pamięci na przekroczenie tej wartości. Jeśli zostanie ona przekroczona, ta sama kolejność transakcji jak w momencie wyboru, które transakcje zawrzeć w wydobytym bloku, jest wykorzystywana do zdecydowania, które z nich zatrzymać w niepotwierdzonej puli. Ustaw 0 lub liczbę ujemna, aby zdjąć limit.

3.7 xin.maxNumberOfMonitors=100

Maksymalna liczba monitorów dopuszczonych na danym węźle.

3.8 xin.maxTxBlock=255

Maksymalna liczba transakcji na blok.

3.9 xin.minBlockTime=53

Minimalny czas bloku w sekundach.

3.10 xin.maxBlocktime=67

Maksymalny czas bloku w sekundach.

4. Baza Danych

4.1 xin.dbUrl=jdbc:h2:./db/xin;DB_CLOSE_ON_EXIT=FALSE;MVCC=TRUE;MV_STORE=FALSE

URL połączenia JDBC do bazy danych, sprawdź dokumentację H2, aby sprawdzić dostępne modyfikacje. Załącz ;AUTO_SERVER=TRUE, aby uruchomić tryb automatycznego dostępu. Folder xin_db powinien znajdować się w bieżącej ścieżce roboczej, jeśli go brakuje, zostanie utworzony.

4.2 xin.dbType=h2

URL połączenie JDBC do bazy danych do wykorzystania w sieci testowej, jeśli isTestnet=true.

4.3 xin.dbDir=./db/xin

Ścieżka lokalizacji bazy danych.

4.4 xin.dbParams=DB_CLOSE_ON_EXIT=FALSE;MVCC=TRUE;MV_STORE=FALSE

Dodatkowe parametry H2

4.5 xin.dbUsername=sa

Domyślna nazwa użytkownika bazy danych.

4.6 xin.dbPassword=sa

Domyślne hasło bazy danych.

4.7 xin.dbLoginTimeout=70

Czas połączenia bazy danych w sekundach.

4.8 xin.dbDefaultLockTimeout=60

Domyślny czas zablokowania bazy danych w sekundach.

4.9 xin.maxDbConnections=30

Maksymalna liczba jednoczesnych podłączeń do bazy danych.

4.10 xin.dbCacheKB=0

Pamięć alokowana dla cache’u bazy danych w kilobajtach. Jeśli ustawiona na 0, cache będzie się zmieniał od 16MB dla stosów do 160MB do 256MB dla stosów od 640MB wzwyż.

4.11 xin.trimDerivedTables=true

Uruchom oznaczanie tabel pochodzących od obiektów. Wyłączenie tej funkcji wpłynie niekorzystnie na wydajność.

4.12 xin.maxRollback=800

Jeśli oznaczanie jest uruchomione, zachowuj wystarczającą liczbę rekordów, aby pozwolić na działanie podanej liczby bloków. Minimalna wartość to 720. Po zwiększeniu tej wartości, pełen skan będzie musiał zostać wykonany celem odtworzenia i zachowania uprzednio oznaczonych rekordów.

4.13 xin.trimFrequency=1000

Kiedy oznaczanie jest uruchomione, jest uruchamiane co xin.trimFrequency bloków.

4.14 xin.maxPrunableLifetime=7776000

Nadpisz czas życia danych prunable, aby przechowywać je dłużej, wartość podana w sekundach. Ustaw na -1, aby wyłączyć pruning. Nie przynosi żadnego efektu, jeśli ustawiony na mniej niż wymagany minimalny czas dwóch tygodni (1209600 sekund) na mainnet lub 24 godziny (86400 sekund) na testnet. Wartość domyślna wynosi 90 dni.

4.15 xin.includeExpiredPrunable=true

Zawrzyj wygaśnięte części prunable tak długo, jak długo będą dostępne. Aby dostarczyć peerowego serwisu PRUNABLE, xin.maxPrunableLifetime musi być ustawione na -1, a xin.includeExpiredPrunable musi być ustawiony na true. Serwisy PRUNABLE oznaczają, że peery będą udostępniały wygaśnięte dane prunable innym peerom, gdy o nie poproszą.

4.16 xin.statementLogThreshold=10000

Próg dla stwierdzeń logów bazy danych (w milisekundach).

4.17 xin.transactionLogThreshold=15000

Próg dla transakcji logów bazy danych (w milisekundach).

4.18 xin.transactionLogInterval=15

Loguj średni czas transakcji po ustalonej liczbie minut.

4.19 xin.enablePublicKeyCache=true

Klucze publiczne domyślnie są cache;owane, co zajmuje około 10-15MB pamięci.

4.20 xin.dbMaxMemoryRows=1000000

Domyślna liczba maksymalnej ilości wierszy utrzymywanych w pamięci.

5. Jetty

5.1 xin.peerServerDoSFilter.maxRequestsPerSec=30

5.2 xin.peerServerDoSFilter.delayMs=1000

5.3 xin.peerServerDoSFilter.maxRequestMs=300000

Ustawienia Filtra DoS Jetty, używanego wyłącznie dla serwera sieciowego peer.

5.4 xin.keyStorePath=keystore

5.5 xin.keyStorePassword=password

5.6 #xin.keyStoreType=JKS

Plik przechowujący klucze oraz hasło wymagane, jeśli uiSSL lub apiSSL są uruchomione. Proszę sprawdzić instrukcję ustawienia węzła SSL, aby uzyskać więcej informacji.

6. Debugging

6.1 xin.debug=false

Uruchom debuggowanie.

6.2 xin.enableLogTraceback=true

Zawrzyj caller traceback w wiadomościach z logów.

6.3 xin.enableStackTraces=true

Uruchom logowanie wyjątkowych namiarów stosów.

6.4 xin.communicationLoggingMask=0

Używane do debuggowania komunikacji peer to peer.

6.5 xin.debugTraceAccounts=

Śledź bilanse podanych kont i powiązanych eventów w celach debuggingowych.

6.6 xin.debugTraceLog=trace.csv

Nazwa pliku do logowania namierzonych bilansów kont.

6.7 xin.debugTraceSeparator=\t

Znak podziału dla logów namierzających.

6.8 xin.debugTraceQuote="

Znak cytatu dla logów namierzających.

6.9 xin.debugLogUnconfirmed=false

Zmiany logów w niepotwierdzonych bilansach.

7. Deweloper

7.1 xin.forceValidate=false

Wymuś rewalidację bloków i transakcji na początku.

7.2 xin.forceScan=false

Wymuś odbudowę tabel pochodzących z obiektów na początku.

7.3 xin.timeMultiplier=1

Skaluj czas epokowy dla szybszego wydobycia. Działa wyłącznie offline.

8. Różne

8.1 xin.ledgerAccounts=

Adres kont (w formacie RS) do namierzania zmian bilansów w tabeli księgi rachungowej, oddzielany średnikiem. Ustaw na *, aby śledzić zmiany na wszystkich kontach. Nie ustawiaj żadnego konta, aby wyłączyć księgę rachunkową.

8.2 xin.ledgerLogUnconfirmed=2

Ustaw 0, aby nie logować niepotwierdzonych zmian, 1 do logowania niepotwierdzonych zmian lub 2 do logowania wyłącznie niepotwierdzonych zmian.

8.3 xin.ledgerTrimKeep=30000

Określ liczbę bloków do utrzymania podczas oznaczania tabeli księgi rachunkowej. Wartość 0 poskutkuje zachowywaniem wszystkich bloków.

8.4 xin.processPolls=true

Jeśli wyłączone, ankiety nie są procesowane na końcu wysokości i ich wyniki nie są przechowywane w bazie danych. Gdy pojawi się żądanie, wyniki ankiety zostaną obliczone w locie, jeśli głosy nadal będą dostępne.

8.5 xin.deleteFinishedShufflings=false

Usuń zakończone pretasowania i ich uczestników. Gdy uruchomione, zapisy zakończonych przetasowań iraz ich uczestników zostają usunięte po zakończeniu przetasowania, co zwiększy wydajność poprzez utrzymywanie mniejszych tabel.

8.6 xin.useStrongSecureRandom=false

Użyj silnych, losowych, bezpiecznych implementacji. Ponieważ może to blokować systemy bazowane na Unix’ie, funkcja ta domyślnie jest wyłączona. Uruchom tylko wtedy, kiedy używasz haveged lub innego entropicznego źródła, które odczytuje z /dev/random szybko, w przeciwnym wypadku enkrypcja serwerowa będzie nieużytecznie powolna i spowoduje niepowodzenie w przetasowywaniu coinów.

8.7 xin.maxNumberOfShufflers=30

- Maksymalna liczba tasowań możliwych do wykonania równolegle na danym węźle.

9. System

9.1 xin.version=0.1.0

Obecna wersja rdzenia.

9.2 #socksProxyHost=localhost

Ustaw host proxy.

9.3 #socksProxyPort=20500

Ustaw port proxy

10. Bramki

10.1 xin.gateway.ipfs.enable=false

10.2 xin.gateway.ipfs.host=127.0.0.1

10.3 xin.gateway.ipfs.port=5001

10.4 xin.gateway.ipfs.addressTemplate=/ip4/%s/tcp/%s

Parametry konfiguracyjne IPFS Zdecentralizowany magazyn danych

10.5 xin.gateway.tendermint.enable=false

10.6 xin.gateway.tendermint.address=http://127.0.0.1:46657/

Parametry konfiguracyjne Tendermint Łańcuchy poboczne

10.7 xin.gateway.zeronet.enable=false

10.8 xin.gateway.zeronet.address=http://127.0.0.1:43110/

Parametry konfiguracyjne Zeronet Zdecentralizowany hosting

11. Proxy

11.1 xin.proxy.btc.enable=false

11.2 xin.proxy.btc.url=http://btc.blockr.io/

Parametry usługi proxy BTC

11.3 xin.proxy.eth.enable=false

11.4 xin.proxy.eth.url=https://etherchain.org/

Parametry usługi proxy Ethereum

11.5 xin.proxy.ltc.enable=false

11.6 xin.proxy.ltc.url=http://ltc.blockr.io/

Parametry usługi proxy Litecoin

11.7 xin.proxy.xrp.enable=false

11.8 xin.proxy.xrp.url=https://data.ripple.com/

Parametry usługi proxy Ripple

11.9 xin.proxy.poloniex.enable=false

11.10 xin.proxy.poloniex.url=https://poloniex.com/

Parametry usługi proxy Poloniex

12. Magazyn Danych

12.1 xin.storage.mongodb.enable=false

12.2 xin.storage.mongodb.url=localhost:27017

12.3 xin.storage.mongodb.database=test

Parametry połączenia MongoDB

12.4 xin.storage.rethinkdb.enable=false

12.5 xin.storage.rethinkdb.url=127.0.0.1

12.6 xin.storage.rethinkdb.port=28015

Parametry połączenia RethinkDB

12.7 xin.storage.mysql.enable=false

12.8 xin.storage.mysql.driverclass=com.mysql.cj.jdbc.Driver

12.9 xin.storage.mysql.url=jdbc:mysql://127.0.0.1:3306/testdb?serverTimezone=UTC

12.10 xin.storage.mysql.username=sa

12.11 xin.storage.mysql.password=sa

Parametry połączenia MySQL

12.12 xin.storage.psql.enable=false

12.13 xin.storage.psql.url=127.0.0.1

12.14 xin.storage.psql.port=5432

Parametry połączenia PostgreSQL

13. Usługi

Wolny kanał JSON do ogłoszeń społecznych i prywatnych usług.

{
  "services": [
    {
      "Peerexplorer": {
        "url": "127.0.0.1",
        "enabled": false,
        "port": "8888"
      }
    }
  ]
}

Reed Solomon

1. Format Adresu RS

Oprogramowanie XIN korzysta z adresów Reed-Solomon. To domyślny format w oficjalnym portfelu.

Ta forma adresów zwiększa niezawodność poprzez wprowadzenie redukcji, która może wykryć i naprawić błędy podczas wprowadzania i używania numerów kont XIN. Adresy te zawsze mają poniższą formę: XIN-XXXX-XXXX-XXXX-XXXXX, gdzie X jest liczbą naturalną lub literą (litery O oraz I nie są używane, podobnie jak cyfry 1 i 0). Adresy zawsze zaczynają się od prefixu „XIN-”, a myślniki są używane do rozdzielenia adresu na grupy 4, 4, 4 i 5 znaków. Adresy NIE rozróżniają liter wielkich i małych.

2. Tło

Domyślny format numerów kont XIN jest kompletnie numerycznym 64-bitowym identyfikatorem pochodzącym od prywatnego klucza danego konta. Aby uniknąć błędnie wprowadzonych znaków, co prowadziłoby do niezamierzonego przesłania środków na niewłaściwe konto, kodowanie Reed-Solomon jest używane do korekcji błędów i uproszczenia formatu odczytu.

3. Korzyści Wynikające z Adresów Reed-Solomon

Szansa na losową kolizję adresów, przy użyciu implementacji 4-częściowej XIN wynosi 1 na milion (20-bitowa redukcja). Pozwala to na popełnienie do 2 błędów w adresie, które zostaną poprawione. Gwarantuje to możliwość wykrycia do 4 błędów w adresie. Długość adresu zawsze wynosi 17 znaków i zawsze zaczyna się od prefiksu „XIN”. Pozwala to na łatwe rozpoznanie prawidłowego adresu.

4. Rozkodowywanie Adresów Reed-Solomon XIN

Różna wielkość liter nie jest wymagana w tym formacie, ale dla ujednolicenia wszystkich adresów wyświetla się je z samymi wielkimi literami. Adresy dzielone są myślnikami na grupy czterech znaków i ostatnią grupę pięciu znaków, ale nie jest to wymagane przy wpisywaniu adresu.
Stare adresy numeryczne także są rozpoznawane i wspierane dla wstecznej kompatybilności.

5. Szczegóły techniczne

Pierwszą i najważniejszą zasadą jest fakt, że nie istnieje żadna metoda pozbawiona możliwości popełnienia błędu: nie możesz w pełni polegać na automatycznej korekcji błędów, kropka. Problem w zasadzie jest nieintuicyjny: albo możesz wykonać prostą walidację adresu na zasadzie tak/nie, co da Ci raz na milion wynik błędny, albo możesz poprawić błędy. Nie możesz wykonać obu działań na raz. Problem polega na tym, że algorytm Reed-Solomon gwarantuje odnalezienie tylko 2 błędów. Jeśli wystąpi więcej niż 2 błędy we wprowadzonym adresie, da to wynik fałszywie pozytywny z prawdopodobieństwem około 10% i transakcja zostanie wysłana na niewłaściwe konto. Myśl o algorytmie jak o zgadywaniu błędów, więc zawsze staraj się wyłapać je samodzielnie.

Adresy Reed-Solomon (RS) dla XIN są kodowane w sposób następujący:

  1. Bierzesz oryginalne 64-bitowe ID konta, dodajesz jeden bit 0, aby mieć 65 bitów, a potem dzielisz je na 13 pięciobitowych „symboli (65/5=13).
  2. Porządkujesz symbole od najniższego do najwyższego, np. bity 0-4, 5-9, 10-14 itd. aż do 60-64.
  3. Dołącz 4 symbole parujące (20 bitów), stworzone przez kodowanie Reed-Solomon naszych 13 symboli z punktu pierwszego (które pozostają nietknięte). To daje 13+4=17 symboli w zakodowanym słowie.
  4. Pomieszaj otrzymane symbole w określonej wcześniej kolejności i zakoduj je 1 do 1-ego przy użyciu 32-znakowego alfabetu, dzieląc je na grupy myślnikami.

Integracja Giełd

1. Wymagania

Węzły XIN działają 24/7 z w pełni zsynchronizowanym blockchainem. Testnet jest dostępny na porcie API 9876. Wszystkie przykłady w tym dokumencie wykorzystują portu API testnet 9876. Port API mannet to 23457. Najnowższy rdzeń XIN może być pobrany stąd:
http://www.infinity-economics.org/download/

Do testnet można wejść z poniższego linka:
http://www.infinity-economics.org/testnet/

Baza URL API to (zakładając działający lokalny węzeł):
http://localhost:9876/api

Kompletna lista wezwań API znajduje się tu:
http://www.infinity-economics.org/api/

2. Generowanie Kont Depozytów Użytkowników

Jeden nowo wygenerowany adres depozytu na użytkownika. Zawsze używaj silnej frazy bezpieczeństwa dla konta depozytu i zabezpiecz swoje konto depozytu kluczem publicznym zanim złożysz depozyt. Dla depozytów bazujących na kontach w zasadzie generujesz nową losową frazę bezpieczeństwa dla każdego użytkownika. Fraza bezpieczeństwa powinna być bardzo silna i zawierać conajmniej 45 znaków. Rekomendujemy użycie pozostałych wolnych pozycji [1] do wygenerowania mnemonicznych, deterministycznych kluczy.

Gdy już będziesz miał bezpieczną frazę bezpieczeństwa, otrzymasz id konta oraz klucz publiczny poprzez wezwanie API getAccountId.

requestType=getAccountId&secretPhrase=**passphrase**

Odpowiedź będzie wyglądała w sposób następujący:

{
                "accountRS": "XIN-FAKW-QGVQ-TTKG-2VLKH",
                "publicKey": "0cd89fce3804114454cc3084cba661a71d1638086a704ab211c107ebc5fa780c",
                "requestProcessingTime": 1,
                "account": "560236031088435772"
            }

Na stronie Twojego depozytu będziesz musiał podać adres konta wyciągnięty z pola accountRS, np. XIN-FAKW-QGVQ-TTKG-2VLKH. Jeśli konto nie miało jeszcze żadnej transakcji przychodzącej, będziesz musiał podać użytkownikowi także swój klucz publiczny. Klucz publiczny nie musi być okazywany po pierwszej transakcji przychodzącej. Kiedy użytkownik wysyła środki na nowe konto, musi podać klucz publiczny, aby ogłoszenie o tym kluczu zostało stworzone. Gdy to zrobisz, nie musisz tego powtarzać. Konta bez klucza publicznego chronione są tylko 64-bitowym adresem konta, a nie 256-bitowym kluczem publicznym.

2.1 Namierzanie Depozytów Bazowanych Na Nowych Kontach

Aby namierzyć nowy depozyt, łatwiej jest przejrzeć wszystkie transakcje w bloku, aby sprawdzić, czy którakolwiek z nich została wysłana na adres konta wygenerowany przez Ciebie lub możesz przeskanować każdy balans użytkowników jednym prostym wezwaniem.

Aby przeskanować nowe bloki, możesz użyć:

requestType=getBlockchainStatus

Odpowiedź będzie zawierać lastBlock oraz numberOfBlocks. Jeśli numberOfBlocks różni się od poprzednio wygenerowanego w API, jeden lub więcej bloków zostało wygenerowanych. Transakcje z bloku, który ma już 10 potwierdzeń, muszą zostać przechwycone. W swojej bazie powinieneś mieć podaną wysokość ostatniego bloku, który przetwarzałeś.

requestType=getBlock&height=810615&includeTransactions=true&includeExecutedPhased=true

Zapętl wszystkie transakcje z „phased":false i przetwórz je zgodnie z potrzebą. Wykonaj to samo dla sekcji executedPhasedTransactions bez filtra fazowego. Dla każdej transakcji sprawdź, czy pole recipientRS odpowiada jednemu z kont depozytu, które wygenerowałeś dla swoich użytkowników. Jeśli tak, jest to płatność przychodząca. Pobierz środki z wewnętrznego salda użytkownika i prześlij je na swój gorący portfel. Gdy wszystkie transakcje w danym bloku zostaną sprawdzone, sprawdź, czy przetworzyłeś poprzedni blok czy nie (previousBlock). Jeśli nie, przejdź przez cały łańcuch bloków do miejsca, w którym przetworzyłeś ostatni blok.

Aby zeskanować konkretne konta użytkowników, użyj:

requestType=getAccount&account=XIN-FAKW-QGVQ-TTKG-2VLKH

oszukaj nowych transakcji lub sprawdź saldo całości.

3. Pobieranie/Wysyłanie Pieniędzy

Kiedy użytkownik chce pobrać środki na konkretne konto, pobierasz od niego ID konta, na które chce je przesłać. Kiedy otrzymasz numer ID, w pierwszej kolejności musisz sprawdzić, czy do konta przypisany jest klucz publiczny czy nie (np. czy jest nowe czy nie). Aby to zrobić, użyj API getAccountPublicKey. Wymaga tylko jednego parametru, numeru konta od użytkownika.

requestType=getAccountPublicKey&account=XIN-FAKW-QGVQ-TTKG-2VLKH

Jeśli konto nie ma klucza publicznego, otrzymasz następujący błąd:

{ "errorCode": 5, "errorDescription": "Unknown account" }

Otrzymawszy ten błąd, powinieneś poprosić użytkownika o jego klucz publiczny lub przynajmniej wyświetlić ostrzeżenie na temat ryzyka korzystania z konta bez klucza publicznego. Mając już zarówno ID konta, jak i klucz publiczny, możesz zweryfikować, czy są prawidłowe, poprzez porównanie podanego ID konta z ID konta wygenerowanym przez klucz publiczny używając wezwania API getAccountID.

requestType=getAccountId&publicKey=0cd89fce3804114454cc3084cba661a71d1638086a704ab211c107ebc5fa780c

Odpowiedź wygląda w sposób następujący:

{   
                "accountRS":"XIN-FAKW-QGVQ-TTKG-2VLKH",
                "publicKey":"0cd89fce3804114454cc3084cba661a71d1638086a704ab211c107ebc5fa780c",
                "requestProcessingTime":1,"account":"560236031088435772"
            }

Teraz porównaj accountRS w odpowiedzi z ID konta dostarczonym przez użytkownika. Jeśli są zgodne, możesz zaakceptować wypłatę.

3.1 Wysyłanie XIN

Wysyłka XIN odbywa się przez wezwanie API sendToken. Istotne parametry to:

            recipient - adres konta odbiorcy
            amountTQT - liczba XIN (w TQT)
            feeTQT - opłata transakcyjna dla transakcji w TQT. Minimalna wartość to 100000000 TQT (= 1XIN)
            secretPhrase - fraza bezpieczeństwa nadawcy w przypadku gorącego portfela
            deadline - data końcowa dla transakcji w blokach. Powinna być ustawiona na 1440
            recipientPublicKey - klucz publiczny odbiorcy podany przez użytkownika, potrzebny tylko wtedy, kiedy konto użytkownika nie posiada jeszcze klucza publicznego (podczas pierwszej transakcji), w przeciwnym wypadku jest opcjonalny, niemniej jednak jego nie podanie stwarza ryzyko dla użytkownika. recipientPublicKey jest obowiązkowe w przypadku dodawania zaszyfrowanych wiadomości do transakcji wypłaty na nowym koncie.
            

Właściwie wykonana odpowiedź powinna zawsze zawierać pole „transakcja”, które reprezentuje nowo stworzone ID transakcji.

4. Gorące i Zimne Portfele

Nie powinno się przechowywać wszystkich depozytów na pojedynczym gorącym portfelu. Gorący portfel to portfel, dla którego fraza bezpieczeństwa jest przechowywana na Twoim serwerze, abyś zawsze mógł wykonywać płatności z tego portfela.

Zamiast tego powinieneś posiadać zarówno gorący jak i zimny portfel. Zimny portfel powinien przechowywać większość coinów i nie powinno być do niego dostępu z żadnego z Twoich serwerów. Idealnie by było, gdybyś manualnie wykonywał transfery z zimnego na gorący portfel wtedy, kiedy potrzebujesz więcej środków na swoje bieżące operacje. Zatem najlepszym rozwiązaniem jest przechowywanie swoich pieniędzy na swoim adresie zimnego portfela i przesyłanie na gorący portfel, gdy są potrzebne.

5. Dodatkowe Informacje

5.1 Format Kont XIN

ID konta XIN jest przechowywane wewnętrznie jako 64-bitowa podpisana długa zmienna. Kiedy wykorzystywane w API, zazwyczaj jest zwracane jako niepodpisany numer reprezentowany w formie ciągu i alfanumeryczna reprezentacja Reed-Solomon zaczynająca się od prefiksu „XIN”. Na przykład: IN-FAKW-QGVQ-TTKG-2VLKH.

W parametrach zapytań API i odpowiedzi JSON, znajdziesz obie reprezentacje, numeryczna jest zazwyczaj wyświetlana jako konto, nadawca i odbiorca. Alfanumeryczna reprezentacja jest zazwyczaj wyświetlana jako accountRS, senderRS, recipientRS. RS to skrót od Reed-Solomon. Ta forma adresu zwiększa niezawodność poprzez przedstawienie redukcji, która może wykryć i poprawić błędy przy wprowadzaniu i używaniu ID konta XIN.

5.2 Ilości XIN i TQT

Wszelkie ilości XIN powinny być przekonwertowywane na format TQT, aby mogły być używane w zawołaniach API. TQT to nazwa nadana 0,00000001 XIN (lub 10-8 w matematycznym skrócie). Kurs TQT do XIN jest ekwiwalentem kursu Satoshi do Bitcoina. Upraszczając 1 XIN jest równy 100000000 TQT, zatem konwertując XIN do TQT, wystarczy pomnożyć wartość przez 100000000.

5.3 Opłaty Minimalne

Wszystkie transakcje wychodzące wymagają opłaty minimum 1 XIN na chwilę obecną. W zawołaniach API musi to być reprezentowane jako 100000000 TQT.

Źródła:


Ilości i Jednostki

1. Opis

API XIN pozwala na interakcja z węzłami XIN używającymi zapytań HTTP na porcie 23457 (testnet 9876).

Większość zapytań HTTP może korzystać z metod GET lub POST, ale niektóre zawołania API akceptują wyłącznie metodę POST ze względu na zabezpieczenia. Odpowiedzi są zwracane jako obiekty JSON. Przykładem wezwań API jest: http://localhost:23457/api. Wszystkie zawołania API mogą być wyświetlone i testowane, jeśli węzeł lokalny działa. Prosimy podmienić przykłady kont, aktywów i innych parametrów zgodnie z własnymi potrzebami.

2. Jednostki Ilości XIN, TQT oraz QNT

System XIN korzysta z waluty XIN, aby tworzyć wartość systemu. Jak wszystkie waluty, XIN jest obracany wewnątrz systemu, przenosząc się od jednego użytkownika do następnego poprzez płatności i zakupy. Ponadto drobna opłata jest pobierana za każdą transakcję, w tym za transakcje bez użycia XIN, jak na przykład proste wiadomości. Opłata ta trafia do właściciela węzła, który wydobywa (generuje) nowy blok zawierający transakcje, które są zaakceptowane w blockchain.

Dziewięć miliardów XIN zostało stworzonych w Bloku Genesis i nowe XIN nigdy nie powstaną.

Jeden XIN jest podzielny do ośmiu miejsc po przecinku. Jednak wewnętrznie waluta nadal jest przechowywana w integralnej formie jednostek TQT lub Kwant Tokenowy (TokenQuant), gdzie 1 XIN = 108 TQT.

Wszystkie parametry i pola w API mające związek z ilością XIN, są denominowane w jednostkach TQT, na przykład feeTQT (opłata TQT). Jedynym wyjątkiem jest effectiveBalanceXIN, używany przy kalkulacjach związanych z wydobyciem. System XIN może być odbierany jako aktywo posiadane przez wszystkich właścicieli XIN.

W sensie tym XIN kwantyfikuje własność lub stawkę w systemie. Interesariusze są upoważnieni do wydobycia (generowania) bloków oraz pobierania opłat transakcyjnych wprost proporcjonalnie do liczby posiadanych XIN. Inne aktywa mogą zostać stworzone wewnątrz XIN używając Emisji Aktywów. Emitent musi uszczegółowić liczbę miejsc po przecinku do kwantyfikacji danego aktywa oraz ilość aktywów do stworzenia w jednostkach QNT lub Kwantach, pochodzących od TQT. Ilości aktywów są przechowywane wewnętrznie jako integralne jednostki QNT, a aktywa są wyceniane w TQT na QNT.

3. Hasło Administratora

Niektóre funkcje API wymagają parametru adminPassword, który musi być zgodne z właściwością xin.adminPassword, chyba że właściwość xin.disableAdminPassword jest ustawiona na true lub serwer API nasłuchuje wyłącznie interfejsów hosta lokalnego (gdy właściwość xin.apiServerHost ustawiona jest na 127.0.0.1).

Wszystkie operacje debuggingowe wymagają hasła administratora, ponieważ wymagają dodatkowych uprawnień. W niektórych funkcjach adminPassword używane jest po to, abyś mógł przekroczyć maksymalną wartość dla parametru lastIndex, który domyślnie ustawiony jest na 100 przez właściwość xin.maxAPIRecords. Daje Ci to możliwość uzyskania więcej niż obiekty na zapytania.


Stemple

1. Stemple Węzłów XIN

Stempel jest „znakiem akceptacji” dla węzła XIN. Poprzez tworzenie cyfrowych podpisów bazowanych na Twoim adresie IP i sekretnej frazie bezpieczeństwa, weryfikujesz, że Twoje konto „posiada” dany węzeł i jest odpowiedziane za niego. Pomaga to chronić sieć przed atakami i zwiększa zaufanie sieci dla Twojego węzła.

Nie musisz generować stempla, jeżeli jesteś sporadycznym użytkownikiem XIN, ale jest to bardzo dobry pomysł dla tych, którzy prowadzą publiczne węzły XIN na dedykowanych serwerach publicznych. Stemple nie mają wpływu na wydobycie (generowanie bloku).

2. Stwórz Stempel

Aby stworzyć stempel, uruchom zawołanie API markHost na swoim lokalnym węźle:

curl -X POST http://localhost:23457/api?requestType=markHost&secretPhrase=YourSecretPhrase&host=YourHostIP&weight=1&date=2017-05-10

Parametry:

secretPhrase: sekretna fraza bezpieczeństwa konta, które będzie ostemplowane na węźle
host: adres IP lub nazwa hosta danego węzła
weight: waga podpisania pod dany węzeł
date: obecna data w formacie RRRR-MM-DD.

Odpowiedź:

{
    "hallmark": "a8cbe1c6b79b128b31fbacdfeceda971ef46121e8cfc26d6fffa02224f0453...",
    "requestProcessingTime": 5
}

Uwaga:
Jeśli operujesz tylko jednym węzłem, wartość nie ma znaczenia, ale jeśli masz ich wiele, możesz użyć tej wartości, aby stworzyć relatywne „wagi” każdego z węzłów. Sieć będzie „sumowała” wszystkie wagi dla Twojego ostemplowanego węzła i użyje proporcji w tych wagach, aby zdeterminować, ile ruchu każdy z nich jest w stanie obsłużyć. Na przykład jeśli masz cztery węzły i chcesz nadać im równe wagi, ustaw równe wartości. ALe jeśli jeden węzeł ma dużo więcej pamięci i przepustowości zalokowanych dla niego, możesz nadać mu wyższą wagę proporcjonalnie do pozostałych trzech.

3. Zastosuj i Aktywuj Stempel

Zlokalizuj poniższą linię we właściwościach zlokalizowanych w folderze core/bin/conf i wyedytuj/dodaj:

xin.myAddress=YourNodeIPHere
xin.myHallmark=CopyYourHallmarkStampHere

Zapisz i zamknij plik z właściwościami i uruchom ponownie swój węzeł, aby aktywować stempel.


Weryfikacja Źródła

1. Czym Jest SHA256

SHA256 jest funkcją hashową. Oznacza to, że jest to konkretny wzór na przekształcenie kawałka danych cyfrowych jak na przykład paragraf w tekście lub w pliku w ciąg znaków nazywany hashem danych.

Hash SHA256 zawsze ma dokładnie 64 znaki długości, bez względu na rozmiar oryginalnych danych.

Każdy znak jest cyfrą lub literą od A do F i reprezentuje 4 bity informacji.

Zatem całość hasha reprezentuje 64*4=256 bitów informacji, skąd wzięło się 256 w nazwie SHA256. Ekstremalnie mało prawdopodobne jest, aby dwa różne pliki miały ten sam hash SHA256, ponieważ istnieje 1077 (to jest 1 i 77 zer) możliwych hashy. Zaprojektowano je tak, aby były ekstremalnie trudne do odwrócenia; po dziś dzień nikt nie znalazł sposobu na stworzenie dwóch różnych plików przy użyciu tego samego lub podobnego hasha. Daje to szybki sposób na sprawdzenie, czy plik nie został uszkodzony lub zmodyfikowany. Fundacja używa podpisu SHA256 dla wszystkich danych udostępnianych na jej stronie internetowej.

2. Jak Fundacja Używa Hashy SHA256 Dla Weryfikacji

Aby zweryfikować, czy plik nie został uszkodzony lub zmodyfikowany, proces przebiega w sposób następujący:

  1. Fundacja uploaduje plik i oznajmia jesgo hash SHA256
  2. Użytkownik pobiera plik
  3. Użytkownik wylicza hash SHA256 danego pliku i porównuje go z hashem ogłoszonym przez Fundację.
  4. Jeśli hash jest ten sam, użytkownik może być pewien, że pobrał właściwy plik

3. Narzędzia Do Kalkulacji Hasha Pliku

Prostym sposobem jest użycie kalkulatorów hashy online takich jak np. online-convert.com. Zuploaduj swój plik użwając przycisku „Przeglądaj”, a potem kliknij w „Konwertuj plik”. Po krótkiej chwili strona poda Ci hash pliku. Jeśli nie chcesz korzystać z narzędzia „online” do weryfikacji hashy SHA256, istnieje sporo darmowych kalkulatorów SHA256, które działają „offline” na Windows i MacOS. Jeśli korzystasz z węzła linuxowego (ubuntu) postępuj z następującymi krokami:

Najpierw uruchom terminal i przejdź do lokalizacji, do której pobrałeś plik, który chcesz sprawdzić.

Następnie uruchom poniższą komendę w lokalizacji, w której znajduje się plik:

./sha256sum file.zip.

Sha256sum powinien następnie podać pojedynczy ciąg znaków po wyliczeniu hasha.

c01b39c7a35ccc3b081a3e83d2c71fa9a767ebfeb45c69f08e17dfe3ef375a7b file.zip

Porównaj uzyskany hash wygenerowany przez Twoją maszynę z odpowiednim hashem ogłoszonym na stronie internetowej Fundacji. Jeśli oba hashe są identyczne, pobrany plik jest niemal w 100% nietknięty. Jeśli hashe się nie zgadzają, oznacza to, że albo pojawił się problem podczas pobierania, albo wystąpił problem z serwerem/plikiem. W takim przypadku nie używaj danego pliku!


Budowa Węzła

Instrukcje Budowy Rdzeń Infinity v0.1.0

Wymagania

Java 8 Oracle JVM.

Na Ubuntu

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee /etc/apt/sources.list.d/webupd8team-java.list
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu trusty main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
apt-get update
apt-get install oracle-java8-installer

Synchronizuj swój zegar

Rdzeń Infinity używa zegara Twojego komputera, więc przestawianie go za bardzo od stanu rzeczywistego może spowodować nawet odrzucanie prawidłowych bloków lub omijanie bloków, które mogłeś wydobyć. Na Linux’ie użyj "sudo ntpd -gq”, na Windowsie wejdź w „Zmień ustawienia daty i czasu” i zaznacz opcję pobierania czasu z internetu i pozostawania w pełnej synchronizacji.

Na Ubuntu

apt-get install ntp
dpkg-reconfigure tzdata

Zbuduj system

Infinity używa https://gradle.org/ jako swojego podstawowego narzędzia do budowy.

Gradle jest systemem automatyzacji budowy o otwartym kodzie źródłowym, który buduje na konceptach Apache Ant oraz Apache Maven oraz przedstawia specyficzny język domen bazowany na Groovy (DSL) zamiast formatu XML używanego przez Apache Maven podczas deklaracji konfiguracji projektu.

Instalacja i konfiguracja Gradle:

Budowa

./gradle DistZip

Przewodnik po Węźle

Jak przygotować mój komputer do uruchomienia rdzenia?

Rdzeń wymaga Java 8 Oracle JVM do prawidłowego działania. Prosimy pobrać i zainstalować Javę na samym początku. LINK

Jak zweryfikować rdzeń?

Wysoce rekomendowane jest weryfikowanie przy użyciu podpisu SHA256 za każdym razem, gdy pobierasz nową wersję.

Jak skonfigurować rdzeń?

Istnieje wiele parametrów, które mogą być zmieniane, ale ustawienia domyślne są dobrane w taki sposób, aby program mógł uruchomić się od razu po rozpakowaniu bez żadnej dodatkowej konfiguracji. Aby sprawdzić dostępne opcje, otwórz plik conf/custom.properties. Nie musisz usuwać domyślnych ustawień spakowanych w core.jar, ustawienia w conf/custom.properties nadpisują tamte. Dzięki temu podczas upgrade’u oprogramowania możesz bezpiecznie nadpisywać ustawienia w core.jar przez zaktualizowany plik z nowego pakietu, podczas gdy Twoje customizacje pozostają bezpieczne w pliku conf/custom.properties.

Jak udostępnić publicznie rdzeń API?

Aby dostęp do Twojego węzła był publiczny i pozwolić klientom na połączenia, musisz odkomentować poniższe trzy wiersze (po prostu usuń #) i zmienić hasło administratora w pliku conf/custom.properties.

xin.allowedBotHosts=*; 127.0.0.1; localhost; [0:0:0:0:0:0:0:1];
xin.apiServerHost=0.0.0.0
xin.adminPassword=***yourOwnRandomPassword***

W ustawieniach domyślnych możesz podłączyć swój portfel do swojego węzła lokalnego w dowolnym momencie w locie poprzez zmianę API węzła w „options/nodes and connection” na LOCAL_HOST. Niektóre funkcje takie jak generowanie bloku i tasowanie będą pytały o węzeł lokalny ze względów bezpieczeństwa.

UWAGA:
Nie zapomnij ustawić nowego hasła administratora i nie używa∆ żadnej sekretnej frazy bezpieczeństwa ze swojego portfela/konta!

Jak długo trwa synchronizacja łańcucha?

To zależy od Twojego komputera, połączenia internetowego i wysokości bloku. Przy obecnej wysokości bloku 100000 zajmuje to średnio około 10 minut, aby zsynchronizować się z łańcuchem.

Jak zaktualizować rdzeń?

Po prostu rozpakuj nową wersję w miejscu istniejącej instalacji i uruchom nowy rdzeń. Rdzeń zaktualizuje bazę danych, jeśli zajdzie taka potrzeba.


Węzeł jako Usługa

Szablony usług węzła Linux

Ubuntu

Plik: core.conf

start on filesystem and started networking
respawn
chdir /root/core/bin
exec ./core

Location: /etc/init

Zarządzaj Usługą:

service core start/stop/restart

Debian

Plik: core.service

[Unit]
Description=Core v0.1.0
After=network.target

[Service]
Restart=always
WorkingDirectory=/root/core/bin
ExecStart=/root/core/bin/core

[Install]
WantedBy=default.target

Location: /etc/systemd/system

Zarządzaj Usługą:

systemctl enable core.service
systemctl start core.service
systemctl status core.service