ಕಾರ್ಡಾದ ಮುಖ್ಯ ಲಕ್ಷಣಗಳು ಮತ್ತು ಇತರ ಬ್ಲಾಕ್ಚೈನ್ಗಳಲ್ಲಿ ಅದರ ವಿಶಿಷ್ಟತೆಯನ್ನು ನೋಡೋಣ:
- ಕಾರ್ಡಾ ತನ್ನದೇ ಆದ ಕ್ರಿಪ್ಟೋಕರೆನ್ಸಿಯನ್ನು ಹೊಂದಿಲ್ಲ.
- Corda ಗಣಿಗಾರಿಕೆಯ ಪರಿಕಲ್ಪನೆಯನ್ನು ಮತ್ತು ಪ್ರೂಫ್-ಆಫ್-ವರ್ಕ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸುವುದಿಲ್ಲ.
- ವಹಿವಾಟು/ಒಪ್ಪಂದದ ಪಕ್ಷಗಳ ನಡುವೆ ಮಾತ್ರ ಡೇಟಾ ವರ್ಗಾವಣೆ ಸಂಭವಿಸುತ್ತದೆ. ಎಲ್ಲಾ ನೆಟ್ವರ್ಕ್ ನೋಡ್ಗಳಿಗೆ ಯಾವುದೇ ಜಾಗತಿಕ ಪ್ರಸಾರವಿಲ್ಲ.
- ಎಲ್ಲಾ ವಹಿವಾಟುಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಕೇಂದ್ರೀಯ ನಿಯಂತ್ರಕ ಇಲ್ಲ.
- Corda ವಿವಿಧ ಒಮ್ಮತದ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
- ವೈಯಕ್ತಿಕ ಒಪ್ಪಂದ/ಒಪ್ಪಂದದ ಮಟ್ಟದಲ್ಲಿ ಭಾಗವಹಿಸುವವರ ನಡುವೆ ಒಮ್ಮತವನ್ನು ಸಾಧಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸಂಪೂರ್ಣ ವ್ಯವಸ್ಥೆಯ ಮಟ್ಟದಲ್ಲಿ ಅಲ್ಲ.
- ವಹಿವಾಟನ್ನು ಅದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಭಾಗವಹಿಸುವವರು ಮಾತ್ರ ದೃಢೀಕರಿಸುತ್ತಾರೆ.
- Corda ಔಪಚಾರಿಕ ಮಾನವ ಕಾನೂನು ಭಾಷೆ ಮತ್ತು ಸ್ಮಾರ್ಟ್ ಒಪ್ಪಂದದ ಕೋಡ್ ನಡುವೆ ನೇರ ಸಂಪರ್ಕವನ್ನು ನೀಡುತ್ತದೆ.
ಲೆಡ್ಜರ್
ಕಾರ್ಡಾದಲ್ಲಿ ಲೆಡ್ಜರ್ ಪರಿಕಲ್ಪನೆಯು ವ್ಯಕ್ತಿನಿಷ್ಠವಾಗಿದೆ. ಒಂದೇ ಕೇಂದ್ರೀಯ ಡೇಟಾ ರೆಪೊಸಿಟರಿ ಇಲ್ಲ. ಬದಲಾಗಿ, ಪ್ರತಿಯೊಂದು ನೋಡ್ ತನಗೆ ತಿಳಿದಿರುವ ಸತ್ಯಗಳ ಪ್ರತ್ಯೇಕ ಡೇಟಾಬೇಸ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
ಉದಾಹರಣೆಗೆ, 5 ನೋಡ್ಗಳ ನೆಟ್ವರ್ಕ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ, ಅಲ್ಲಿ ವೃತ್ತವು ನೋಡ್ಗೆ ತಿಳಿದಿರುವ ಸತ್ಯವಾಗಿದೆ.
ನಾವು ನೋಡುವಂತೆ, ಎಡ್, ಕಾರ್ಲ್ ಮತ್ತು ಡೆಮಿಗೆ ಸತ್ಯ 3 ಬಗ್ಗೆ ತಿಳಿದಿದೆ, ಆದರೆ ಆಲಿಸ್ ಮತ್ತು ಬಾಬ್ಗೆ ಅದರ ಬಗ್ಗೆ ತಿಳಿದಿರುವುದಿಲ್ಲ. ಪ್ರತಿ ನೋಡ್ನ ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಸಾಮಾನ್ಯ ಸಂಗತಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ ಎಂದು ಕಾರ್ಡಾ ಖಾತರಿಪಡಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಒಂದೇ ಆಗಿರುತ್ತದೆ.
ರಾಜ್ಯಗಳು
ರಾಜ್ಯ ಆಗಿದೆ ಬದಲಾಗದ ಒಂದು ನಿರ್ದಿಷ್ಟ ಸಮಯದಲ್ಲಿ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ನೆಟ್ವರ್ಕ್ ನೋಡ್ಗಳಿಗೆ ತಿಳಿದಿರುವ ಸತ್ಯವನ್ನು ಪ್ರತಿನಿಧಿಸುವ ವಸ್ತು.
ರಾಜ್ಯಗಳು ಅನಿಯಂತ್ರಿತ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, ಷೇರುಗಳು, ಬಾಂಡ್ಗಳು, ಸಾಲಗಳು, ಗುರುತಿನ ಮಾಹಿತಿ.
ಉದಾಹರಣೆಗೆ, ಕೆಳಗಿನ ರಾಜ್ಯವು IOU ಅನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ-ಆಲಿಸ್ ಬಾಬ್ಗೆ X ಮೊತ್ತವನ್ನು ನೀಡಬೇಕೆಂದು ಒಪ್ಪಂದವಾಗಿದೆ:
ಕಾಲಾನಂತರದಲ್ಲಿ ಸತ್ಯದ ಜೀವನ ಚಕ್ರವನ್ನು ರಾಜ್ಯಗಳ ಅನುಕ್ರಮದಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ. ಪ್ರಸ್ತುತ ಸ್ಥಿತಿಯನ್ನು ನವೀಕರಿಸಲು ಅಗತ್ಯವಾದಾಗ, ನಾವು ಹೊಸದನ್ನು ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಪ್ರಸ್ತುತವನ್ನು ಐತಿಹಾಸಿಕವೆಂದು ಗುರುತಿಸುತ್ತೇವೆ.
ವ್ಯವಹಾರಗಳು
ವಹಿವಾಟುಗಳು ಲೆಡ್ಜರ್ ಅನ್ನು ನವೀಕರಿಸುವ ಪ್ರಸ್ತಾಪಗಳಾಗಿವೆ. ಅವುಗಳನ್ನು ಎಲ್ಲಾ ಲೆಡ್ಜರ್ ಭಾಗವಹಿಸುವವರಿಗೆ ಪ್ರಸಾರ ಮಾಡಲಾಗುವುದಿಲ್ಲ ಮತ್ತು ಅವುಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಕಾನೂನುಬದ್ಧ ಹಕ್ಕನ್ನು ಹೊಂದಿರುವ ನೆಟ್ವರ್ಕ್ ಭಾಗವಹಿಸುವವರಿಗೆ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತದೆ.
ಒಂದು ವೇಳೆ ವಹಿವಾಟನ್ನು ಲೆಡ್ಜರ್ಗೆ ಸೇರಿಸಲಾಗುತ್ತದೆ:
- ಒಪ್ಪಂದದ ಪ್ರಕಾರ ಮಾನ್ಯವಾಗಿದೆ
- ಅಗತ್ಯವಿರುವ ಎಲ್ಲಾ ಭಾಗವಹಿಸುವವರು ಸಹಿ ಮಾಡಿದ್ದಾರೆ
- ಎರಡು ಖರ್ಚುಗಳನ್ನು ಒಳಗೊಂಡಿಲ್ಲ
Corda ಯು UTXO (ವ್ಯಯಿಸದ ವಹಿವಾಟು ಔಟ್ಪುಟ್) ಮಾದರಿಯನ್ನು ಬಳಸುತ್ತದೆ, ಇದರಲ್ಲಿ ಪ್ರತಿ ಲೆಡ್ಜರ್ ಸ್ಥಿತಿಯು ಬದಲಾಗುವುದಿಲ್ಲ.
ವಹಿವಾಟನ್ನು ರಚಿಸಿದಾಗ, ಹಿಂದಿನ ವಹಿವಾಟಿನ ಔಟ್ಪುಟ್ ಸ್ಥಿತಿಯನ್ನು (ಹ್ಯಾಶ್ ಮತ್ತು ಇಂಡೆಕ್ಸ್ ಮೂಲಕ) ಇನ್ಪುಟ್ಗೆ ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ.
ವಹಿವಾಟಿನ ಜೀವನ ಚಕ್ರ:
- ರಚನೆ (ಸದ್ಯಕ್ಕೆ, ವಹಿವಾಟು ಲೆಡ್ಜರ್ ಅನ್ನು ನವೀಕರಿಸುವ ಪ್ರಸ್ತಾಪವಾಗಿದೆ)
- ಸಹಿಗಳನ್ನು ಸಂಗ್ರಹಿಸಿ (ವ್ಯವಹಾರಕ್ಕೆ ಅಗತ್ಯವಿರುವ ಪಕ್ಷಗಳು ವಹಿವಾಟಿಗೆ ಸಹಿಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ನವೀಕರಣ ಪ್ರಸ್ತಾಪವನ್ನು ಅನುಮೋದಿಸುತ್ತವೆ)
- ವ್ಯವಹಾರವನ್ನು ಲೆಡ್ಜರ್ಗೆ ಒಪ್ಪಿಸಿ
ಒಮ್ಮೆ ಲೆಡ್ಜರ್ಗೆ ವಹಿವಾಟನ್ನು ಸೇರಿಸಿದ ನಂತರ, ಇನ್ಪುಟ್ ಸ್ಟೇಟ್ಗಳನ್ನು ಐತಿಹಾಸಿಕ ಎಂದು ಗುರುತಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಭವಿಷ್ಯದ ವಹಿವಾಟುಗಳಲ್ಲಿ ಬಳಸಲಾಗುವುದಿಲ್ಲ.
ಇನ್ಪುಟ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಸ್ಥಿತಿಗಳ ಜೊತೆಗೆ, ವಹಿವಾಟು ಒಳಗೊಂಡಿರಬಹುದು:
- ಆದೇಶಗಳು (ವ್ಯವಹಾರದ ಉದ್ದೇಶವನ್ನು ಸೂಚಿಸುವ ವಹಿವಾಟು ನಿಯತಾಂಕ)
- ಲಗತ್ತುಗಳು (ರಜಾ ಕ್ಯಾಲೆಂಡರ್, ಕರೆನ್ಸಿ ಪರಿವರ್ತಕ)
- ಸಮಯ ವಿಂಡೋಗಳು (ಸಿಂಧುತ್ವ ಅವಧಿ)
- ನೋಟರಿ (ನೋಟರಿ, ವಿಶೇಷ ನೆಟ್ವರ್ಕ್ ಭಾಗವಹಿಸುವವರು ವಹಿವಾಟುಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತಾರೆ)
ಒಪ್ಪಂದಗಳು
ನಾವು ವಹಿವಾಟಿನ ಸಿಂಧುತ್ವದ ಬಗ್ಗೆ ಮಾತನಾಡುವಾಗ, ನಾವು ಅಗತ್ಯ ಸಹಿಗಳ ಉಪಸ್ಥಿತಿಯನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಒಪ್ಪಂದದ ಮಾನ್ಯತೆಯನ್ನೂ ಸಹ ಅರ್ಥೈಸುತ್ತೇವೆ. ಪ್ರತಿ ವಹಿವಾಟು ಒಪ್ಪಂದದೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದೆ, ಅದು ಅದನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಇನ್ಪುಟ್ ಮತ್ತು ಔಟ್ಪುಟ್ ಸ್ಥಿತಿಗಳನ್ನು ಮೌಲ್ಯೀಕರಿಸುತ್ತದೆ. ವಹಿವಾಟನ್ನು ಅದರ ಎಲ್ಲಾ ರಾಜ್ಯಗಳು ಮಾನ್ಯವಾಗಿದ್ದರೆ ಮಾತ್ರ ಮಾನ್ಯವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ.
ಕಾರ್ಡಾದಲ್ಲಿನ ಒಪ್ಪಂದಗಳನ್ನು ಯಾವುದೇ JVM ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾಗುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಜಾವಾ, ಕೋಟ್ಲಿನ್).
class CommercialPaper : Contract {
override fun verify(tx: LedgerTransaction) {
TODO()
}
}
ಒಂದು ವರ್ಗದಿಂದ ಆನುವಂಶಿಕವಾಗಿ ಪಡೆಯುವುದು ಅವಶ್ಯಕ ಕಾಂಟ್ರಾಕ್ಟ್ ಮತ್ತು ವಿಧಾನವನ್ನು ಅತಿಕ್ರಮಿಸಿ ಪರಿಶೀಲಿಸು. ವಹಿವಾಟು ಅಮಾನ್ಯವಾಗಿದ್ದರೆ, ವಿನಾಯಿತಿಯನ್ನು ಎಸೆಯಲಾಗುತ್ತದೆ.
ವಹಿವಾಟಿನ ಮೌಲ್ಯೀಕರಣವು ನಿರ್ಣಾಯಕವಾಗಿರಬೇಕು, ಅಂದರೆ. ಒಪ್ಪಂದವು ಯಾವಾಗಲೂ ವ್ಯವಹಾರವನ್ನು ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು ಅಥವಾ ತಿರಸ್ಕರಿಸಬೇಕು. ಇದಕ್ಕೆ ಸಂಬಂಧಿಸಿದಂತೆ, ವಹಿವಾಟಿನ ಸಿಂಧುತ್ವವು ಸಮಯ, ಯಾದೃಚ್ಛಿಕ ಸಂಖ್ಯೆಗಳು, ಹೋಸ್ಟ್ ಫೈಲ್ಗಳು ಇತ್ಯಾದಿಗಳನ್ನು ಅವಲಂಬಿಸಿರುವುದಿಲ್ಲ.
ಕೊರ್ಡಾದಲ್ಲಿ, ಒಪ್ಪಂದಗಳನ್ನು ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಎಂದು ಕರೆಯುವ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ - ಸ್ವಲ್ಪ ಮಾರ್ಪಡಿಸಿದ JVM ಇದು ಒಪ್ಪಂದಗಳ ನಿರ್ಣಾಯಕ ಮರಣದಂಡನೆಯನ್ನು ಖಾತರಿಪಡಿಸುತ್ತದೆ.
ಹೊಳೆಗಳು
ನೆಟ್ವರ್ಕ್ ನೋಡ್ಗಳ ನಡುವಿನ ಸಂವಹನವನ್ನು ಸ್ವಯಂಚಾಲಿತಗೊಳಿಸಲು, ಎಳೆಗಳನ್ನು ಸೇರಿಸಲಾಯಿತು.
ಒಂದು ನಿರ್ದಿಷ್ಟ ಲೆಡ್ಜರ್ ಅಪ್ಡೇಟ್ ಅನ್ನು ಹೇಗೆ ನಿರ್ವಹಿಸಬೇಕು ಮತ್ತು ಯಾವ ಹಂತದಲ್ಲಿ ವಹಿವಾಟನ್ನು ಸಹಿ ಮಾಡಬೇಕು ಮತ್ತು ಮೌಲ್ಯೀಕರಿಸಬೇಕು ಎಂಬುದನ್ನು ನೋಡ್ಗೆ ತಿಳಿಸುವ ಹಂತಗಳ ಅನುಕ್ರಮವೇ ಹರಿವು.
ವ್ಯವಹಾರವು ಎಲ್ಲಾ ಪಕ್ಷಗಳಿಂದ ಸಹಿ ಮತ್ತು ಲೆಡ್ಜರ್ಗೆ ಸೇರುವವರೆಗೆ ಕೆಲವೊಮ್ಮೆ ಗಂಟೆಗಳು, ದಿನಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ವಹಿವಾಟಿನಲ್ಲಿ ಭಾಗವಹಿಸುವ ನೋಡ್ ಅನ್ನು ನೀವು ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿದರೆ ಏನಾಗುತ್ತದೆ? ಥ್ರೆಡ್ಗಳು ಚೆಕ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಹೊಂದಿವೆ, ಅದರಲ್ಲಿ ಥ್ರೆಡ್ನ ಸ್ಥಿತಿಯನ್ನು ನೋಡ್ನ ಡೇಟಾಬೇಸ್ಗೆ ಬರೆಯಲಾಗುತ್ತದೆ. ಒಂದು ನೋಡ್ ಅನ್ನು ನೆಟ್ವರ್ಕ್ಗೆ ಮರುಸ್ಥಾಪಿಸಿದಾಗ, ಅದು ಎಲ್ಲಿ ಬಿಟ್ಟಿದೆಯೋ ಅಲ್ಲಿಯೇ ಮುಂದುವರಿಯುತ್ತದೆ.
ಒಮ್ಮತ
ಲೆಡ್ಜರ್ಗೆ ಪ್ರವೇಶಿಸಲು, ವಹಿವಾಟು 2 ಒಮ್ಮತಗಳನ್ನು ತಲುಪಬೇಕು: ಸಿಂಧುತ್ವ ಮತ್ತು ಅನನ್ಯತೆ.
ವಹಿವಾಟಿನ ಸಿಂಧುತ್ವದ ನಿರ್ಧಾರವನ್ನು ಅದರಲ್ಲಿ ನೇರವಾಗಿ ತೊಡಗಿಸಿಕೊಂಡಿರುವ ಪಕ್ಷಗಳು ಮಾತ್ರ ಮಾಡುತ್ತವೆ.
ನೋಟರಿ ನೋಡ್ಗಳು ವಹಿವಾಟನ್ನು ಅನನ್ಯತೆಗಾಗಿ ಪರಿಶೀಲಿಸುತ್ತವೆ ಮತ್ತು ಡಬಲ್ ಖರ್ಚು ಮಾಡುವುದನ್ನು ತಡೆಯುತ್ತವೆ.
ಬಾಬ್ $100 ಅನ್ನು ಹೊಂದಿದ್ದಾನೆ ಮತ್ತು ಅದೇ ಇನ್ಪುಟ್ ಸ್ಥಿತಿಯನ್ನು ಬಳಸಿಕೊಂಡು $80 ಅನ್ನು ಚಾರ್ಲಿಗೆ ಮತ್ತು $70 ಅನ್ನು ಡಾನ್ಗೆ ವರ್ಗಾಯಿಸಲು ಬಯಸುತ್ತಾನೆ ಎಂದು ಊಹಿಸೋಣ.
ಅಂತಹ ಟ್ರಿಕ್ ಅನ್ನು ಎಳೆಯಲು ಕಾರ್ಡಾ ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ. ವಹಿವಾಟು ಸಿಂಧುತ್ವ ಪರಿಶೀಲನೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣವಾಗಿದ್ದರೂ, ಅನನ್ಯತೆಯ ಪರಿಶೀಲನೆಯು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ.
ತೀರ್ಮಾನಕ್ಕೆ
R3 ಬ್ಲಾಕ್ಚೈನ್ ಕನ್ಸೋರ್ಟಿಯಂ ಅಭಿವೃದ್ಧಿಪಡಿಸಿದ ಕಾರ್ಡಾ ಪ್ಲಾಟ್ಫಾರ್ಮ್ ಬ್ಲಾಕ್ಚೈನ್ ತಂತ್ರಜ್ಞಾನಕ್ಕೆ ಶುದ್ಧ ಬಳಕೆಯ ಸಂದರ್ಭವಲ್ಲ. ಕಾರ್ಡಾ ಹಣಕಾಸು ಸಂಸ್ಥೆಗಳಿಗೆ ಹೆಚ್ಚು ವಿಶೇಷವಾದ ಸಾಧನವಾಗಿದೆ.
ಮೂಲ: www.habr.com