Bitcoin Forum
October 23, 2018, 08:23:44 AM *
News: Make sure you are not using versions of Bitcoin Core other than 0.17.0 [Torrent], 0.16.3, 0.15.2, or 0.14.3. More info.
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: [INFO] Algoritma Konsensus pada Teknologi Blockchain  (Read 694 times)
This is a self-moderated topic. If you do not want to be moderated by the person who started this topic, create a new topic.
abhiseshakana
Full Member
***
Online Online

Activity: 224
Merit: 393


#Pray for Palu & Donggala


View Profile WWW
October 01, 2018, 12:19:10 PM
Merited by dbshck (10), joniboini (3), ETFbitcoin (2), roycilik (2), mu_enrico (2), firesurfer (1), Dermelon (1), Husna QA (1), Roels Major (1)
 #1


Intro


Sebelum Bitcoin muncul dengan jaringan Blockchain-nya. Sudah banyak metode-metode pengembangan dari sistem mata uang digital yang tidak bisa sukses (gagal), karena terkendala untuk mencapai suatu konsensus atau membuahkan suatu hasil yang mustahil. Permasalahan ini dikenal dengan sebutan "Byzantine Generals Problem".

Pengertian Umum dari Byzantine Generals Problem

Sekelompok pasukan Bizantium terbagi menjadi beberapa kelompok dengan seorang Jenderal sebagai pemimpin kelompoknya. Masing-masing jenderal saling berkomunikasi lewat pesan yang dihantar melalui kurir sehingga bisa ditentukan kapan waktu untuk menyerang dan kapan waktu untuk mundur secara bersamaan (antar kelompok). Dengan dilakukan serangan secara bersama, maka peluang untuk memenangkan pertarungan ini sangat besar. Sistem ini mempunyai banyak kelemahan dan besar kemungkinan untuk dimanipulasi karena posisi dari masing-masing Jenderal terpaut jarak yang jauh dan diperlukan adanya kurir sebagai perantara intruksinya.

Beberapa masalah yang bisa muncul pada sistem ini antara lain seperti :

- Pesan (intruksi) tidak sampai karena kurir terbunuh ditengah jalan
- Jika pesan (intruksi) yang disampaikan tidak sama, maka keputusan diantara Jenderal juga akan berbeda.
- Jika ada beberapa Jenderal atau pasukan yang berkhianat, maka hasil serangan tidak akan efektif lagi

Algoritma konsensus pada teknologi Blockchain muncul sebagai solusi dari "Byzantine Generals Problem".




Konsensus


Pengertian umum Konsensus adalah kesepakatan kata atau permufakatan bersama (mengenai pendapat, pendirian, dan sebagainya) yang dicapai melalui kebulatan suara (https://kbbi.web.id/konsensus)

Sedangkan pengertian Konsensus didalam teknologi Blockchain ialah Persetujuan bersama (mufakat) untuk melakukan validasi pada suatu transaksi (Block) yang dihasilkan dari proses perhitungan yang kompleks dan rumit.  




Algoritma Konsensus Blockchain


Algoritma pada dasarnya menjabarkan segala prosedur yang harus dilakukan dalam menyelesaikan sebuah masalah. Karena sifat dari blockchain yang terdistribusi, maka dibutuhkan algoritma untuk mencapai konsensus dengan mengurutkan dan merumuskan suatu masalah (data) secara bersama-sama. Sehingga bisa ditetapkan/diterbitkan suatu hasil (hash) yang autentik dan valid ke dalam sebuah block didalam jaringan Blockchain.




1. Proof of Work

Sebuah protokol yang mempunyai fungsi untuk mencegah aktifitas serangan cyber (DDos), yang dapat melumpuhkan/melemahkan suatu sumber daya sistem komputer. Konsep POW pertama kali dikenalkan oleh Cynthia Dwork & Moni Naor pada tahun 1993 dan baru di implementasikan oleh Markus Jakobsson (mata uang Shell) pada tahun 2009.

Dalam teknologi Blockchain, POW digunakan oleh Satoshi Nakamoto sebagai algoritma konsensus dan Bitcoin sendiri sebagai Mata Uang dari konsensus Proof of Work ini. Persyaratan utama dalam konsensus POW adalah proses kegiatan mining (proses komputasi dari CPU, GPU, ASIC, FPGA) yang berfungsi sebagai penemu, pencari solusi dan memvalidasi setiap masalah (hash) kedalam sebuah block dan akan didistribusikan ke dalam sebuah buku besar (ledger) yang disebut dengan Blockchain.

Untuk mencapai sebuah konsensus, sebuah transaksi harus melewati beberapa proses yang juga melibatkan adanya proses komputasi yang dilakukan oleh beberapa miners, sehingga bisa tercipta sebuah Block yang valid.

Sistem Distribusi konsensus Proof of Work :

- Suatu (beberapa) transaksi yang muncul dari sebuah wallet yang bertindak sebagai Full Node (salinan Blockchain) akan di publish pada jaringan (P2P).
- Transaksi-transaksi ini akan tehubung ke sebuah jaringan yg juga terhubung dengan node Miners
- Miner-miner akan melakukan proses komputasi (hash function) untuk menyelesaikan persoalan matematika rumit ini ke dalam sebuah block.
- Jumlah maksimal transaksi dalam setiap block tergantung dari protokol yang berlaku.
- Setelah masalah (hash) terpecahkan, maka miner yang pertama kali memecahkan masalah ini akan mem-broadcast block baru ke jaringan (P2P).
- Node-node (miner-miner) lainnya yang menerima block ini akan melakukan proses verifikasi (validasi).
- Setelah block mendapat validasi, maka block ini akan di distribusikan ke dalam blockchain sebagai Block baru yang valid.
- Miners yang bertindak sebagai pembuat block valid akan menerima reward.






Cryptocurrencies yang menggunakan algoritma konsensus PoW

  • Bitcoin (BTC)
  • Ethereum (ETH)
  • Monero (XMR)
  • Litecoin (LTC)
  • Dan lain-lain



2. Proof of Stake

Algoritma konsensus Proof of Stake (PoS) pertama kali dikenalkan oleh Sunny King dan Scott Nadal pada tahun 2012. Penggunaan metode ini diharapkan dapat mengatasi besarnya daya yang dibutuhkan untuk melakukan proses komputasi pada konsensus PoW. Secara garis besar, proses Staking ialah mengunci beberapa jumlah coin (cryptocurrency) sebagai jaminan, didalam sebuah wallet yang menjalankan Full Node dari sebuah blockchain. Jaminan ini sebagai bukti kepemilikan seorang pemegang koin (tokens holder) sebagai fungsi node, dalam berkontribusi didalam jaringan  konsensus PoS dengan proses yang dinamakan Forging (menempa koin).

Berbeda dengan konsensus PoW yang membutuhkan proses komputasi menggunakan peralatan-peralatan dengan sumber daya listrik. Pada metode PoS, untuk mencapai sebuah konsensus hanya dibutuhkan sebuah Full Node (Wallet) dengan token/koin didalamnya. Dan setiap token/koin holder yang senantiasa terhubung dengan jaringan (node) blockchain, mempunyai peluang untuk menjadi seorang staker/forger dengan memenuhi syarat sesuai dengan protokol yang berlaku. Oleh karena itu didalam konsensus PoS ini, tidak dibutuhkan banyak sumber daya energi (listrik) dalam proses pencapaian suatu konsensus.

Sistem Distribusi konsensus Proof of Stake :

- Untuk bisa melakukan forging (minting), maka pemegang token/koin harus mengunci sejumlah koin didalam walletnya (Full Node) yg terhubung dengan jaringan blockchain.
- Pada saat sebuah/beberapa transaksi masuk ke dalam jaringan (P2P). Pembuatan sebuah block (validasi transaksi) dipilih secara Pseudorandom berdasarkan jumlah koin yang di stake dan berapa lama koin tersebut sudah di stake.
- Token/Coin Holder dengan jumlah Staking Coin yang besar dan waktu (umur) staking yang lama, mempunyai peluang (kesempatan) lebih tinggi untuk melakukan proses forging pada block berikutnya.
- Setelah proses pembuatan block dan proses validasi selesai, maka block ini akan didistribusikan ke dalam jaringan blockchain sebagai block baru yang valid.
- Forger (staker) akan menerima reward dari hasil kerjanya dan untuk umur staking coinnya akan direset ulang.






Cryptocurrencies yang menggunakan algoritma konsensus PoS

  • Peercoin (PPC)
  • NXT
  • Blackcoin
  • Dan lain-lain



3. Delegated Proof of Stake

DPoS diciptakan oleh Daniel Larimer pada saat membuat sebuah cryptocurrency yang disebut dengan BitShares pada tahun 2014. Algoritma konsensus ini adalah sebuah metode baru sebagai tindakan pengamanan terhadap sebuah jaringan cryptocurrency untuk mencapai sebuah konsensus tanpa memerlukan adanya otoritas terpusat. Prinsip kerjanya hampir mirip dengan konsensus Proof of Stake, dimana untuk mencapai konsensus yang valid maka dibutuhkan proses verifikasi dari pelaku-pelaku otoritas yang terdistribusi dan berjalan sesuai dengan protokol yang ada didalam metode konsensus tersebut.

Jika didalam PoS pemilihan pembuatan block bersifat Pseudorandom (berdasar jumlah dan umur Coin/Token), maka pada DPoS setiap delegasi/witness (pembuat block) akan ditentukan dengan voting. Setiap pemegang koin/token mempunyai suara (vote) yang bisa digunakan untuk memilih satu atau beberapa witness/validator dan dapat memindahkan vote-nya kepada witness lainnya setiap saat. Validator/witness terpilih (diurutkan berdasarkan jumlah vote) akan mempunyai otoritas untuk membuat sebuah block dan mempublikasikannya ke dalam jaringan Blockchain.

Sistem Distribusi konsensus Delegated Proof of Stake :

- Setiap transaksi yang terjadi akan masuk ke jaringan (P2P).
- Token/Coin holder yang menjalankan Full Node (wallet) akan melakukan Vote untuk menentukan beberapa witness/delegasi. Semakin besar jumlah token maka semakin besar juga nilai votenya.
- Token/Coin holder bisa melakukan vote terhadap dirinya sendiri setelah melakukan registrasi menjadi witness (validator) sesuai dgn protokol yang berlaku.
- Dalam setiap putaran, masing-masing validator/witness terpilih (jumlah max (N) witness berdasarkan protokol yang berlaku) akan memproses beberapa transaksi ke dalam sebuah block.
- Sebelum block valid dibroadcast ke dalam blockchain, urutan rank dari validator/witness akan berubah-ubah sesuai dengan jumlah vote yang didapat.
- Setelah block berhasil divalidasi oleh witness/validator, maka masing-masing block akan didistribusikan ke dalam jaringan blockchain berdasarkan urutan rank dari Validator.
- Masing-masing Validator (witness) akan menerima reward sesuai protokol yang berlaku.







Cryptocurrencies yang menggunakan algoritma konsensus DPoS

  • BitShares
  • EOS
  • Lisk
  • Steem
  • Dan lain-lain



4. Delegated Byzantine Fault Tolerance

Algoritma konsensus ini muncul untuk mengatasi masalah dari "Byzantine Generals Problem" (BGP). Dengan menggunakan protokol yang hampir mirip dengan konsensus DPOS, diharapkan dapat menutupi kekurangan suatu sistem buruk (BGP) didalam sebuah jaringan, sehingga bisa dicapai suatu konsensus yang valid.

Didalam konsensus DBFT ada beberapa entitas yang mempunyai peran dan fungsi masing-masing, dalam pelaksanaannya untuk mencapai sebuah konsensus kerja, sehingga setiap block-block yang dihasilkan dan divalidasi dapat didistribusikan ke jaringan blockchain.
1. Node (Token/Coin Holder) bertindak sebagai pemilih delegasi dengan menggunakan metode Vote berdasarkan dengan jumlah Token mereka.
2. Delegasi (Validator) dipilih berdasarkan vote dan juga mempunyai peran untuk melakukan proses verifikasi (validasi) terhadap sebuah block yang akan didistribusikan ke dalam jaringan Blockchain.
3. Pemimpin delegasi (Delegate Leader) dipilih secara acak dari calon-calon delegasi yang ada. Pemimpin Delegasi bertanggung jawab untuk membuat sebuah block baru yang berisikan data-data transaksi, yang nantinya akan didistribusikan ke dalam jaringan Blockchain setelah melalui proses validasi.

Sistem Distribusi konsensus Delegated Byzantine Fault Tolerance :

- Pada sebuah/beberapa transaksi yang terjadi didalam jaringan (P2P), maka akan ditindaklanjuti oleh seorang Block producer (Delegate leader)
- Block producer yang dipilih secara random dari beberapa calon delegasi, akan menciptakan suatu block baru yang nantinya akan diusulkan untuk mendapatkan proses validasi.
- Pada saat block terselesaikan, maka group delegasi akan melakukan proses validasi. Dan dibutuhkan N % verifikasi (tergantung ketentuan protokol) supaya block baru ini dianggap valid.
- Setelah block mendapatkan jumlah verifikasi sebesar N %, maka block akan didistribusikan ke jaringan blockchain sebagai block baru yang Valid.
- Delegate leader (Block Producer) akan menerima reward sebagai imbalan hasil kerja.






Cryptocurrency yang menggunakan algoritma konsensus DBFT

  • Neo


Beberapa Algoritma Konsensus lainnya

- Proof of Authority
  • POA Network (POA)
  • VeChain (VET)

- Proof of Space / Proof of Capacity
  • BurtsCoin

- Proof of Importance
  • NEM / XEM






References :
https://blockgeeks.com/guides/blockchain-consensus
https://en.wikipedia.org/wiki/Proof-of-work_system
https://en.wikipedia.org/wiki/Proof-of-stake
http://docs.bitshares.org/bitshares/
https://cryptowiki.com/Delegated_Byzantine_Fault_Tolerance

█        ★★★★★ TrustedCars Flex ★★★★★      
     │ ★★★★★ Changing Car Ownership Forever ★★★★★ │     
█  Website Token Sale up to 25% Bonus ANN Thread Telegram │ 
1540283024
Hero Member
*
Offline Offline

Posts: 1540283024

View Profile Personal Message (Offline)

Ignore
1540283024
Reply with quote  #2

1540283024
Report to moderator
1540283024
Hero Member
*
Offline Offline

Posts: 1540283024

View Profile Personal Message (Offline)

Ignore
1540283024
Reply with quote  #2

1540283024
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1540283024
Hero Member
*
Offline Offline

Posts: 1540283024

View Profile Personal Message (Offline)

Ignore
1540283024
Reply with quote  #2

1540283024
Report to moderator
abhiseshakana
Full Member
***
Online Online

Activity: 224
Merit: 393


#Pray for Palu & Donggala


View Profile WWW
October 01, 2018, 12:46:34 PM
Merited by mu_enrico (1), Husna QA (1)
 #2


Tahapan Sistematis Pada Algoritma Konsensus




Sebelum saya jelaskan mengenai tahapan sistematis yang ada didalam algoritma konsensus, akan saya jelaskan terlebih dahulu mengenai detail dari sebuah transaksi. Dimana transaksi sendiri ialah object yang ada didalam Mekanisme Konsensus.

Sebuah transaksi yang masuk didalam jaringan (node) berisikan input dan output beserta hash dan script didalamnya. Input Transaksi meliputi : hash transaksi dari Output (UTXO) sebelumnya, index dari ouput yg digunakan sebagai referensi dan ScriptSig. Sedangkan pada Output, meliputi : nilai dari amount (jumlah yang akan dikirim) dan ScriptPubKey.

Pada ScriptSig ada 2 komponen utama, yakni public key dan signature. Public key harus sesuai dengan hash yang ada pada script output, dan public key juga digunakan untuk memverifikasi signature. Saat signature dikombinasikan dengan Public key (ScriptSig), hal ini untuk menyatakan bahwa orang tersebut mempunyai kontrol terhadap public key hash yang ada pada script output sebelumnya (menyatakan owner dari UTXO).
ScriptPubKey adalah script yang berisikan instruksi siapa saja yang bisa membuktikan / mempunyai kontrol private/public key yang terkait dengan hash public key yang ada didalam transaksi tersebut. Maka orang tersebut bisa menggunakan amount yang ada didalam output tersebut.
Jadi korelasinya ialah, untuk bisa menggunakan amount/nominal UTXO maka ScriptSig pada Input harus sesuai dengan hash dari ScriptPubKey yang ada pada Output (UTXO).

Contoh :

Si A akan mengirimkan 1 BTC kepada si B. Maka sebelum si A melakukan sebuah transaksi, si A harus mengetahui address (public key hash) dari si B. Pada saat si A sudah mengetahui Public key hash dari si B, maka si A akan membuat sebuah transaksi dengan struktur sebagai berikut :
- Input transaksi dari referensi output (UTXO).
- Output transaksi dengan nominal BTC beserta ScriptPubKey.

Maka saat si A mem-broadcast transaksi ini, jaringan blockchain akan mengkategorikan transaksi ini sebagai UTXO (Unspent Transaction Output) dan pada wallet si B akan ditunjukkan nominal saldo yang bisa digunakan sebagai referensi untuk Input selanjutnya. Dan saat si B akan mengirimkan BTC kepada orang lain, maka Input dari transaksi ini berupa referensi Output (UTXO) tadi.


Tahapan sistematis Proof of Work

Saat sebuah (hash) transaksi yang ada didalam jaringan dikenali oleh node-node miner. Maka Node miner akan menggunakan mekanisme hash function untuk bisa membuat sebuah block baru yang valid. Hash transaksi ini akan diinput kedalam sebuah block baru beserta dengan hash dari transaksi-transaksi lainnya. Akan tetapi untuk membuat sebuah block baru yang valid prosesnya tidak gampang, karena dibutuhkan adanya proses matematika yang rumit (hash function) supaya block ini bisa diverifikasi dan ditambahkan kedalam jaringan blockchain.

Didalam sebuah Block ada 2 elemen utama yang disebut dengan, Block header dan list transaksi. Pada block header ada 6 komponen : hash dari Block header sebelumnya, hash dari semua transaksi yang ada diblock sekarang, versi block, tingkat difficulty Block dan Nonce.
Untuk membuat sebuah block baru, miner harus mengumpulkan beberapa transaksi baru dan memasukkan hash dari block sebelumnya, lalu melakukan hash function pada block baru tersebut supaya didapatkan sebuah hash pada block baru tersebut. Untuk mendapatkan hash (block baru) yang sesuai, miner menggunakan banyak nonce (sesuai dengan algoritma yang berlaku) sebagai variabel yang digunakan pada hash function. Pada saat nonce yang digunakan berhasil untuk memecahkan permasalahan matematika rumit ini, maka hash yang muncul akan digunakan sebagai hash dari block baru tersebut.

Selanjutnya miner (pembuat hash block baru) akan membroadcast block baru ini pada jaringan. Node-node (miner) lainnya yang mengetahui block baru ini akan melakukan proses validasi. Proses validasi tidak membutuhkan waktu yang lama, karena proses validasi tidak serumit proses pemecahan persoalan matematika yang rumit pada hash function. Pada saat block baru mendapatkan validasi maka block baru ini akan didistribusikan kedalam blockchain sebagai block baru yang valid. Dan semua node yang ada didalam jaringan akan menyalin ulang jaringan blockchain dengan block baru tadi didalamnya. Sebagai hasil kerja dari Proof of work tadi, node (miner) yang membuat block baru tersebut akan menerima reward sesuai dengan ketentuan yang ada.

Semua transaksi yang ada didalam block baru tersebut akan mendapatkan konfirmasi (jumlah Block deep) sebesar 1, dan konfirmasi ini akan bertambah manakala block-block baru lainnya ditambahkan ke dalam blockchain. Jadi mengenai kapan masuknya sebuah transaksi pengiriman coin ke dalam wallet (UTXO) tergantung dengan ketentuan konfirmasi yang dibutuhkan pada blockchain yang bersangkutan.


Contoh (pelengkap) :

Si A mengirimkan 2 BTC kepada Si B, Si C melakukan pemindahan BTC dari exchanger ke wallet pribadinya, Si D mengirimkan beberapa BTC kepada 3 orang dan beribu-ribu transaksi lainnya akan terhubung didalam jaringan P2P dengan status belum dikonfirmasi. Miner X yang terhubung dalam jaringan, akan memproses/membuat sebuah block yang berisikan banyak (unconfirmed) transaksi didalamnya. Pada waktu bersamaan, miner-miner lainnya juga akan melakukan hal yang sama seperti yang X lakukan.

Miner X akan mulai mengumpulkan beberapa data (string) yang dibutuhkan dalam memproses sebuah block baru. Pada saat si X mengumpulkan semua string dan memproses sebuah hash merkle root, maka si X akan mulai membuat sebuah Block header dengan melakukan proses hash function. Disisi lain saat ada transaksi-transaksi baru yang masuk pada node, maka transaksi ini akan tersimpan pada sebuah memory pool (transactions Pool). Memory Pool ibaratnya seperti tempat pemberhentian transaksi dimana menunggu proses untuk dimasukkan ke dalam sebuah Block.

Pada proses Hash function setiap nonce berbeda digunakan sebagai variabel masukkan, maka akan menghasilkan nilai hash yang berbeda pula. Proses ini akan dilakukan berulang-ulang sampai ketemu sebuah nonce yang dapat menghasilkan hash yang sesuai dengan Block Target (256-Bit). Setelah itu Miner X akan mem-broadcast block baru ini kedalam jaringan P2P dengan komposisi block sebagai berikut :
- Magic No (0xD9B4BEF9)
- Ukuran Block
- Jumlah transaksi (contoh : 2000 transaksi)
- List dari transaksi (berdasarkan nilai fee transaksi dengan coinbase transaction diurutan pertama)
- Block Header
  • Versi Block
  • Hash Block sebelumnya
  • Hash Merkle root (Hash dari semua (hash) transaksi)
  • Timestamp (waktu block masuk ke dalam jaringan blockchain)
  • Bits (block target berdasarkan difficulty)
  • Nonce (angka/nilai yang digunakan pada hash Block)


Node-node (miner) lainnya akan melakukan validasi terhadap block yang diselesaikan oleh Miner X ini. Pada proses validasi ini hasilnya simpel, yakni accept atau reject (berdasarkan Protocol Rules). Saat Block baru ini mendapatkan persetujuan validasi, maka block ini akan didistribusikan ke dalam jaringan blockchain dan dinyatakan sebagai block baru yang valid. Dan untuk block-block lain dari miner yang tidak mendapatkan validasi, maka akan menjadi orphaned block (tidak terhubung dengan jaringan utama blockchain) atau menjadi block disamping rantai blockchain (terhubung dengan genesis block).

Miner X akan menerima reward dari proses pembuatan block ini. Dan saat block baru ini ditambahkan ke jaringan utama Blockchain, transaksi yang ada didalamnya akan mendapatkan status konfirmasi 1 Block.



Note :
- Hash Function adalah Pemetaan sistem matematis dalam mengolah suatu string (tipe data) dengan ukuran tidak tentu, sehingga bisa dihasilkan sebuah string dengan ukuran tetap sebagai nilai hash.
- Hash adalah Tipe data (string) dengan ukuran tetap yang mewakili bentuk String aslinya/asalnya.
- Nonce adalah angka/nilai random yang digunakan sebagai variabel didalam hash function.
- Node adalah perangkat/peranti yang terhubung didalam sebuah jaringan.
- Node miner adalah perangkat/peranti mining yang terhubung didalam sebuah jaringan.



Tahapan sistematis Proof of Stake

Seperti proses pada konsensus PoW, pada saat ribuan transaksi baru masuk ke dalam jaringan memory/transaction pool. Node-node aktif akan berlomba-lomba untuk bisa menjadi sebuah node yang mampu untuk memproses sebuah block yang valid. Masing-masing node akan membuat sebuah coinstake transaction (seperti coinbase transaction didalam PoW), dan membuat sebuah kernel yang disebut dengan coinstake kernel. Untuk dapat memproses block yang valid hash dari coinstake kernel harus sama atau kurang dari hash target.

Penentuan hash target tergantung dari protokol yang Berlaku. Misal pada NXT, Target ditentukan dari T = Tb * S * Be
T = Target Value
Tb = Base target value
S = Time since the last block
Be = Effective balance (jumlah coin staking)
Semakin banyak jumlah coin yang distaking maka nilai dari target juga akan semakin besar, maka peluang untuk membuat sebuah hash kernel yang valid juga semakin tinggi.

Sedangkan pada 42 Coin. Target ditentukan dari nBlocktarget = CoinDayWeight * nNetworkTarget
Karena basic dari CoinDayWeigth sama dengan coin age dimana semakin lama umur staking coin dan semakin besar kuantitas coin/token yang distaking maka nilai dari coin age / CoinDayWeight akan semakin besar. Sehingga peluang untuk mendapatkan hash yang valid juga semakin besar.

Pada saat seorang forger terpilih, maka block yang dia minting akan didistribusikan kedalam jaringan Blockchain. Dan dia akan mendapatkan reward dari proses minting tersebut. Dan setelah itu balance staking coinnya akan masuk ke fase stasioner lagi dimana untuk ketentuan hal ini tergantung dari protokol yang berlaku dari masing-masing konsensus PoS (N Block atau N Day).


Contoh (Pelengkap) :

Saat beragam transaksi baru masuk kedalam jaringan P2P, transaksi ini akan berstatuskan sebagai unconfirmed transaction dan dibutuhkan sebuah block valid agar supaya transaksi yang ada didalamnya bisa menjadi sebuah transaksi yang valid juga. Karena didalam block sebelumnya ada hash yg berhubungan dengan signatures dari node-node aktif yang berpartisipasi dalam proses minting, maka node aktif (staking) yang memenuhi kriteria sebagai kandidat validator akan memulai proses pembuatan sebuah block.

Seperti pada proses PoW, node-node (minting) aktif akan mulai menyusun sebuah list transaksi didalam transaction (memory) pool dan akan memproses sebuah staking transaction (dari UTXO) dan sebuah hash kernel (struktur virtual yang tersimpan pada database dan memory masing-masing node) dengan komposisi sebagai berikut :

- StakeModifier (Hash dari prevout dan StakeModifier dari block sebelumnya sehingga dihasilkan sebuah nilai acak untuk digunakan pada block selanjutnya)
- TxPrevTime (Timestamp dari UTXO digunakan sebagai input pada staking transaction)
- TimeBlockFrom  (Timestamp dari Block UTXO)
- TimeTx (Timestamp hash kernel)
- PrevoutNum (UTXO yg direferensikan pada input staking transaction)
- TxPrevOffset (Hash dari offset UTXO)

Secara garis besar pada saat Staking transaction dan hash kernel selesai diproses, jika hash kernel tersebut valid dan sesuai dengan hash target. Maka sebuah node (minting) akan memulai proses penyusunan sebuah block dan memasukkan beberapa transaksi yang diambil dari memory pool ke dalam block tersebut. Akan tetapi jika hash kernel tidak valid dan tidak sesuai dengan ketentuan hash target, maka proses pembuatan staking transaction dan hash kernel akan diulang dari awal.

Pada saat block selesai diproses dan diberi signature oleh node (forger), selanjutnya block tersebut akan dibroadcast pada jaringan P2P. Node-node lainnya akan melakukan validasi, dan jika ditemukan block lain yang serupa maka diantara block tersebut akan dipilih mana yang mempunyai nilai cumulative difficulty paling tinggi (tergantung protokol), dan untuk block yang diterima akan masuk ke dalam rantai blockchain. Dan untuk forger yang membuat block tersebut akan menerima reward sesuai dengan ketentuan yang berlaku dari masing-masing Protokol.




references :
https://en.bitcoin.it/wiki/Transaction ; https://en.bitcoin.it/wiki/Confirmation
https://en.bitcoin.it/wiki/Block_hashing_algorithm ; https://en.bitcoin.it/wiki/Mining
https://en.wikipedia.org/wiki/Hash_function ; https://en.bitcoin.it/wiki/Block
https://en.bitcoin.it/wiki/Protocol_rules  ; https://en.bitcoinwiki.org/wiki/42-coin
https://github.com/theochan62/Blockchain/blob/master/NxtWhitepaper_v122_rev4.pdf

█        ★★★★★ TrustedCars Flex ★★★★★      
     │ ★★★★★ Changing Car Ownership Forever ★★★★★ │     
█  Website Token Sale up to 25% Bonus ANN Thread Telegram │ 
MrKenedy
Newbie
*
Offline Offline

Activity: 12
Merit: 0


View Profile
October 01, 2018, 03:02:08 PM
 #3

Baru tau kalo DAG itu termasuk Algoritma Konsensus. Btw, kalo mau belajar info info dasar kaya gini. Harus mulai dari mana dulu yaaa.
Makasih buat agan abhiseshakana sudah membuat postingan yang sangat bermanfaat & membantu perkembangan forum ini. Keep doing great works!
Roels Major
Member
**
Offline Offline

Activity: 140
Merit: 19

STRAIGHT TO GOLD MINES


View Profile
October 02, 2018, 01:26:01 AM
Merited by dbshck (3), ETFbitcoin (1), mu_enrico (1)
 #4

Maaf Gan
Saya juga baru belajar tentang Consensus Protocol.
Setau Saya setelah riset panjang, banyak orang salah memahami "framework" tentang apa itu Consensus Protocol

POW, POS, POA, Proof of Space, POI, dan sebagainya adalah Sybil Deterrence Mechanism, bukan suatu Consensus Protocol.
Kalau DBFT mungkin iya salah satu jenis Consensus Protocol, yang merupakan salah satu bentuk Practical Byzantine Fault Tolerance alias PBFT
Sybil Deterrence Mechanism ialah suatu mekanisme yang diterapkan untuk mencegah serangan Sybil

https://en.wikipedia.org/wiki/Sybil_attack

POS harus dipasangkan dengan Consensus Protocol untuk dapat mencapai suatu konsensus atau keputusan. Tidak bisa berkerja sendiri.
Seringkali POS dipasangkan dengan Consensus Protocol seperti PBFT, Tendermint/Cosmos, Ouroboros dan sebagainya (sebagai contoh saja).

Daftar alternatif Consensus Protocol yang telah ada atau tengah dikembangkan bisa dilihat di sumber ini:
https://docs.google.com/spreadsheets/d/1IW5AuFQtL4z34HgIZrqpcVfZPnOiifsc3xmA9KIef6I/edit#gid=658801415

POW juga tidak bisa berkerja sendiri. Di BTC atau BCH, mereka mencapai konsensus dengan menerapkan Consensus Protocol PBFT ditambah dengan seleksi rantai terpanjang atau rantai terberat.

Jadi istilahnya POW dan POS adalah pintu masuk untuk menyaring peserta yang cocok dan kode Consensus Protocol adalah aturan main untuk mencapai konsensus bersama dalam jaringan.

Sumber: Ceramah Emin Gun Sirer, Professor Cornell di https://twitter.com/el33th4xor/status/1006931658338177024?lang=en dan https://threadreaderapp.com/thread/1006931658338177024.html

Nah bagaimana dengan DAG? DAG sendiri adalah komponen ketiga, berupa struktur data yang dibangun lewat Consensus dan dibantu oleh Sybil Deterrence Mechanism.

Quote
That refers to a third component in system design: the data structure you build via consensus and with the help of your sybil deterrence mechanism.

Quote
Lalu ketika ditanyakan:
What about PoA? That kind of rubs me the wrong way? Isn't that just a euphemism for centralized control of nodes?  Just sounds cooler to be "proof-of" something? Or, am I missing something?

Emin Gun Sirer menjawab:
Indeed, that terminology was created to try to fit into the "everything must be proof of something" framework. That framework is broken.


Beberapa sumber lain yang bisa dilihat:
1. https://medium.com/zkcapital/demystifying-snowflake-to-avalanche-966f56c33fd7
2. https://www.youtube.com/watch?v=AXrrqtFlGow

Kalau salah mohon dibetulkan Gan oleh senior-senior disini. Saya ingin belajar bersama juga.

mu_enrico
Copper Member
Full Member
***
Offline Offline

Activity: 294
Merit: 239


#GGMU


View Profile WWW
October 02, 2018, 04:40:16 AM
Merited by dbshck (4), ETFbitcoin (1), Roels Major (1)
 #5

Maaf Gan
Saya juga baru belajar tentang Consensus Protocol.
Setau Saya setelah riset panjang, banyak orang salah memahami "framework" tentang apa itu Consensus Protocol
Agak sulit juga kalau menurut ane apabila ingin memperdebatkan masalah definisi karena kata "konsensus" itu sendiri ambigu. Perdebatan ini mirip ketika mendefinisikan blockchain tanpa melibatkan mekanisme konsensusnya.
https://en.bitcoin.it/wiki/Consensus

Sebagai contoh, memang mekanisme konsensus bitcoin tidak hanya PoW per se, tapi terdiri dari beberapa komponen. Mekanisme konsensus melibatkan beberapa aturan, seperti:
1. PoW;
2. Blok valid pertama yang "dilihat" node merupakan blok yang digunakan, dan akan mendapatkan insentif;
3. Insentifnya "winner take all;"
4. Apabila ada dua blok valid dalam waktu bersamaan, maka yang digunakan adalah rantai yang terpanjang;
5. Insentif baru bisa digunakan setelah 100 konfirmasi, dll..

PoW memang digunakan untuk mengantisipasi sybil attack, node-node sybil apabila tidak ditenagai hash-rate adalah sia-sia. Tapi lebih lanjut PoW ini digunakan sampai terbentuknya blok baru (misalnya 1000), dan hash dari block 1000 akan digunakan pada block selanjutnya 1000 -> 1001, 1001 -> 1002, dst. Sehingga ya wajar kalau ketika berbicara "algoritme konsensus" publik memang lebih banyak lalu berfikir tentang PoW, PoS, DPoS, dll.

Nah bagaimana dengan DAG? DAG sendiri adalah komponen ketiga, berupa struktur data
Kalau ini ane setuju bahwa DAG adalah data format.

Ada diskusi mengenai hal ini juga di thread global https://bitcointalk.org/index.php?topic=4776600.0

abhiseshakana
Full Member
***
Online Online

Activity: 224
Merit: 393


#Pray for Palu & Donggala


View Profile WWW
October 02, 2018, 09:26:35 AM
 #6

Maaf Gan
Saya juga baru belajar tentang Consensus Protocol.
Setau Saya setelah riset panjang, banyak orang salah memahami "framework" tentang apa itu Consensus Protocol

POW, POS, POA, Proof of Space, POI, dan sebagainya adalah Sybil Deterrence Mechanism, bukan suatu Consensus Protocol.
Kalau DBFT mungkin iya salah satu jenis Consensus Protocol, yang merupakan salah satu bentuk Practical Byzantine Fault Tolerance alias PBFT
Sybil Deterrence Mechanism ialah suatu mekanisme yang diterapkan untuk mencegah serangan Sybil

Terima kasih Om buat masukkannya.

Klo berbicara mengenai mekanisme konsensus, maka cakupannya akan menyeluruh. Mulai dari protokol yang digunakan, algoritma yang ada didalam mekanismenya hingga ke elemen-elemen lainnya seperti node (perangkat) yang aktif didalam jaringan, node yang melakukan validasi, objek (transaksi) dan lain sebagainya.

Untuk alasan tersebut, kenapa saya dari awal menggunakan judul algoritma konsensus. Jadi secara garis besar fungsi dari POW, POS, DPOS adalah sebagai metode efektif dan tahapan sistematis didalam mekanisme konsensus untuk mencapai konsensus.


Quote
Nah bagaimana dengan DAG? DAG sendiri adalah komponen ketiga, berupa struktur data yang dibangun lewat Consensus dan dibantu oleh Sybil Deterrence Mechanism.


Nah untuk DAG sendiri saya sebenarnya juga sedikit ragu untuk menggolongkannya kedalam bentuk algoritma konsensus. Karena melihat fungsinya sebagai struktur buku besar (seperti blockchain pada BTC).

Tetapi saat saya membaca definisi DAG & Tangle dari https://www.iota.org/research/meet-the-tangle. Maka secara umum DAG adalah suatu rantai simpul yang saling terhubung dan simpul ini mewakili suatu transaksi dengan ujung dari simpul tersebut adalah transaksi baru yang belum valid dan bertindak sebagai validator terhadap 2 simpul sebelumnya.

Jadi pada saat transaksi baru muncul, transaksi (simpul) ini akan terhubung dengan 2 simpul (transaksi) sebelumnya dan akan melakukan persetujuan terhadap 2 simpul tersebut. Persetujuan transaksi didalam DAG (IOTA) ini menggambarkan mekanisme konsensus secara keseluruhan. Dimana simpul-simpul yang telah ada sebelumnya juga sebagai penanda validasi terhadap 2 simpul sebelumnya.
Karena node-node dari pemilik transaksi saling terhubung, maka menyetujui transaksi berarti menyiratkan suatu data transaksi telah diverifikasi dan dianggap valid, dimana hal ini menyatakan jika semua node akun mempunyai balance (saldo) yang sesuai maka bisa dipastikan tidak adanya pengeluaran ganda atau token yang tidak valid pada 2 simpul yang akan diverifikasi saat sebuah simpul (transaksi) baru muncul.



Nah klo menurut agan-agan sekalian, apakah struktur data (DAG) ini bisa disebut sebagai Algoritma Konsensus (Bukan Protokol Konsensus) ??

Dan untuk list DAG di post 1 sementara akan saya edit dengan menyebutkannya secara spesifik (karena saya mengacu dari sumber IOTA)

█        ★★★★★ TrustedCars Flex ★★★★★      
     │ ★★★★★ Changing Car Ownership Forever ★★★★★ │     
█  Website Token Sale up to 25% Bonus ANN Thread Telegram │ 
joniboini
Sr. Member
****
Offline Offline

Activity: 350
Merit: 604


View Profile WWW
October 02, 2018, 10:48:31 AM
Merited by dbshck (2), mu_enrico (1), Roels Major (1)
 #7

Tetapi saat saya membaca definisi DAG & Tangle dari https://www.iota.org/research/meet-the-tangle. Maka secara umum DAG adalah suatu rantai simpul yang saling terhubung dan simpul ini mewakili suatu transaksi dengan ujung dari simpul tersebut adalah transaksi baru yang belum valid dan bertindak sebagai validator terhadap 2 simpul sebelumnya.

Kalau merujuk secara tekstual, IOTA menjelaskan bahwa Tangle adalah

Quote
...data structure behind IOTA's distributed ledger and protocol.

Sumber: https://www.iota.org/research/meet-the-tangle

Jadi pada saat transaksi baru muncul, transaksi (simpul) ini akan terhubung dengan 2 simpul (transaksi) sebelumnya dan akan melakukan persetujuan terhadap 2 simpul tersebut. Persetujuan transaksi didalam DAG (IOTA) ini menggambarkan mekanisme konsensus secara keseluruhan. Dimana simpul-simpul yang telah ada sebelumnya juga sebagai penanda validasi terhadap 2 simpul sebelumnya.
Karena node-node dari pemilik transaksi saling terhubung, maka menyetujui transaksi berarti menyiratkan suatu data transaksi telah diverifikasi dan dianggap valid, dimana hal ini menyatakan jika semua node akun mempunyai balance (saldo) yang sesuai maka bisa dipastikan tidak adanya pengeluaran ganda atau token yang tidak valid pada 2 simpul yang akan diverifikasi saat sebuah simpul (transaksi) baru muncul.

Saya nangkepnya konsensus/validasi di IOTA dilakukan dengan custom PoW. Memang transaksi berikutnya menjadi validator transaksi sebelumnya, tetapi proses validasi itu dilakukan dengan mekanisme PoW, tanpa ada PoW simpul-simpul itu tidak bisa memvalidasi dan divalidasi oleh simpul setelahnya karena dibutuhkan cumulative weight tertentu, di mana cumulative weight itu sendiri adalah jumlah PoW yang memvalidasi transaksi tersebut.

Quote
Once a transaction is approved by a large number of newer transactions, it becomes part of the consensus and is practically impossible to alter. The Tangle achieves this by requiring each transaction to perform a small proof-of-work computation. This proof-of-work is a small effort for any single transaction, which makes it expensive to spam or fork the Tangle after consensus has been established.

Quote
Consensus in the Tangle

In a blockchain, you can be sure that your transaction is confirmed after it is approved by several blocks. Similarly, in the Tangle you can be assured that once your transaction has enough cumulative weight, it is safely included in the consensus.

Cumulative weight corresponds to the amount of proof-of-work which validates a particular transaction. In order to change history, or "un-approve" a transaction, a malicious actor would have to invest a similar amount of computing power. This is very expensive to do once the cumulative weight gets large.

Sumber: https://www.iota.org/research/meet-the-tangle



Hanya pendapat seorang noob yang barusan baca tentang Tangle.

mu_enrico
Copper Member
Full Member
***
Offline Offline

Activity: 294
Merit: 239


#GGMU


View Profile WWW
October 02, 2018, 12:07:06 PM
 #8

Nah klo menurut agan-agan sekalian, apakah struktur data (DAG) ini bisa disebut sebagai Algoritma Konsensus (Bukan Protokol Konsensus) ??

Dan untuk list DAG di post 1 sementara akan saya edit dengan menyebutkannya secara spesifik (karena saya mengacu dari sumber IOTA)
DAG dalam hal ini ekuivalen dengan Blockchain sehingga tidak tepat apabila disebut algoritma/mekanisme konsensus.

Lebih lanjut:
https://www.google.com/search?q=dag+vs+blockchain&pws=0

Ane lebih suka dengan penjelasan Suhu Antonopoulos terkait IOTA:
Quote
DAG bukanlah vaporware, tapi proyek-proyek mata uang yang menggunakan DAG sebagian besar menggunakan mekanisme konsensus proof-of-stake (PoS) atau proof-of-authority (PoA), yang belum bisa dibandingkan dengan proof-of-work (PoW) karena belum diuji pada skala yang sama. PoW di Bitcoin, dengan biaya termodinamik-nya, akan sulit untuk tergantikan. Meskipun IOTA menggunakan mekanisme seperti PoW, tapi mereka secara teknis menggunakan PoA karena IOTA saat ini sangat bergantung dengan node "Coordinator" spesial, yang dijalankan oleh organisasi untuk memverifikasi semua transaksi; apabila mereka mematikan coordinator tersebut saat ini, kita tidak tahu apakah "sub node" yang lain akan dapat menjaga tingkat keamanan saat ini. Kita hanya bisa membuat perbandingan yang sesungguhnya saat IOTA tidak lagi terpusat.
Diterjemahkan dari https://www.youtube.com/watch?v=lfgMnbb5JeM

abhiseshakana
Full Member
***
Online Online

Activity: 224
Merit: 393


#Pray for Palu & Donggala


View Profile WWW
October 02, 2018, 12:38:09 PM
 #9

Kalau merujuk secara tekstual, IOTA menjelaskan bahwa Tangle adalah

Quote
...data structure behind IOTA's distributed ledger and protocol.

Sumber: https://www.iota.org/research/meet-the-tangle

DAG dalam hal ini ekuivalen dengan Blockchain sehingga tidak tepat apabila disebut algoritma/mekanisme konsensus.

Thanks buat masukannya Om ... berarti untuk saat ini bisa disimpulkan klo DAG (Tangle) adalah struktur sebuah buku besar (Ledger) seperti Blockchain pada Bitcoin. Dimana antara blockchain dan DAG sama-sama menyimpan data-data transaksi pada sebuah Open Ledger. Dan dengan adanya input ini maka Dag akan saya coret dari daftar konsensus algoritma diatas.  Grin

█        ★★★★★ TrustedCars Flex ★★★★★      
     │ ★★★★★ Changing Car Ownership Forever ★★★★★ │     
█  Website Token Sale up to 25% Bonus ANN Thread Telegram │ 
manjiLocked
Member
**
Offline Offline

Activity: 140
Merit: 68

Alt of manji account


View Profile
October 02, 2018, 02:22:33 PM
 #10

Dag Dig Dug
https://bitnews.co.id/mengapa-dag-bisa-jadi-blockchain-tanpa-blok-di-masa-depan/

silakan definisikan sendiri, tiap org punya sudut pandang yg berbeda.

Untuk sahabat-sahabat yg berada di Palu dan daerah bencana Gempa bumi & Tsunami saya turut berdukacita. Semoga kalian diberikan ketabahan.
#Duka Palu, Duka Indonesia
Roels Major
Member
**
Offline Offline

Activity: 140
Merit: 19

STRAIGHT TO GOLD MINES


View Profile
October 02, 2018, 11:28:31 PM
Merited by dbshck (2), roycilik (1), joniboini (1)
 #11

Agak sulit juga kalau menurut ane apabila ingin memperdebatkan masalah definisi karena kata "konsensus" itu sendiri ambigu. Perdebatan ini mirip ketika mendefinisikan blockchain tanpa melibatkan mekanisme konsensusnya.
https://en.bitcoin.it/wiki/Consensus
Sebagai contoh, memang mekanisme konsensus bitcoin tidak hanya PoW per se, tapi terdiri dari beberapa komponen. Mekanisme konsensus melibatkan beberapa aturan...

Terima kasih Om buat masukkannya.

Klo berbicara mengenai mekanisme konsensus, maka cakupannya akan menyeluruh. Mulai dari protokol yang digunakan, algoritma yang ada didalam mekanismenya hingga ke elemen-elemen lainnya seperti node (perangkat) yang aktif didalam jaringan, node yang melakukan validasi, objek (transaksi) dan lain sebagainya.

Untuk alasan tersebut, kenapa saya dari awal menggunakan judul algoritma konsensus. Jadi secara garis besar fungsi dari POW, POS, DPOS adalah sebagai metode efektif dan tahapan sistematis didalam mekanisme konsensus untuk mencapai konsensus.

Thanks Om-Om atas penjelasan nya

Memang di Professor Cornell ini Gan agak nyeleneh, makin pusing dibuatnya, namun penjelasan nya tentang Skema Blockchain setidaknya membawa sedikit "cahaya" lah bagi Saya, lebih mudah memahaminya secara sederhana, karena Saya masib Noob. Bukan salah Saya, tapi salah si Professor Cornell ini... Ahehehehe...   Grin

So schema nya dia kalau Saya pahami:
- Ada Hashing Algo : Ini sekedar asumsi, pada POW misal SHA, x16R, multiple, dsb... Pada POS, mungkin DPOS, dan POS-POS lainnya...
- Ada Sybil Deterrence Mechanism (Komponen 1)
- Ada Consensus Protocol (Komponen 2)

Kemudian ditambah dengan Komponen 3 seperti DAG

Nah klo menurut agan-agan sekalian, apakah struktur data (DAG) ini bisa disebut sebagai Algoritma Konsensus (Bukan Protokol Konsensus) ??


Kalau merujuk secara tekstual, IOTA menjelaskan bahwa Tangle adalah

...data structure behind IOTA's distributed ledger and protocol.

Saya nangkepnya konsensus/validasi di IOTA dilakukan dengan custom PoW. Memang transaksi berikutnya menjadi validator transaksi sebelumnya, tetapi proses validasi itu dilakukan dengan mekanisme PoW, tanpa ada PoW simpul-simpul itu tidak bisa memvalidasi dan divalidasi oleh simpul setelahnya karena dibutuhkan cumulative weight tertentu, di mana cumulative weight itu sendiri adalah jumlah PoW yang memvalidasi transaksi tersebut.

DAG dalam hal ini ekuivalen dengan Blockchain sehingga tidak tepat apabila disebut algoritma/mekanisme konsensus.

Thanks buat masukannya Om ... berarti untuk saat ini bisa disimpulkan klo DAG (Tangle) adalah struktur sebuah buku besar (Ledger) seperti Blockchain pada Bitcoin. Dimana antara blockchain dan DAG sama-sama menyimpan data-data transaksi pada sebuah Open Ledger. Dan dengan adanya input ini maka Dag akan saya coret dari daftar konsensus algoritma diatas.  Grin


Nah menurut si Emin Prof:
https://twitter.com/el33th4xor/status/1006980116159836160

Quote
One could use PoW+DAG+modified heaviest chain. That'd be GHOST

Ane nemukan di Academic Papers nya IOTA mereka beberapa kali menyebutkan GHOST, kemungkinan besar adalah nama sebutan baru mereka untuk keseluruhan protocol IOTA ini
Sumber: https://www.iota.org/research/academic-papers

Banyak sumber juga mendukung pernyataan ini:
https://bitcointalk.org/index.php?topic=396350.0
https://blog.iota.org/iota-tel-aviv-office-is-official-5715aec23a1e

Quote
Israel is also home to prominent researchers in the crypto field, such as Aviv Zohar and Yonatan Sompolinsky, who proposed the GHOST protocol, and Moni Naor, who co-invented the idea of Proof of Work back in 1993 (with Cynthia Dwork)

Sehingga kloplah sudah, semua nya setuju DAG bukan merupakan Consensus Protocol.

Pada awalnya DAG bertujuan menyelesaikan masalah scale-ability nya BTC, namun pada kenyataan nya, transaksi malah sering stuck kayak benang kusut.
https://medium.com/@lewisfreiberg/whats-up-with-the-tangle-d825c692e7a8



mu_enrico
Copper Member
Full Member
***
Offline Offline

Activity: 294
Merit: 239


#GGMU


View Profile WWW
October 03, 2018, 05:08:36 PM
Merited by abhiseshakana (1), Roels Major (1)
 #12

...Professor Cornell....
Sedikit menambahkan untuk proses belajar agan ke depan mengenai blockchain. Berdasarkan pengalaman ane, tidak perlu untuk terlalu kaku terkait suatu definisi meskipun itu keluar dari Professor sekalipun, yang penting agan tahu maksudnya dan bisa dipraktekkan dengan benar. Definisi dan istilah-istilah, tidaklah terlalu penting nanti ketika berada di proyek nyata*. Mungkin dengan memahami teori itu nanti agan bisa mendapat nilai baik di ujian atau sejenisnya, tapi tidak banyak diperhitungkan ketika ikut terlibat di proyek-proyek blockchain di GitHub.
*Agak susah ngomongnya mungkin bahasanya: "penting sih tapi gak gitu-gitu juga kalee"

Coba tengok kembali betapa whitepaper bitcoin ditulis dengan sangat minimalis https://bitcoin.org/bitcoin.pdf tapi prototipe produknya bisa "mengubah dunia" meskipun theymos mengakui kemampuan pemrograman satoshi tidak luar biasa (nilainya B+). https://bitcointalk.org/index.php?topic=4418987.msg39408217#msg39408217

Terkait 99% bullshit yang ada di sektor blockchain ini, ane ada sedikit kata-kata mutiara:
Quote
~ Apalah arti sebuah nama. Lebih baik periksa logika, dan source code-nya ~


...Academic Papers nya IOTA mereka beberapa kali menyebutkan GHOST...
Versi sederhana (modifikasi) "Greedy Heaviest Observed Subtree" (GHOST) protocol sudah diimplementasikan di Ethereum sebagai alternatif mekanisme insentif "winner take all"-nya Suhu Satoshi. Jadi di Ethereum ada "uncle" yang masih bisa dapat sebagian block reward-nya. Lain dengan di bitcoin yang "orphan block"-nya gak dapat apa-apa.
https://github.com/ethereum/wiki/wiki/White-Paper#modified-ghost-implementation
https://stats.ellaism.org/ >> uncles

Edit: Nambahin Jokes

Nah menurut si Emin Prof:
https://twitter.com/el33th4xor/status/1006980116159836160

Quote
One could use PoW+DAG+modified heaviest chain. That'd be GHOST
Kalau menurut ane: That'd be ETH Grin Grin

Roels Major
Member
**
Offline Offline

Activity: 140
Merit: 19

STRAIGHT TO GOLD MINES


View Profile
October 04, 2018, 01:16:14 AM
Merited by abhiseshakana (1)
 #13


Sedikit menambahkan untuk proses belajar agan ke depan mengenai blockchain. Berdasarkan pengalaman ane, tidak perlu untuk terlalu kaku terkait suatu definisi...

Baik Gan. Saran dan nasihat accepted. Tidak harus "rigid", tetapi harus dinamis.  Cheesy

Terkait 99% bullshit yang ada di sektor blockchain ini, ane ada sedikit kata-kata mutiara:
~ Apalah arti sebuah nama. Lebih baik periksa logika, dan source code-nya ~

Saya juga sudah sampai kesana Gan, tetapi tantangannya lumayan berat dikarenakan di perkuliahan dulu jurusan ane "ilmu hayat" dan "medic". So sangat jauh dari bidang Computer Science, Cryptografi, dan susah sekali memahami "Bahasa" dan "Logic" Program. Matematika Saya dulu di perkuliahan pas-pasan saja. Karena susahnya memahami code ini, paling buka source code hanya untuk melihat fork atau tidak forknya atau lebih tepat kalau dibilang "copy paste" dulu lah di awal, mengetahui supply, dan melihat aktivitas github aktif atau tidak.

Beberapa Code Review yang sering Saya baca di situs favorit sebagai informasi, dan juga sering Saya liat peta sejarah/forensik code yang dibangun dari  "novel idea" atau katakanlah dibangun ulang dari kepingan dengan ide dasar original, di:

1. https://cryptobriefing.com/code-reviews/
2. https://steemit.com/@andrecronje
3. https://twitter.com/cryptic_monk/status/999227961059528704
4. https://docs.google.com/spreadsheets/d/1geg5HHgDO-ht0u6CSTHplJudr9kSGQYAoJvaKnfRhI4/edit#gid=137946732

Saya ada buat beberapa thread sederhana di forum sebelah untuk belajar, namun gak banyak yang antusias untuk berdiskusi, bahkan hampir gak ada pun... Soalnya bahasan Code ini emang "berat" Gan... Padahal Saya juga noob yang gak bisa baca code... Berbahagialah yang bisa memahaminya...  Grin

Versi sederhana (modifikasi) "Greedy Heaviest Observed Subtree" (GHOST) protocol sudah diimplementasikan di Ethereum sebagai alternatif mekanisme insentif "winner take all"-nya Suhu Satoshi. Jadi di Ethereum ada "uncle" yang masih bisa dapat sebagian block reward-nya. Lain dengan di bitcoin yang "orphan block"-nya gak dapat apa-apa.
https://github.com/ethereum/wiki/wiki/White-Paper#modified-ghost-implementation
https://stats.ellaism.org/ >> uncles

Nah ini info sekaligus nambah pengetahuan baru bagi Saya... Rupanya ETH juga udah nerapin GHOST versi sederhana  Cool
Thanks Gan. Segera meluncur untuk belajar lagi...  Wink

joniboini
Sr. Member
****
Offline Offline

Activity: 350
Merit: 604


View Profile WWW
October 04, 2018, 03:28:03 AM
Merited by mu_enrico (1), abhiseshakana (1)
 #14

Sedikit menambahkan untuk proses belajar agan ke depan mengenai blockchain. Berdasarkan pengalaman ane, tidak perlu untuk terlalu kaku terkait suatu definisi...

Baik Gan. Saran dan nasihat accepted. Tidak harus "rigid", tetapi harus dinamis.  Cheesy

IMO ketika agan sudah tahu realitasnya, bisa jadi agan berbeda pendapat karena mengambil sudut pandang yang berbeda. Biasanya orang yang sudah ngeh dengan realitas tertentu bisa memberikan definisi tersendiri yang mungkin agak nyeleneh daripada yang lain, dan hal ini sering ditemui di banyak bidang ilmu sampai mereka debat sendiri masalah istilah, gak cuma di bidang blockchain saja. Jadi saya menambahkan saran, lebih baik untuk masalah istilah agan komparasi saja dengan banyak ahli atau merujuk langsung ke sumber asli (whitepaper Bitcoin), tapi jangan jadikan mereka sebagai panutan.

Saya juga sudah sampai kesana Gan, tetapi tantangannya lumayan berat dikarenakan di perkuliahan dulu jurusan ane "ilmu hayat" dan "medic". So sangat jauh dari bidang Computer Science, Cryptografi, dan susah sekali memahami "Bahasa" dan "Logic" Program. Matematika Saya dulu di perkuliahan pas-pasan saja. Karena susahnya memahami code ini, paling buka source code hanya untuk melihat fork atau tidak forknya atau lebih tepat kalau dibilang "copy paste" dulu lah di awal, mengetahui supply, dan melihat aktivitas github aktif atau tidak.

IMO, realitas yang abstrak memang sulit dipahami, khususnya kalau agan belum pernah melihat langsung atau cenderung belajar cepat dengan melihat secara fisik dan belum mengetahui banyak hal dari realitas yang dipelajari. Silakan lihat course berjudul Learning How to Learn (https://www.coursera.org/learn/learning-how-to-learn/), mungkin bisa membantu menyusun strategi belajar secara mandiri.

Tidak masalah kalau agan sulit belajar, atau background-nya bukan dari jurusan komputer. Hal seperti itu gak penting selama agan mau meluangkan waktu belajar di bidang apapun. Just my 2 cents.
Maap agak OOT.

manjiLocked
Member
**
Offline Offline

Activity: 140
Merit: 68

Alt of manji account


View Profile
October 04, 2018, 03:53:12 AM
Merited by mu_enrico (1), abhiseshakana (1)
 #15

Quote
Saya juga sudah sampai kesana Gan, tetapi tantangannya lumayan berat dikarenakan di perkuliahan dulu jurusan ane "ilmu hayat" dan "medic". So sangat jauh dari bidang Computer Science, Cryptografi, dan susah sekali memahami "Bahasa" dan "Logic" Program.
jelas mengalami kesusahan kl langsung opened code tp kl 1 saja bahasa pempgraman di kuasai pindah kebahasa lainnya mudah tnggal ganti2 script.

kl tekad bulat mau belajar pemogramam dimulai dari
1. Buku Teori paling dasar Algoritma pemograman.
2. Matematika diskrit.

Bahasa Pemogrammanya:
1. Bahasa C dulu, jika nilai matematika om dr SD > SMA 9 , bisa 6 bulan menguasai.
2. Phyton, C#( ini lebih mudah kalau sudah lancar bahasa C).

Saya sendiri tdk terlalu tertarik memperdalam pemograman seputar jaringan BTC karena kenyataannya di Indonesia yg lebih menghasilkan / gampang dpt duit pemograman (php, mysql, ajax,css) apalagi project pemerintah kerjanya gampang duitnya guede minimal bersih 30jt/project(3 bln) selesai. ~kalau sy rasional sj berpikirnya.

toh kenyataannya member di forum ini yg bnyak menghasilkan btc bukan yg expert di segi technical tp expert di segi diplomasi  & bhs. inggris << Realnya sprti itu.


Untuk sahabat-sahabat yg berada di Palu dan daerah bencana Gempa bumi & Tsunami saya turut berdukacita. Semoga kalian diberikan ketabahan.
#Duka Palu, Duka Indonesia
abhiseshakana
Full Member
***
Online Online

Activity: 224
Merit: 393


#Pray for Palu & Donggala


View Profile WWW
October 04, 2018, 12:17:24 PM
 #16

* Updated : Tahapan Sistematis Pada Algoritma Konsensus

https://bitcointalk.org/index.php?topic=5041577.msg46390732#msg46390732

Buat yang mau menambahkan, melakukan koreksi atau mendiskusikannya, saya persilahkan  Cheesy

█        ★★★★★ TrustedCars Flex ★★★★★      
     │ ★★★★★ Changing Car Ownership Forever ★★★★★ │     
█  Website Token Sale up to 25% Bonus ANN Thread Telegram │ 
mu_enrico
Copper Member
Full Member
***
Offline Offline

Activity: 294
Merit: 239


#GGMU


View Profile WWW
October 04, 2018, 04:17:43 PM
 #17

Ini lebih cepat dan lebih stabil yang mendorong pemilik untuk menjaga jaringan dalam kondisi cepat yaitu Credits.

Platform CREDIT adalah sistem otonomi pertama yang lengkap dengan sistem Turing yang mampu menciptakan layanan menggunakan siklus, jadwal, API baru yang diperluas, dan perbaikan lainnya. Memungkinkan untuk menciptakan layanan desentralisasi dan independen di dalam kontrak blockchain dan smart karena fitur lanjutan yang baru.
Quoted, Archived
Plagiarisme:
https://deeponion.org/community/threads/credit-platform-berpartisipasi-ico-credit-pada-01-februari-2018.22853/
https://forumbitcoin.co.id/threads/credit-teknologi-blockchain-baru-sistem-blokir-dengan-smart-kontrak.43003/

manjiLocked
Member
**
Offline Offline

Activity: 140
Merit: 68

Alt of manji account


View Profile
October 04, 2018, 04:55:17 PM
 #18

~snip
duh Om, merusak history sMerit saya. Tolong kalau om mau reply topic2 berat sperti ini yg butuh pengetahuan dan research kalau kiranya tdk "mampu" lebih baik om pake definisi sendiri dan tambahkan IMO sertakan sumber asli nya. tapi jika memang tidak mampu cukup dibaca saja jngn reply. saya aja rutin Ol skrng2 hanya untuk baca2.

mohon jangan diulangi lagi perbuatan plagiatnya.

Untuk sahabat-sahabat yg berada di Palu dan daerah bencana Gempa bumi & Tsunami saya turut berdukacita. Semoga kalian diberikan ketabahan.
#Duka Palu, Duka Indonesia
Kriss.Kross
Member
**
Offline Offline

Activity: 96
Merit: 21


View Profile
October 05, 2018, 04:48:50 PM
 #19


Miner X akan mulai mengumpulkan beberapa data (string) yang dibutuhkan dalam memproses sebuah block baru. Pada saat si X mendapatkan semua string dan sebuah hash merkle root, maka si X akan mulai membuat sebuah Block header dengan melakukan proses hash function. Pada proses ini setiap nonce berbeda digunakan sebagai variabel masukkan, maka akan menghasilkan nilai hash yang berbeda pula. Proses ini akan dilakukan berulang-ulang sampai ketemu sebuah nonce yang dapat menghasilkan hash yang sesuai dengan Block Target (256-Bit).


Terus terang selama ini ane mining, tp tidak mengetahui kalau detail prosesnya ternyata seperti ini. Dan yang ane tau paling hanya sebatas hashrate, difficulty dan beberapa hal kecil yg bhubungan dengan hardware mining.
Bang bisa dijelaskan mengenai merkle root, ane agak susah memahami bagaimana perumusan dari hash merkle root ini ? Sama sekalian dijelasin acuan saat nonce menghasilkan hash yang sesuai dengan target.

#Duka Palu, Duka Indonesia
Semoga seluruh masyarakat Sulawesi khususnya di Palu dan Donggala diberikan ketabahan dalam menghadapi musibah ini.
manjiLocked
Member
**
Offline Offline

Activity: 140
Merit: 68

Alt of manji account


View Profile
October 05, 2018, 05:59:10 PM
 #20

sederhananya:
kumpulan/calculasi hash dari semua Transaksi(Rx/Tx) yg membentuk/bagian dari block pada jaringan (blockchain) nanti kesananya biasa disebut lg/istilah markle tree. (IMO)


kalau pingin lihat "Visual" nya buka code pemogramannya ada di baris code ke-berapa gtu yg bisa dpt visual logic nya, sayangnya sy lupa source linknya dan baris code ke berapanya. dulu sy bukanya di Notepad++ / bisa pake editor lainnya asal jangan buka di Notepad biasa aja nanti pusing nge-trace code nya


Untuk sahabat-sahabat yg berada di Palu dan daerah bencana Gempa bumi & Tsunami saya turut berdukacita. Semoga kalian diberikan ketabahan.
#Duka Palu, Duka Indonesia
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!