Pages:
Author

Topic: [CHALLENGE] Merit Challenge Lokal Board Indonesia | RESMI & RUNNING - page 4. (Read 7027 times)

legendary
Activity: 2170
Merit: 1789
-snip-
Sudah saya revisi Om ... tolong diperiksa kembali jika sekiranya ada yang kurang atau ada hal yang perlu ditambahkan

Menurut saya sudah cukup om. Silakan diedit postnya dan hapus bagian:
Code:
#Saran Challenge

Nama akun : abhiseshakana

Mohon diganti menjadi :
Code:
Challenge #6



Challenge #6 sudah bisa berjalan mulai sekarang. Terimakasih buat om abhi karena menyumbangkan idenya dan bersedia mengelola challenge tersebut. Silakan bagi yang ingin berpartisipasi.
legendary
Activity: 2170
Merit: 1789
#Saran Challenge
-snip-

Terimakasih om abhi atas sarannya. Secara personal saya merasa challenge ini cukup menarik dan bisa jadi challenge resmi, dalam arti dikelola oleh om abhi dan untuk distribusinya juga dilakukan secara personal (mungkin bisa meminta bantuan mod apabila lagi ga ada stok smerit).

Hanya saja ada beberapa hal yang mungkin bisa saya sarankan supaya challenge ini bisa lebih terstandarisasi dari segi kriteria:

1. Untuk batas peserta dan waktu, sepertinya harus diperjelas (berapa maksimal peserta dalam satu round, dan berapa maksimal round itu berjalan). Dengan demikian review bisa dilakukan secara rutin dan tidak menunggu sampai terlalu lama. Pertimbangannya adalah hal ini bisa mempercepat review member yang sudah mendaftar, jadi mereka tidak 'kelamaan' nunggu meritnya diberikan (kalau memang layak).

2. Kriteria "valid" dan "lengkap & jelas" masih agak ambigu om. Mungkin bisa diperjelas, misalnya:
- Valid: bersumber dari whattomine (jujur saya ga tahu dari mana yang valid), bukan postingan blog personal, bukan data tahun lalu, dst.
- Lengkap & jelas: memperhitungkan semua variabel yang mungkin berhubungan dengan kasus yang disajikan, tidak berganti-ganti dalam menggunakan satuan unsur tertentu dalam menjelaskan (misalnya di kalimat ini pake TH/s, berikutnya pake GH/s,)dst.
Apabila hal di atas terlalu menyulitkan maka mungkin bisa ditambahkan keterangan kalau hal itu berbasis pada persepsi om abhi sendiri (dengan konsekuensi mungkin ada yang sulit menerima persepsi tersebut karena rujukan standar yang kurang jelas).

Terima kasih sekali lagi, akan saya update nanti di indeks (dengan catatan yang mengelola challenge ini adalah om abhi sendiri, sebagaimana pada challenge #3 yang dikelola oleh om Jill).



legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
Challenge #6 - Mining Quiz | PAUSED!

Challenge : Mining Quiz -  PAUSED!

Deskripsi challenge:
Pertanyaan-pertanyaan yang berhubungan dengan dunia Mining. Dan untuk setiap periode akan diberikan pertanyaan atau puzzle yang berbeda-beda. Untuk detail pertanyaan bisa dilihat dibawah pada section Quiz (Pertanyaan).

Syarat peserta :

-

Batas waktu :

-

Petunjuk :

-

Reward :

-

Rules :

- No copas.
- No plagiasi.
- Setiap jawaban harus diuraikan dengan jelas (harus ada langkah-langkah pengerjaannya).

Misc :

- Setiap jawaban yang masuk akan saya analisa sendiri, dan keputusan pemenang tidak bisa diganggu gugat
- Untuk pemberian reward akan dilakukan oleh Om dbshck
- Jika dalam kurun waktu yang telah ditentukan, jumlah partisipan tidak terpenuhi, maka periode quiz akan diperpanjang. Dan untuk jawaban yang sudah masuk akan diberikan reward terlebih dahulu sesuai dgn hasil jawabannya.


Quiz (Pertanyaan)

-

legendary
Activity: 2170
Merit: 1789
-snip-
Btw Om joniboni, apakah challange ini sudah bisa dimulai dan bisa saya review Grin

Silakan om.
legendary
Activity: 2170
Merit: 1789
-snip-
Ane masih belum faham betul jadi itu air

HuhHuh??



Mohon maaf karena thread ini kesannya tidak terurus, mulai minggu depan saya usahakan merilis challenge baru agar bisa diikuti oleh para member sekalian. Besar harapannya ada masukan, karena jujur sangat susah mencari ide baru yang tepat sebagai challenge apabila dilakukan secara personal. Terima kasih.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
-snip-
Data Valid +3 (Nunggu Confirmasi yang punya thread)

cuma 1 saran dari ane om untuk mining coin baru yaitu
Quote
#HighRiskHighReturn


Punya saya ga usah dikasih merit Om (tidak sesuai kriteria peserta dibawah 30 merit) dan anggap saja hanya peserta penggembira saja  Grin

Dan untuk sarannya sungguh menggiurkan sekaligus menyesatkan hahahha  Roll Eyes


Silakan om.

Untuk Om joni, Post saya ini silahkan dihapus jika tidak sesuai dengan topik yang ada disini.. saya hanya ingin sekedar menanggapi saran dari Om jills diatas
sr. member
Activity: 588
Merit: 335
Steady State Finance
#Partisipasi Challenge

Nama akun: Kriss.Kross
Challenge yang diikuti: Challenge #3 - The Best Mining Experience
Jawaban:

Code:
TOTAL PIGN EARNING REPORTS
Credit Bonus Debit AP Debit MP Donation TXFee

All Time 26,761.53078696 0.00000000 6,505.47086181 19,988.43561125 0.00000000 0.00900000

Dan tepat pada tanggal 11 april 2018 disaat Pigeon masuk ke list Crypto-bridge.org , ane jual keseluruhan koin pigeon diharga 1 Pgn = 0.00000087 BTC dan yg ane dapatkan sebesar 0.02327685 BTC.

Sebenarnya hasil yang diperoleh tidak sesuai dengan ekspetasi ane yang mengharapkan harga Pigeon saat masuk ke cryptobridge di range harga 0.00000200 BTC, akan tetapi namanya hasil ya harus tetap disyukuri dan hasil yang ane peroleh ini sangat jauh diatas jika dibandingkan dengan hasil mining ane sebelumnya. Dan dari BTC yg ada di wallet crypto-bridge juga, account bitcointalk ane ini bisa lahir dan posting disini.
Data Valid +3

Kesimpulan nya: tiap miners pasti memiliki pemikiran seperti ini termasuk ane pribadi (Mining/hasil coin baru):
- ketika mining coin baru, kemudian masuk exchange dan harga sesuai ekspetasi pasti dalam pikiran muncul:
1. kalau dijual semua takut harganya semakin naik. (pengalaman mining ETH pertama fork waktu itu harga ETH 1/200k..lihat harga ETH sekarang)
2. Kalau di Hold takut harganya turun dan semakin turun (banyak shitcoin yang beku di wallet ane Grin)

BTW, prepare for IOST coin MainNet akhir tahun Grin




#Partisipasi Challenge

Nama akun: abhiseshakana https://bitcointalksearch.org/user/abhiseshakana-1878246
Challenge yang diikuti: Challenge #3 - The Best Mining Experience
Jawaban:

Quote
MLM-Mining Start 01 Maret 2018 16:30 with 4x1080Ti 4x1070 6x1050Ti at BSOD PooL

01Mar2018 16:30
Total Earned (unconfirmed)      0 MLM

01Mar2018 18:30
Total Earned (unconfirmed)      71.23606589 MLM

2 Hour earns                           = 71.23606589 MLM
24 Hour estimated                   = 854 MLM
24 Hour estimated (Oin BTC)    = 0.011102000 BTC (MLM Price 0.00001300 BTC)
24 Hour estimated (in Rupiah)   = Rp 1.643.096 (1 BTC = Rp 148.000.000)

Setelah mencatat semua data diatas, saya teruskan kegiatan mining MLM dan sangat tidak sabar untuk melihat hasil realnya buat 24 Jam kedepan. Dan setelah 24 jam menunggu hasil mining yg didapat ternyata cmn 713 coin MLM, mungkin dalam waktu 24 jam tersebut tingkat difficulty naik dengan cepat. Tapi dari total 713.61125297 coin klo dikonversi ke rupiah nilainya masihlah besar, yakni Rp 1.380.381. Sangat berbeda jauh hasil yg diperoleh dari mem-mining coin LUX maupun Zcash yg rata-rata perhari cuman dapat dikisaran Rp 400.000

Berikut Data perhitungan profit 24 Jam (MLM Mining)
Quote
Coin earns (24H)  = 713.61125297
Coin Price (BTC)   = 0.00001307 BTC
Income (BTC)       = 0.00932689
Income (Rp)        = Rp 1.380.381 (1 BTC = Rp 148.000.000)

Kegiatan me-mining coin MLM ini ternyata tidak selama prediksi saya. Prediksi saya dalam waktu 1 bulan tingkat difficulty tidak akan naik secara tajam, sedangkan harga coin akan bertahan di range 1000-1500 satoshi. Tapi pada kenyataannya setelah memasuki hari ke-8 mining coin MLM, hasil yang didapat cuman dikisaran Rp 450.000 dan saya putuskan untuk menghentikan kegiatan mining MLM dan beralih pada coin baru (Raven). Total perolehan mining MLM selama 8 hari adalah Rp 7.659.673 dan saya rasa hasil segitu dengan amunisi yg saya pakai hasilnya sangatlah memuaskan, dan belum tentu dalam waktu dekat akan merasakan hasil yang serupa.
Hasil Review:
1. Data Valid +3

ane hanya komentari tentang seluk-beluk mining coin baru:
2. Prinsipnya:
1. Lihat Komunitas miners dari koin itu sendiri, APakah Solid/ tidak mulai dari Dev, Manager komunitas (Sosmed) dan Marketing, saya berkaca dari pengalaman CLO ternyata ketiga hal tersebut sangat berperan penting ketika VOTE coin masuk Exchange. CLO termasuk Team yang lambat karena sulit masuk Exchange. ane dapat 21jt (10 hari mining, perhari dpt 800-923 CLO) karena menjual coin sebelum masuk Exchange (VIA komunitas), kalau ketika masuk exchange cuman dapat 10-12 jt (8 hari mining, 400- 515CLO/hari karena Diff mulai Naik).

2. Lihat ANN thread di ANN section, siapakah yang menulis ANN tersebut. Lebih confident kalau yang menulisnya DEV coin itu sendiri

3. Ini yang terpenting harus berani Ambil Resiko

source asli: https://bitcointalksearch.org/topic/m.40989519


Btw Om joniboni, apakah challange ini sudah bisa dimulai dan bisa saya review Grin terimakasih confirmasinya

Mohon maaf untuk Om joniboni terhadap challange abhiseshakana (sMerit terlanjur di Send) saya baru baca kembali peraturan challange ini

- Max rank Member.
- Jumlah merit saat mengikuti challenge harus dibawah 40.
member
Activity: 102
Merit: 40
#Partisipasi Challenge

Nama akun: Kriss.Kross
Challenge yang diikuti: Challenge #3 - The Best Mining Experience
Jawaban:

Pengalaman mining terbaik bagi ane sampai saat ini adalah mining koin Pigeon yang memakai algo x16s. Mungkin banyak yang tidak tahu mengenai koin Pigeon ini, dan ane rasa julukan "shitcoin" lebih tepat digunakan untuk mewakili koin Pigeon ini. Dan terus terang ane memulai mining koin Pigeon ini hanya berdasarkan dari ANN Pigeon di Bitcointalk, sedangkan ane sendiri saat itu belum mempunyai account bitcointalk dan hanya menjadi silent reader saja.

Dengan spekulasi yang sangat besar dan hanya bermodalkan informasi dari ANN serta tergabung dgn Discord Pigeon, ane memulai mining Pigeon dari tanggal 28 Maret 2017 jam 09:37 (WIB) dengan difficulty mining 172.8105 di pool Suprnova, menggunakan pasukan mining yang baru saya rakit, yakni 6x GTX 1070.

Dan dalam 1 hari penuh hasil mining yang ane peroleh sebanyak 5168 koin Pigeon, ane sendiri buta hasil segini ini nilainya besar atau kecil, karena Pigeon sendiri belum masuk ke exchange manapun. Dengan informasi yang ane peroleh dari Discord, yakni sebuah announcement yg menyatakan kalau CryptoBridge sedang memproses pengajuan Pigeon untuk masuk ke exchange tsb. Maka dengan tekad bulat ane teruskan kegiatan mining pigeon ini.

Memasuki hari ke dua dan hari ke tiga, perolehan koin yg didapat dari mining semakin menurun, karena dipengaruhi oleh difficulty yang bertambah dengan drastis. Hari ke 2 koin yang diperoleh sebesar 4287 dan hari ke 3 total koin yang didapat hanya sebesar 3643. Dan dibawah ini adalah hasil total perolehan mining selama 10 hari dari pool Suprnova

Code:
TOTAL PIGN EARNING REPORTS
Credit Bonus Debit AP Debit MP Donation TXFee

All Time 26,761.53078696 0.00000000 6,505.47086181 19,988.43561125 0.00000000 0.00900000

Dan tepat pada tanggal 11 april 2018 disaat Pigeon masuk ke list Crypto-bridge.org , ane jual keseluruhan koin pigeon diharga 1 Pgn = 0.00000087 BTC dan yg ane dapatkan sebesar 0.02327685 BTC.

Sebenarnya hasil yang diperoleh tidak sesuai dengan ekspetasi ane yang mengharapkan harga Pigeon saat masuk ke cryptobridge di range harga 0.00000200 BTC, akan tetapi namanya hasil ya harus tetap disyukuri dan hasil yang ane peroleh ini sangat jauh diatas jika dibandingkan dengan hasil mining ane sebelumnya. Dan dari BTC yg ada di wallet crypto-bridge juga, account bitcointalk ane ini bisa lahir dan posting disini.
legendary
Activity: 2254
Merit: 2253
From Zero to 2 times Self-Made Legendary
#Partisipasi Challenge

Nama akun: abhiseshakana https://bitcointalksearch.org/user/abhiseshakana-1878246
Challenge yang diikuti: Challenge #3 - The Best Mining Experience
Jawaban:

Sebenarnya kalau membicarakan pengalaman mining yang berkesan, sebenarnya hampir semua miner pasti pernah mengalaminya. Tapi entah kenapa, setelah saya amati disini tidak ada seorangpun yang berbagi cerita mengenai pengalamannya tersebut. Maka oleh karena itu saya akan memberanikan diri untuk bertutur kata mengenai pengalaman mining saya pribadi dan bagi saya pengalaman itu sangat berkesan. Dan semoga dari pengalaman saya ini ada beberapa hikmah yang bisa diambil atau bahkan sapa tau menjadi inspirasi buat para miners lainnya Smiley.

Kejadian bermula pada awal Maret 2018 kemarin, dan pada saat itu saya masih berkutat dengan coin yang namanya LUX (PHI1612) dan ZCash (Equihash) untuk pasukan Nvidia yg saya miliki. Setelah merasakan beberapa bulan hasil mining semakin menyusut karena 2 coin yg aktif saya mining tingkat dificultynya semakin tinggi. Secara tidak sengaja saya membaca 1 post di JKCForum yg merekomendasikan satu Coin bernama MKTCoin (MLM). Dengan bahan pertimbangan tersebut, saya coba untuk menelusuri mengenai informasi dari MKTCoin (MLM), mulai dari algoritma yg digunakan (X17), exchanges beserta harganya,  wallet yang dipakai dan pool buat me-mining coin tersebut.

Setelah semua bahan dan informasi terkumpul, saya hentikan semua kegiatan Mining LUX dan beralih me-mining coin MLM. Dalam kurun waktu 2 jam saya matikan pasukan mining MLM dan menunggu sekitar 1 Jam untuk memastikan keseluruhan immature balance yang masuk. Dari proses mining selama 2 jam tadi saya ambil data hasil mining dan membuat estimasi perolehan mining buat 24 Jam kedepan. Dan ternyata hasilnya membuat semangat mining menjadi berkobar-kobar.

Quote
MLM-Mining Start 01 Maret 2018 16:30 with 4x1080Ti 4x1070 6x1050Ti at BSOD PooL

01Mar2018 16:30
Total Earned (unconfirmed)      0 MLM

01Mar2018 18:30
Total Earned (unconfirmed)      71.23606589 MLM

2 Hour earns                           = 71.23606589 MLM
24 Hour estimated                   = 854 MLM
24 Hour estimated (Oin BTC)    = 0.011102000 BTC (MLM Price 0.00001300 BTC)
24 Hour estimated (in Rupiah)   = Rp 1.643.096 (1 BTC = Rp 148.000.000)

Setelah mencatat semua data diatas, saya teruskan kegiatan mining MLM dan sangat tidak sabar untuk melihat hasil realnya buat 24 Jam kedepan. Dan setelah 24 jam menunggu hasil mining yg didapat ternyata cmn 713 coin MLM, mungkin dalam waktu 24 jam tersebut tingkat difficulty naik dengan cepat. Tapi dari total 713.61125297 coin klo dikonversi ke rupiah nilainya masihlah besar, yakni Rp 1.380.381. Sangat berbeda jauh hasil yg diperoleh dari mem-mining coin LUX maupun Zcash yg rata-rata perhari cuman dapat dikisaran Rp 400.000

Berikut Data perhitungan profit 24 Jam (MLM Mining)
Quote
Coin earns (24H)  = 713.61125297
Coin Price (BTC)   = 0.00001307 BTC
Income (BTC)       = 0.00932689
Income (Rp)        = Rp 1.380.381 (1 BTC = Rp 148.000.000)

Kegiatan me-mining coin MLM ini ternyata tidak selama prediksi saya. Prediksi saya dalam waktu 1 bulan tingkat difficulty tidak akan naik secara tajam, sedangkan harga coin akan bertahan di range 1000-1500 satoshi. Tapi pada kenyataannya setelah memasuki hari ke-8 mining coin MLM, hasil yang didapat cuman dikisaran Rp 450.000 dan saya putuskan untuk menghentikan kegiatan mining MLM dan beralih pada coin baru (Raven). Total perolehan mining MLM selama 8 hari adalah Rp 7.659.673 dan saya rasa hasil segitu dengan amunisi yg saya pakai hasilnya sangatlah memuaskan, dan belum tentu dalam waktu dekat akan merasakan hasil yang serupa.

Itulah pengalaman berkesan yang saya rasakan saat melakukan kegiatan mining. Dan mungkin kedepannya pengalaman tersebut tidak akan bisa saya lupakan (disamping catatan hasil mining masih tersimpan aman di folder PC  Grin)

Note : Mohon maaf jika cerita saya membuat para pembaca bosan dan mungkin ada beberapa kata yang tidak sesuai dengan ajaran Bahasa Indonesia yang baik dan benar. Dan mengingat merit saya sudah diatas 30, tujuan saya disini hanya berbagi pengalaman saja  Grin.


legendary
Activity: 2170
Merit: 1789
Quick Update

Review translasi sudah saya selesaikan. Dari hasil analisis pribadi saya, dapat disimpulkan beberapa hal sebagai berikut:
1. Masih banyak kesalahan penerjemahan (baik mayor ataupun minor) yang dilakukan oleh para peserta challenge.
2. Ditemukan beberapa penerjemahan yang sangat mirip dengan GT. Saya rasa hal ini menjadi pertimbangan penting untuk melanjutkan challenge ini atau tidak, mengingat sulit membuktikan penggunaan Google Translate atau tidak karena bisa jadi diparafrase sebelumnya setelah diterjemahkan lewat Google Translate.
3. Secara umum saya pikir semua partisipan bisa mendapatkan merit antara 2-4 (saya serahkan ke mod untuk menilainya). Mengingat tidak ada penerjemahan yang benar-benar sempurna/baik.

Silakan menunggu review dari moderator dan pemberian merit apabila mod merasa agan-agan bisa mendapatkannya.

Link cek review:  https://docs.google.com/spreadsheets/d/11SjIWUvKfiL6eNZp-n1hcsffZu-7sqqeoTyvB6EB1cM/edit#gid=0.


SPAMMER

salah satu ide dan perkembangan yang sangat baik, yang perlu di apresiasi untuk ide-ide kreatif seperti ini dengan banyak nya harus berani bersaing dimasa yang akan datang

mengejar ketertinggalan dengan diadakannya challenge lokal board indonesia, bertujuan dengan hal dimana yang seharus nya bisa sesuai dengan kebutuhan

Sebenarnya orang-orang ini pada baca OP gak sih? Atau cuma liat judul terus langsung asal njeplak saja lambenya?
legendary
Activity: 2170
Merit: 1789
Untuk memudahkan review dan kroscek publik, saya telah mengupload review translasi pada spreadsheet berikut: https://docs.google.com/spreadsheets/d/11SjIWUvKfiL6eNZp-n1hcsffZu-7sqqeoTyvB6EB1cM/edit#gid=0. Silakan melihat pada spreadsheet itu apabila agan ingin melihat perkembangan review translasi yang saya lakukan.
legendary
Activity: 2170
Merit: 1789
Reserve spot untuk analisis translasi #4

#Partisipasi Challenge

Nama akun: [ sulwan2612  https://bitcointalksearch.org/user/sulwan2612-1943125 ]
Challenge yang diikuti: [ Kontribusi di Thread Edukasi Bitcoin]
Jawaban:
APLIKASI : COMMITMENTS

Sekarang Mari kita lihat sebuah aplikasi dari hiding property.  lebih rincinya,  apa yang Ingin kita lakukan adalah sesuatu yang disebut Dengan Commitments.  Commitments adalah sebuah digital analog Dalam menentukan sebuah nilai.  menyegel nya dalam sebuah amplop Dan meletakkan/menaruh amplop tersebut diatas sebuah meja dimana semua Orang dapat melihatnya. ketika Kamu melakukanya , Kamu telah berkomitmen pada apa yang Ada di dalam amplop, tetapi Kamu Belum membuka nya, Jadi Meskipun Kamu telah berkomitmen pada suatu nilai, nilai tersebut  Tetap menjadi Rahasia Untuk Orang lain. nanti, Kamu bisa membuka amplop tersebut Dan mengungkap/melihat angka yang Sudah Kamu tentukan sebelumnya.

Skema commitments, skema commitments terdiri dari dua algoritma :
• com : commit ( msg,  nonce) Fungsi dari commit adalah mengambil message Dan angka Rahasia Secara acak. disebut juga sebagai nonce, berfungsi sebagai input dan mengembalikan/membalik sebuah commitments.
• verify ( coming, message, nonce) Fungsi dari verify adalah mengambil commitments, nonce, dan message sebagai input. ini akan bernilai true apabila com == commit(msg, nonce) , jika sebaliknya maka akan bernilai false. kita membutuhkan dua property keamanan dibawah Ini sebagai pendukung :
• Hiding : disertai com, Dengan Ini akan sangat sulit menemukan msg
• Binding : Dengan Ini akan Sangat sulit Untuk menemukan dua Pasang (msg, nonce) Dan (msg', nonce')atau semacam msg ≠ msg′ Dan commit(msg, nonce) == commit(msg′, nonce′).

Untuk menggunakan skema commitments,  hal pertama yang kita butuhkan adalah membangkitkan/membuat nonce Secara acak. kemudian kita apply Fungsi commit Ini ke nonce bersama Dengan msg. Dan nilai nya ter commit, Dan kita publikasikan commitment com. Tingkatan Ini Dapat disamakan seperti meletakkan amplop yang tersegel diatas meja. pada point selanjutnya, apabila kita Ingin memperlihatkan nilai atau angka yang Sudah ter commit sebelumnya, kita publikasikan nonce acak yang kita gunakan Untuk membuat commitment ini, Dan message msg. Sekarang semua Orang Dapat memverifikasi Bahwa msg telah benar benar sebuah message yang ter commit lebih awal. Tingkatan Ini Dapat disamakan Dengan proses membuka amplop.

Setiap Kali Kamu commit pada suatu nilai, Sangat penting Untuk Kamu memilih nilai nonce Baru Secara acak. Dalam ilmu pembacaan Sandi, pola nonce digunakan Untuk acuan sebuah nilai yang hanya bisa digunakan satu Kali.
Dua properti keamanan memerintahkan Bahwa Secara actual alghoritma berjalan seperti menyegel Dan membuka amplop.  Pertama, sebuah commitment yang diberi imbuhan com, seseorang yang sedang melihat ke sebuah amplop tidak Dapat membayangkan apa message nya. properti kedua adalah Bahwa Ini ter binding, Ini memastikan Bahwa ketika Kamu commit pada apa yang ada di dalam amplop, nanti kamu tidak bisa merubah pikiranmu. begitulah, Sangat tidak mudah menemukan dua message yang berbeda. seperti halnya Kamu commit terhadap satu message Dan kemudian Meng klaim Bahwa kamu ter commit pada yang lain.
Jadi bagaimana kita mengetahui Bahwa dua properti ini mendukung? sebelum kita menjawab Pertanyaan Ini, kita perlu mendiskusikan bagaimana kita akan mengimplementasikan skema commitment secara actual. kita juga bisa menggunakan ilmu pembacaan Sandi fungsi hash. Dengan pertimbangan skema commitment berikut :

commit(msg, nonce) := H(nonce ‖ msg), dimana nonce bernilai acak 256-bit
Untuk commit ke sebuah message, kita membuat/membangkitkan nilai acak nonce 256-bit, kemudian kita gabungkan nonce dan message,  Dan mengembalikan nilai hash gabungan tersebut sebagai sebuah commitment. Untuk verifikasi,  seseorang akan memperhitungkan hash yang sama dari nonce yang telah digabungkan Dengan sebuah message. Dan Mereka akan mengecek apakah hasilnya sama dengan nilai commitment yang Mereka lihat sebelumnya.

Mari kita perhatikan dua properti yang diperlukan untuk skema commitment kita. jika kita gantikan seketika commit dan verify menjadi H(nonce ‖ msg) untuk com, maka properti tersebut akan menjadi :
•  Hiding: dengan imbuhan H(nonce ‖ msg), ini akan sangat sulit menemukan msg.
•  Binding: ini akan sangat sulit menemukan dua pasang (msg, nonce) dan (msg′, nonce′) seperti halnya msg ≠ msg′ dan H(nonce ‖ msg) == (nonce′ ‖ msg′).
Properti Hiding dari commitment adalah benar benar sebuah properti Hiding yang kita butuhkan untuk fungsi hash kita. apabila key (password) telah dipilih sebagai nilai acak 256-bit, maka properti Hiding mengatakan bahwa jika kita hash rangkaian key(pasword) dan message, maka akan sangat sulit untuk recover (menemukan kembali) message dari output hash. dan ini akan menghasilkan properti Hiding yang tersirat oleh properti collision-resistant (properti resistansi yang berlawanan) dari hal yang mendasari fungsi hash. apabila fungsi hash collision-resistant, maka ini akan sangat sulit menemukan nilai yang tepat untuk msg dan msg′ seperti halnya H(nonce ‖ msg) = H(nonce′ ‖ msg′), selama beberapa nilai akan benar benar menjadi berlawanan. ( dengan catatan implikasi sebaliknya tidak di hold,yaitu ini memungkinkan kamu untuk bisa menemukan collision.tetapi tidak ada dari mereka yang berpola  H(nonce ‖ msg) == H(nonce′ ‖ msg′). sebagai contoh, apabila kamu hanya bisa menemukan collision pada dua nonce yang berbeda pada  commitment untuk message yang sama, maka skema commitment akan tetap terikat. akan tetapi fungsi hash yang menjadi dasar tidak collision resistant.
Oleh karena itu, apabila H adalah fungsi hash yang keduanya collision resistant dan Hiding, maka skema commitment ini akan bekerja. dalam artian bahwa ini akan memiliki kebutuhan sebuah properti keamanan.

PROPERTI 3 : PUZZLE YANG BERSAHABAT / PUZZLE YANG MUDAH

Properti keamanan yang ketiga yang akan kita butuhkan dari fungsi hash adalah sebuah puzzle yang bersahabat/mudah. properti ini sedikit rumit. pertama tama akan kita jelaskan apa saja persyaratan teknis dari properti ini dan kemudian memberikan sebuah aplikasi yang mengilustrasikan mengapa properti ini sangat berguna.
Puzzle friendliness, fungsi hash H bisa dikatakan sebuah puzzle yang mudah apabila setiap kemungkinan nilai output n-bit y, apabila k dipilih dari distribusi dengan nilai min-entropy yang tinggi, kemudian ini akan sangat sulit menemukan nilai x seperti halnya H(k ‖ x) = y dengan waktu yang tepat kurang dari 2n. dengan tidak sengaja, ketika seseorang ingin mentargetkan fungsi hash memiliki beberapa output nilai y yang terperinci, dan jika bagian dari input telah terpilih secara acak dan sesuai. maka ini akan sangat sulit menemukan nilai yang lain yang benar benar tepat pada target.

APLIKASI : SEARCH PUZZLE

Mari kita pertimbangkan sebuah aplikasi yang mengilustrasikan kegunaan dari fungsi ini. pada aplikasi ini kita akan membuat sebuah search puzzle. sebuah problem matematis yang membutuhkan space yang besar untuk menemukan sebuah solusi. lebih detailnya search puzzle ini tidak mempunyai shortcut. jadi tidak ada cara untuk menemukan solusi valid yang lain selain mencari space luas tersebut.
Search puzzle. sebuah search puzzle terdiri dari :
• fungsi hash, H
• sebuah angka, id ( yang kita sebut dengan puzzle-ID )
Dipilih dari distribusi min-enthropy yang tinggi, dan
• Target set Y
Solusi dari puzzle ini , x , yaitu
Perumpamaan nya adalah seperti ini : jika H mempunyai sebuah output n-bit , maka ini akan mengambil beberapa nilai 2n. untuk memecahkan sebuah puzzle perlu menemukan sebuah input dimana nilai output turun tidah lebih dari nilai Y. yang mana bersifat lebih kecil daripada nilai output yang ter set. besarnya nilai Y menentukan seberapa sulit puzzle tersebut. jika nilai Y adalah settingan dari semua deret n-bit. maka puzzle ini sederhana, sedangkan jika Y hanya mempunyai satu elemen, maka puzzle ini sangat sangat rumit. jika puzzle ID mempunyai nilai min-enthropy yang tinggi, pastikan bahwa tidak ada shortcut. begitu pula sebaliknya jika nilai ID hampir sama, maka seseorang bisa melakukan kecurangan, disebutkan oleh
pra perhitungan solusi pada ID puzzle tersebut.

jika fungsi hash ini adalah puzzle yang mudah. tidak ada strategi pemecahan untuk puzzle ini yang mana akan jauh lebih baik daripada hanya mencoba nilai x secara acak. dan juga apabila kita ingin menampilkan puzzle yang sulit untuk dipecahkan, kita bisa melakukan cara ini selama kita bisa membuat ID puzzle dengan cara acak yang sesuai. kita akan menggunakan ide ini nantinya, ketika kita bicara tentang menambang bitcoin. dimulai di chapter 2 - menambang adalah cara singkat perhitungan puzzle.

SHA-256
Kita telah mendiskusikan tiga properti dari fungsi hash, dan satu aplikasi pada setiap masing masing properti. sekarang mari kita diskusikan fungsi hash khusus yang akan sering kita gunakan dalam buku ini. banyak tersedia fungsi hash, tetapi ini adalah satu satunya yg digunakan bitcoin. dan ini salah satu yang baik untuk digunakan, yaitu disebut dengan SHA-256
mengingat bahwa kita membutuhkan fungsi hash kita bekerja pada input yang berubah ubah dalam jangka waktu yang lama. untung saja selama kita bisa membuat fungsi hash bekerja pada input yang waktunya tetap atau konstan, ada metode umum untuk mengkonversinya ke dalam fungsi hash yang bekerja pada input dengan jangka waktu yang berubah ubah. bisa juga disebut dengan perubahan Merkle-Damgård. SHA-256 adalah satu dari nomor yang biasanya digunakan fungsi hash yang memaksa untuk menggunakan metode ini. dalam therminology umum, yang mendasari fixed-length collision-resistant fungsi hash disebut dengan fungsi kompresi. ini telah dibuktikan bahwa jika yang mendasari fungsi kompresi adalah collision resistant. secara keseluruhan fungsi hash adalah collision resistant.
Tranformasi Merkle-Damgård terbilang sangat sederhana, diharapkan bahwa fungsi kompresi mengambil input dari lenght m dan menghasilkan sebuah output lenght n yang lebih kecil. input pada fungsi hash yang berasal dari berbagai ukuran, terbagi dalam lenght m-n yang terhambat. kontruksi kerja berikut ini : melewati tiap hambatan bersama dengan output hambatan sebelumnya ke dalam fungsi kompresi. untuk hambatan pertama dimana tidak ada hambatan output sebelumnya, sebaliknya kita gunakan vector aslinya ( IV pada gambar 1.3 ). angka ini digunakan lagi untuk setiap panggilan pada fungsi hash. sederhanya kamu hanya bisa melihatnya dalam dokumen standart, hambatan output terakhir adalah hasil dari apa yang kamu kembalikan.

  

gambar 1.3 fungsi hash SHA -256 ( disederhankan ) SHA-256 yang menggunakan trasformasi  Merkle-Damgård untuk merubah fungsi kompresi fixed-length collision-resistant ke dalam fungsi hash yang menerima input dengan jangka waktu yang berubah ubah. input yang tetap, sehingga jangka waktunya dikali dengan 512 bit. IV adalah singkatan dari vector awal.

Fungsi Modeling Hash
Fungsi hash adalah sebuah senjata swiss army dari ilmu pemecahan kode. mereka menemukan sebuah tempat dalam aplikasi yang beragam. sisi berlawanan untuk ragam ini bahwa aplikasi aplikasi yang berbeda membutuhkan sedikit properti yang berbeda dari fungsi hash untuk menjamin keamanan. ini dibuktikan dengan sangat sulit untuk menurunkan daftar dari fungsi hash yang akan menghasilkan properti keamanan yang terbukti. untuk selanjutnya kita telah memilih tiga properti yang kursial yang digunakan oleh fungsi hash pada bitcoin dan mata uang digital lainnya. bahkan pada phase ini tidak semua properti  tersebut diperlukan pada penggunaan fungsi hash. sebagai contoh puzzle friendliness hanya penting untuk menambang bitcoin. seperti yang akan kita lihat.
Designer dari sistem keamanan sering menyerah dan model hash function sebagai fungsi dimana nilai acak output pada setiap kemungkinan nilai input. ini memakai “random oracle model” untuk membuktikan kontroversi keamanan pada ilmu pemecahan sandi. berdasar kan satu posisi dalam debat ini, alasan tentang bagaimana menurunkan properti keamanan yang kita inginkan dalam aplikasi kita ke properti fundamental yang mendasari para primitif adalah pelatihan intelektual yang bermutu untuk membangun distem keamanan. presentasi kami di judul ini adalah du desain untuk membantu kamu untuk belajar tentang keahlian ini.

SHA-256 menggunakan fungsi kompresi yang mengambil input 768-bit dan menghasilkan output 256-bit .ukuran hambatan adalah 512 bite. lihat gambar 1.3 untuk gambaran grafikal bagaimana SHA-256 bekerja.
Kita telah membahas tentang fungsi hash. cryptographic fungsi hash dengan properti khusus, aplikasi dalam sebuah properti, fungsi specific dari fungsi hash yang kita gunakan dalam bitcoin. pada sesi selanjutnya kita berdikusi cara cara menggunakan fungsi hash untuk membuat struktur data yang lebih rumit yang digunakan dalam sistem pendistribusian bitcoin

Thread locked for a moment.
legendary
Activity: 2170
Merit: 1789
Reserve spot untuk analisis translasi #3


APLIKASI: COMMITMENTS
Sekarang mari kita lihat aplikasi dari sifat hiding. Secara khusus, apa yang ingin kita lakukan adalah sesuatu yang disebut commitment (komitmen). Commitment adalah analog digital yang mengambil nilai, menyegelnya seperti menyegel dalam sebuah  amplop, dan menempatkan amplop itu di atas meja, dimana semua orang dapat melihatnya. Ketika Anda melakukan hal tersebut, berarti anda telah berkomitmen dengan apa yang ada di dalam amplop (isinya). Tetapi Anda belum membukanya, jadi meskipun Anda berkomitmen pada nilai, nilainya tetap merupakan sebuah rahasia. Selanjutnya, Anda dapat membuka amplop dan mengungkapkan nilai yang sudah disegel sebelumnya.
Skema commitment. Sebuah skema commitment terdiri dari dua algoritma:
Com = commit (msg, nonce) Fungsi commit mengambil pesan dan nilai acak rahasia, yang disebut nonce, sebagai input dan menghasilkan commitment.
Verify (com, msg, nonce) Fungsi verifikasi mengambil commitment, nonce, dan message (pesan) sebagai input. Nonce menghasilkan statement nilai yang benar jika com = = commit (msg, nonce) dan salah jika yang terjadi sebaliknya,
Dua sifat pengaman yang kita butuhkan untuk skema commitment adalah berikut ini:
Hiding : Memberi imbuhan dengan com, tidak mudah untuk menemukan msg.
Binding:  Tidak mudah untuk menemukan dua pasangan (msg, nonce) dan (msg ′, nonce ′) seperti msg ≠ msg ′ dan commit (msg, nonce) = commit (msg ′, nonce ′).

Untuk menggunakan skema commitment, pertama-tama kita perlu untuk menghasilkan nonce secara acak terlebih dahulu. Kita kemudian menerapkan fungsi commit ke nonce bersama-sama dengan msg, nilai yang disetujui, dan mempublikasikan com commitment. Tahap ini, bisa dianalogikan seperti meletakkan amplop tertutup di atas meja. Selanjutnya, jika kita ingin mengetahui nilai yang yang tertutup dan tersegel dari amplop tersebut, kita mengeluarkan nonce acak yang kita gunakan untuk membuat commitment ini, dan message (pesan), msg. Sekarang siapa pun dapat memverifikasi bahwa msg memang pesan yang disetujui sebelumnya. Tahapan ini dapat disamakan dengan membuka amplop.

Setiap kali Anda commit pada suatu nilai, penting bagi Anda untuk memilih nilai nonce acak yang baru. Dalam kriptografi , istilah nonce digunakan untuk nilai yang hanya dapat digunakan satu kali.

Dua sifat pengaman (dari skema commitment) tersebut memerintahkan algoritma sebenarnya untuk menyegel dan membuka amplop. Pertama, memberikan imbuhan com, commitment, seseorang yang melihat amplop tidak dapat mengetahui apa pesannya. Maka sifat kedua dari pengaman tersebut yang berfungsi sebagai binding. Ini memastikan bahwa ketika anda berkomitmen pada apa yang ada di dalam amplop, anda tidak dapat mengubah pikiran anda nanti. Artinya, tidak mungkin untuk menemukan dua pesan yang berbeda, sehingga anda dapat commit untuk satu pesan dan kemudian menganggap bahwa Anda commit untuk yang lain.

Jadi bagaimana kita tahu bahwa kedua sifat ini (sifat pengaman skema commitment) bertahan? Sebelum kita dapat menjawabnya, kita perlu mendiskusikan bagaimana kita akan benar-benar menerapkan skema commitment. Kita dapat melakukannya menggunakan fungsi hash kriptografi. Pikirkan skema commitment berikut:
commit (msg, nonce): = H (nonce || msg), dimana nonce adalah nilai 256-bit acak

Untuk memberikan commit pada sebuah pesan, generate atau hasilkan dulu nonce acak 256bit tersebut. Kemudian kami menggabungkan nonce dan message (pesan) dan mengembalikan hash dari nilai gabungan ini sebagai komitmen. Untuk verify, seseorang akan menghitung hash yang sama dari nonce yang diberikan bersama message (pesan). Dan mereka akan memeriksa apakah hasilnya sama dengan commitment yang mereka lihat.
Lihatlah lagi dua sifat atau properti yang diperlukan dari skema komitmen kita. Jika kita mengganti instantiasi commit dan verify serta H (nonce  msg) untuk com, maka sifat / properti ini menjadi:
Hiding: Pemberian H (nonce  ||  msg), tidak mudah untuk menemukan msg.
Binding: Tidak mudah  menemukan dua pasangan (msg, nonce) dan (msg ′, nonce ′) sedemikian rupa sehingga msg ≠ msg ′ dan H (nonce  msg) == (nonce ′ || msg ′).s
Sifat Hiding dari skema commitment ini sebenarnya adalah sifat hiding yang kita butuhkan untuk fungsi hash kita. Jika key dipilih sebagai nilai acak 256-bit, maka sifat hiding dari fungsi hash ini berarti bahwa jika kita menggabungkan key dan pesan tersebut, maka tidak akan mudah untuk memulihkan pesan dari hasil output hash. Dan ternyata sifat binding tersirat oleh sifat collision-resistant dari fungsi hash yang mendasarinya. Jika fungsi hash itu collision-resistant, maka tidak akan mungkin untuk menemukan nilai-nilai yang berbeda msg dan msg′ sehingga H (nonce ‖‖ msg) = H (nonce ′ ‖‖ msg ′), karena nilai-nilai seperti itu memang akan terjadi collision / benturan. (Perhatikan bahwa implikasi terbalik tidak berlaku. Artinya, Anda mungkin menemukan benturan, tetapi tidak ada yang berupa H (nonce ‖‖ msg) == H (nonce ′ ‖ msg ′). Misalnya, jika Anda hanya dapat menemukan benturan di mana dua nonce berbeda menghasilkan  commit yang sama untuk pesan yang sama, maka skema commitment masih binding atau mengikat, tetapi fungsi hash yang mendasarinya bukan collision-resistant.

Oleh karena itu, jika H adalah fungsi hash yang terdiri dari sifat collision-resistant atau tahan benturan dan hiding, skema komitmen ini akan bekerja, dalam arti bahwa ia akan memiliki properti atau sifat keamanan yang diperlukan.


Sifat 3: Puzzle Friendliness
Sifat keamanan ketiga yang kami perlukan dari fungsi hash adalah bahwa mereka puzzle mudah. Sifat fungsi hash ini sedikit rumit. Kita pertama kali menjelaskan apa persyaratan teknis dari sifat  fungsi hash(puzzle friendliness) ini dan kemudian memberikan aplikasi yang menggambarkan mengapa sifat fungsi hash(puzzle friendliness) ini berguna.
Puzzle friendliness. Fungsi hash H dikatakan memiliki sifat puzzle yang jika untuk setiap kemungkinan output n-bit bernilai y, jika k dipilih dari distribusi dengan min-entropi tinggi, maka tidak mungkin untuk menemukan x sehingga H (k ‖‖  x) = y dalam waktu signifikan kurang dari 2n.
Secara intuitif, jika seseorang ingin menargetkan fungsi hash untuk memiliki beberapa nilai output tertentu y, maka bagian dari input telah dipilih dengan cara acak yang sesuai, maka sangat sulit untuk menemukan nilai lain yang tepat sasaran tersebut.

APLIKASI: SEARCH PUZZLE.
Sekarang kita coba untuk mempertimbangkan sebuah aplikasi yang menggambarkan kegunaan sifat ini(fungsi hash puzzle friendliness). Dalam aplikasi ini, kita akan coba membangun sebuah pencari puzzle(teks- teki). Sebuah masalah matematika yang membutuhkan ruang besar untuk bisa menemukan solusinya. Secara khusus, pencari puzzle ini tidak memiliki shortcut (jalan pintas). Artinya, tidak ada cara untuk menemukan solusi valid selain mencari ruang besar itu.
Pencari puzzle. terdiri dari:
Fungsi hash, H,
Nilai, id (yang kita sebut puzzle-ID), dipilih dari distribusi min-entropi tinggi
dan target yang ditetapkan Y
Solusi untuk puzzle ini adalah nilai x, sehingga

Bayangannya sebagai berikut: Jika H memiliki output n-bit, maka dapat mengambil dari nilai-nilai 2n. Dalam memecahkan puzzle butuh untuk bisa menemukan sebuah input. Sehingga output bisa termasuk dalam set Y, yang biasanya berukuran lebih kecil dari semua himpunan output lainnya. Ukuran Y menentukan seberapa rumit puzzle tersebut. Sementara, jika Y adalah semua himpunan string n-bit yang tidak terlalu rumit, sedangkan Y hanya memiliki 1 elemen puzzle, maka menjadi sanagar sulit. Kenyataan bahwaId puzzle dengan min-entropy tinggi memasikan agar tidak ada shortcut. Sebaliknya, jika nilai tertentu dari ID memungkinkan, maka seseorang berpeluang untuk melakukan kecurangan. Misalnya melakukan pra komputansi memecahkan puzzle dengan menggunakan ID tersebut

Jika pencari puzzle itu bersifat puzzle friendly(mudah), tidak ada pemecahan puzzle yang jauh lebih baik daripada menggunakan nilai acak x. Dan, kita bisa membuat sebuah puzzle yang sukar untuk dipecahkan dengan cara ini. Selama kita bisa melakukan generate atau menghasilkan ID puzzle secara acak. Ide tentang hal ini selanjutnya dipergunakan dalam proses penambangan bitcoin, yang juga dilakukan dengan komputansi puzzle.


SHA-256

Kita telah membahas tiga sifat fungsi hash dan satu aplikasi dari masing-masing sifat. Sekarang mari kita bahas fungsi hash tertentu yang akan kita gunakan banyak dalam buku ini. Ada banyak fungsi hash, tetapi ini adalah satu-satunya yang Bitcoin gunakan utamanya, dan itu cukup bagus untuk digunakan. Ini disebut SHA-256.

Perlu diingat bahwa kita memerlukan fungsi hash untuk bisa bekerja pada input dengan panjang tertentu. Untungnya, selama kita dapat  membuat fungsi hash yang berfungsi pada input panjang yang tetap ada sebuah metode umum yang bisa mengubahnya menjadi sebuah fungsi hash yang bisa bekerja pada panjang input yang berubah-ubah. Metode itu disebut Merkle-Damgard  transform. SHA-256 adalah salah satu dari sekian banyak fungsi hash yang digunakan dalam metode ini. Dalam terminologi secara umum, panjang yang tetap dari sifat fungsi hash collision-resistant disebut dengan compression-function. Dan hal ini telah terbukti. Sehingga jika yang mendasari compression-function tersebut adalah collision-resistant (tahan akan tubrukan) maka secara keseluruhan fungsi hash adalah collision-resistant(tahan akan tubrukan) juga.


Proses Merkle-Damgard cukup sederhana. Anggaplah compression-function mengambil panjang input m dan menghasilkan output yang lebih pendek n. Input ke fungsi hash tersebut, dapat menjadi berbagai ukuran, kemudian dibagi menjadi blok-blok dengan ukuran panjang m-n. Proses kerjanya sebagai berikut: lalui setiap blok bersama dengan output blok sebelumnya kedalam compression-function. Perhatikan bahwa panjang input akan menjadi (m-n)+n = m, yang merupakan panjang input untuk compression-function. Untuk  blok pertama, yang mana tidak ada output blok sebelumnya. kita lebih memilih menggunakan vektor inisialisasi (IV pada Gambar 1.3). Nomor ini digunakan kembali untuk setiap panggilan ke fungsi hash, dan dalam prakteknya Anda bisa mencarinya dalam dokumen standar. Output blok terakhir adalah hasil yang Anda kembalikan.



GAMBAR 1.3. SHA-256 fungsi hash (disederhanakan). SHA-256 menggunakan Merkle-Damgård transform untuk mengubah panjang yang tetap dari collision-resistant compression-function menjadi fungsi hash, yang bisa menerima input berbagai ukuran. Input dimasukkan, sehingga panjangnya adalah kelipatan 512 bit. IV singkatan inisialisasi vektor.

Pemodelan Fungsi Hash
Fungsi hash adalah pisau kriptografi dari Swiss Army: mereka menemukan tempat di berbagai aplikasi menakjubkan. Sisi lain dari keserbagunaan ini adalah bahwa aplikasi yang berbeda memerlukan sifat fungsi hash yang sedikit berbeda untuk menjamin keamanan. Telah terbukti, ini sangat sulit untuk menjabarkan daftar sifat fungsi hash yang akan menghasilkan keamanan yang dapat dibuktikan di seluruh papan.

Dalam bahasan ini, kami telah memilih tiga sifat yang sangat penting untuk cara fungsi hash digunakan dalam Bitcoin dan cryptocurrency (teknologi membuat uang digital) lainnya. Bahkan di ruang ini, tidak semua sifat ini diperlukan untuk setiap penggunaan fungsi hash. Misalnya, , puzzle friendliness  hanya penting dalam penambangan Bitcoin, seperti yang akan kita lihat.
Perancang sistem yang aman sering menyerah melakukannya dan model fungsi hash sebagai fungsi yang menghasilkan nilai acak independen untuk setiap input yang mungkin. Penggunaan ini "model oracle acak" untuk membuktikan keamanan tetap kontroversial dalam kriptografi. Terlepas dari posisi seseorang dalam perdebatan ini, alasan tentang cara mengurangi sifat keamanan yang kami inginkan dalam aplikasi kami untuk sifat fundamental primitif yang mendasari adalah latihan intelektual yang berharga untuk membangun sistem yang aman. Presentasi kami dalam bab ini dirancang untuk membantu Anda mempelajari keterampilan ini.

SHA-256 menggunakan fungsi kompresi yang membutuhkan input 768-bit dan menghasilkan output 256-bit. Ukuran blok adalah 512 bit. Lihat Gambar 1.3 untuk gambaran grafis tentang cara kerja SHA-256.

Kami telah membicarakan tentang fungsi hash, fungsi hash kriptografi dengan sifat khusus, aplikasi dari sifat tersebut, dan fungsi hash spesifik yang kami gunakan dalam Bitcoin. Pada bab berikutnya, kita membahas cara menggunakan fungsi hash untuk membangun struktur data yang lebih rumit yang digunakan dalam sistem terdistribusi seperti Bitcoin.







Catatan kaki

1. nonce (angka acak antara 1-2256) https://googleweblight.com/i?u=https://www.pcplus.co.id/2014/01/tutorial/apa-itu-penambang-bitcoin/&hl=id-ID

2. Collision resistance ( Secara harfiah, collision-resistance ini berarti tahan saat terjadi benturan atau bertabrakan. Collision atau benturan ini terjadi jika dua input yang berbeda dan terpisah menghasilkan output yang sama. Fungsi hash H (.)menjadi collision-resistance, jika tidak ada yang menemukan collision
Sumber https://edukasibitcoin.com/amp/fungsi-hash-kriptografi-1/

3. Kriptografi adalah ilmu yang mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, keabsahan data, integritas data, serta autentikasi data .
Kriptografi dapat pula diartikan sebagai ilmu atau seni untuk menjaga keamanan pesan.
Sumber http://asalkena.blogspot.com/2012/11/pengertian-dan-contoh.html?m=1

4. Min entropi adalah ukuran dari beberapa hasil prediksi.
Sumber : https://www.google.co.id/amp/s/edukasibitcoin.com/amp/hiding-sifat-tambahan-kedua/

5. Fungsi hash adalah suatu fungsi yang berguna untuk mengkompresi/memperkecil sebuah string  yang panjang menjadi sebuah string yang lebih pendek.
Sumber : https://www.google.co.id/amp/s/stsn6.wordpress.com/2009/10/15/konsep-fungsi-hash-function-pada-aplikasi-kriptografi/amp/

6. Alogaritma : pada dasarnya adalah susunan logis dan sistematis yang digunakan untuk memecahkan atau pun menyelesaikan suatu permasalahan tertentu
Sumber : https://pengertiandefinisi.com/pengertian-algoritma-dalam-dunia-pemrograman-komp
legendary
Activity: 2170
Merit: 1789
Reserve spot untuk analisis translasi #2


Penerapan : Commitments (Komitmen / Janji / Perjanjian)

Sekarang mari lihat pada sebuah penerapan dari sifat hiding. Secara  khusus, apa yang ingin kita lakukan adalah sesuatu yang disebut commitment. Sebuah commitment adalah analogi digital dalam mengambil sebuah nilai, menyimpannya dalam sebuah amplop, dan meletakkan amplop tersebut di atas meja dimana semua orang dapat melihatnya. Ketika kamu melakukannya, kamu telah berkomitmen pada dirimu sendiri terhadap isi yang ada di dalam amplop. Namun kamu masih belum membukanya, jadi meskipun kamu telah berjanji pada sebuah nilai, nilai tersebut masih menjadi rahasia  bagi orang lain. Nantinya, kamu dapat membuka amplop tersebut dan mengungkapkan nilai yang telah kamu janjikan diawal.

Skema commitment. Sebuah skema commitment terdiri dari 2 alogaritma :
com := commit (msg, nonce) Fungsi dari commit ialah mengambil sebuah message (pesan) dan nilai acak yang rahasia, disebut nonce, sebagai input (masukan) dan menghasilkan commitment.
Verify (com, msg, nonce) Fungsi dari verify ialah mengambil sebuah commitment, nonce, dan message sebagai input. Hasilnya akan true (benar) jika com == commit (msg, nonce) dan false (salah) jika kebalikannya.
• Hiding: pemberian com, menjadi tidak mampu / tidak bisa untuk mencari msg.
• Binding: Ini tidak mampu untuk menemukan dua pasangan (msg, nonce) dan (msg′, nonce′) sama seperti msg ≠ msg′ dan commit(msg, nonce) == commit(msg′, nonce′).

Untuk menggunakan sebuah skema commitment, kita ita perlu membuat sebuah nonce acak terlebih dahulu. Kemudian kita terapkan fungsi commit terhadap nonce ini bersamaan dengan msg, nilainya juga di commit, lalu kita mempublikasikan komitmen com. Tahap ini dianalogikan sebagai meletakkan amplop yang tertutup di atas meja. Pada poin selanjutnya, jika kita ingin mengungkapkan nilai yang telah kita commit-kan diawal, kita munculkan nonce acak yang telah kita gunakan untuk membuat commitment ini, beserta pesan, msg. Sekarang setiap orang dapat memastikan bahwa pesan / msg tersebut merupakan pesan yang telah dijanjikan di awal. Tahap ini dianalogikan sebagai membuka amplop.

Setiap kali kamu melakukan commit pada sebuah nilai, penting bagi kamu untuk memilih sebuah nilai nonce acak yang baru. Pada kriptografi, istilah nonce digunakan untuk merujuk pada sebuah nilai yang hanya dapat digunakan satu kali saja.

Dua sifat keamanan tersebut memerintahkan alogaritma yang sebenarnya sama seperti menutup dan membuka amplop. Pertama, pemberian com yaitu commitment, seseorang yang melihat amplop tersebut tidak dapat menebak apa isi pesan di dalamnya. Sifat yang kedua yaitu binding. Ini memastikan bahwa ketika kamu melakukan commit (berjanji) tentang apa yang ada di dalam amplop, kamu tidak dapat mengubahnya dikemudian waktu. Maka dari itu, menjadi tidak mungkin untuk mencari 2 (dua) pesan yang berbeda, sama seperti ketika kamu berjanji pada satu pesan, namun dikemudian waktu kamu mengatakan bahwa kamu berjanji dengan pesan yang lain.

Jadi bagaimana kita tahu bahwa 2 (dua) sifat ini ada? Sebelum kita dapat menjawab pertanyaan ini, kita perlu membahas bagaimana kita akan mengimplementasikan skema komitmen / perjanjian secara aktual. Kita dapat melakukannya dengan menggunakan sebuah fungsi kriptografi hash. Dengan mempertimbangkan skema komitmen berikut ini: commit (msg, nonce) := H (nonce || msg), dimana nonce adalah sebuah nilai 256-bit yang acak.

Untuk melakukan / memberikan commit pada sebuah pesan, kita buat sebuah nonce 256-bit yang acak. Kemudian kita gabungkan nonce tersebut dengan pesan agar hash dari hasil penggabungan ini bernilai sebagai sebuah commitment. Untuk memastikan, seseorang akan menghitung hash yang sama dari nonce yang telah mereka gabungkan dengan pesan. Lalu kemudian mereka akan mengecek apakah hasilnya sama dengan komitmen yang telah mereka lihat.

Lihat juga pada 2 (dua) sifat yang dibutuhkan dari skema commitment kita. Jika kita mengganti instansiasi commit dan memastikannya sebagai H (nonce || msg) untuk com, maka sifat ini menjadi:
• Hiding: pemberian H (nonce || msg), tidak mampu untuk mencari msg.
• Binding: Hal ini tidak mampu untuk menemukan 2 (dua) kesamaan (msg, nonce) dan (msg', nonce') sama seperti msg ≠ msg′ dan H(nonce ‖ msg) == (nonce′ ‖ msg′).

Sifat hiding dari commitment sebenarnya merupakan sifat hiding yang kita butuhkan untuk fungsi hash kita. Jika key (kunci) yang telah dipilih sebagai sebuah nilai 256-bit yang acak, kemudian sifat hiding menunjukkan bahwa kita telah melakukan hash pada penggabungan dari kunci dan pesan, maka itu menjadi tidak mampu untuk mengembalikan pesan dari output hash. Dan itu berbalik bahwa sifat binding tersebut telah tersirat oleh fungsi hash yang didasari oleh sifat kebal tumbukan. Jika fungsi hash tersebut kebal tumbukan, maka hal itu akan menjadi tidak mampu untuk mencari nilai msg dan msg'yang berbeda dimana H (nonce || msg) == H (nonce' || msg'), karena memang nilai-nilai tersebut akan berpotensi menjadi sebuah tumbukan. (Perlu diingat bahwa implikasi sebaliknya tidak berlaku. Dengan demikian, itu memungkinkanmu untuk dapat mencari tumbukan, tapi tidak dari mereka merupakan bentuk dari H(nonce ‖ msg) == H(nonce′ ‖ msg′). Sebagai contoh, jika kamu hanya dapat mencari sebuah tumbukan ditempat dimana 2 (dua) nonce yang berbeda membuat commitment yang sama untuk pesan yang sama, maka skema commitment masih tetap binding, namun fungsi hash tersebut bukanlah fungsi hash yang didasari oleh hash yang kebal tumbukan.

Oleh karena itu, jika H adalah fungsi hash yang keduanya memiliki sifat anti tumbukan dan hiding, skema commitment ini akan bekerja, dalam artian ia akan memiliki sifat keamanan yang diperlukan.
 
Sifat 3: Puzzle Friendliness (Teka-Teki Keramahan / Mudah)
Sifat keamanan ketiga yang kita butuhkan dari fungsi hash adalah Puzzle Friendly. Sifat ini sediki rumit. Pertama kita jelaskan persyaratan apa yang dibutuhkan oleh sifat ini lalu kemudian memberikan penerapan yang menggambarkan mengapa sifat ini berguna.
Puzzle Friendliness. Sebuah fungsi hash H dapat dikatakan memiliki sifat Puzzle friendly jika untuk setiap kemungkinan output n-bit bernilai y, jika k dipilih dari sebuah pembagian dengan min-entropy yang tinggi, maka tidak mungkin untuk menemukan x sedemikian rupa sehingga H(k || x) = y dalam waktu yang signifikan kurang dari 2n.
Artinya, jika seseorang ingin menargetkan fungsi hash agar memiliki beberapa output tertentu bernilai y, dan jika bagian dari input telah dipilih dengan cara yang acak, maka menjadi sangat sulit untuk menemukan nilai lain yang sama persis seperti target tersebut.
 
Penerapan : Mencari Puzzle (teka-teki)
Mari kita mempertimbangkan sebuah penerapan yang menggambarkan kegunaan dari sifat ini. Pada penerapan kali ini, kita akan membangun sebuah puzzle pencari, sebuah masalah matematika yang membutuhkan pencarian ruang yang sangat besar untuk menemukan solusi / jawaban. Secara khusus, sebuah puzzle pencari tidak memiliki jalan pintas. Artinya tidak ada jalan untuk menemukan solusi / jawaban yang valid / sah selain mencari ruang besar tersebut.
Puzzle pencari. Sebuah puzzle pencari terdiri dari
• Sebuah fungsi hash, H
• Sebuah nilai, id (yang kita sebut puzzle-id) yang dipilih dari pembagian min-entropy yang tinggi, serta
• Sebuah target yang ditetapkan sebagai Y.
Sebuah solusi / jawaban terhadap puzzle / teka-teki ini adalah sebuah nilai, x, seperti itu.

Intuisinya seperti ini, jika H memiliki sebuah hasil n-bit, maka itu bisa mengambil nilai 2n yang mana saja. Memecahkan teka-teki tersebut membutuhkan pencarian sebuah masukan sedemikian rupa sehingga hasil tersebut berada di himpunan Y, yang biasanya sangat lebih kecil daripada himpunan dari semua hasil. Ukuran dari Y menentukan betapa sulitnya puzzle tersebut. Jika Y merupakan himpunan dari seluruh n-bit strings, maka puzzle tersebut sepele / mudah, sedangkan jika Y hanya memiliki satu elemen, maka puzzle ini sangatlah sulit. Itulah mengapa puzzle ID yang memiliki min-entropy yang tinggi memastikan agar tidak ada jalan pintas. Sebaliknya, jika sebuah nilai tertentu dari ID memungkinkan, maka seseorang akan berbuat curang, katakanlah dengan menghitung terlebih dahulu jawaban terhadap teka-teki dengan ID tersebut.

Jika sebuah fungsi hash merupakan puzzle yang mudah, maka tidak ada strategi pemecahan masalah terhadap puzzle ini yang jauh lebih baik daripada mencoba nilai acak dari x. Dan juga, jika kita ingin membuat puzzle yang sulit untuk dipecahkan, kita dapat melakukan cara ini selama kita dapat membuat beberapa puzzle-ID dengan cara acak yang sama. Kita akan menggunakan ide ini nanti, ketika kita berbicara tentang penambangan bitcoin. Berawal di Bagian 2—penambangan juga merupakan bagian puzzle yang terkomputerisasi (dapat dihitung)
 
SHA-256

Kita telah membahas tentang 3 (tiga) fungsi dari fungsi hash beserta penerapannya. Sekarang mari membahas sebuah fungsi hash tertentu yang akan banyak kita gunakan pada buku ini. Banyak terdapat fungsi hash, namun yang satu ini merupakan fungsi yang Bitcoin gunakan secara utama, dan ini cukup bagus untuk digunakan. Fungsi ini bernama SHA-256.

Perlu diingat bahwa kita membutuhkan fungsi hash kita dapat bekerja pada jarak input yang berubah-ubah. Untungnya, selama kita dapat membuat suatu fungsi hash yang bekerja pada jarak input yang tetap, ada metode umum untuk mengubahnya menjadi fungsi hash yang dapat bekerja pada jarak input yang berubah-ubah. Metode ini disebut Merkle-Damgård transform. SHA-256 merupakan salah satu dari sekian banyak fungsi hash umum yang menggunakan metode ini. Dalam terminologi umum, fungsi hash kebal tumbukan yang berdasarkan pada jarak yang tetap disebut compression function (fungsi kompresi). Hal itu telah teruji bahwa jika fungsi kompresi tersebut didasari dengan sifat kebal tumbukan, maka keseluruhan fungsi hash juga menjadi kebal terhadap tumbukan.

Metode Merkle-Damgård (Merkle-Damgård transform) ini cukup sederhana. Anggaplah bahwa compression function (fungsi kompresi) mengambil panjang input m dan menghasilkan suatu output panjang yang lebih pendek dari n. Input terhadap fungsi hash tersebut, dapat berukuran berapa saja, kemudian dibagi menjadi beberapa blok dengan panjang m - n. Proses kerjanya sebagai berikut : melewati setiap blok bersamaan dengan output dari blok sebelumnya menuju ke compression function. Perhatikan bahwa panjang input akan menjadi (m - n) + n = m, yang merupakan panjang input untuk compression function. Untuk blok pertama, dimana tidak ada output dari blok sebelumnya, kami menyarankan menggunakan sebuah initialization vector (vektor inisialisasi) (IV pada bagan 1.3). Jumlah ini akan digunakan lagi untuk setiap panggilan ke fungsi hash, dan pada prakteknya kamu dapat mencarinya pada berkas standar. Hasil dari blok terakhir adalah hasil yang kamu kembalikan.
 


Bagan 1.3. Fungsi hash SHA-256 (disederhanakan).
SHA-256 mengunakan Merkle-Damgård transform untuk merubah sebuah fungsi kompresi kebal tumbukan dengan jarak tetap menjadi fungsi hash yang dapat menerima input dengan jarak yang berubah-ubah. Input tersebut telah diisikan, sehingga jaraknya menjadi kelipatan 512 bits. IV adalah singkatan dari initialization vector.

Mendesain Fungsi Hash
Fungsi hash memiliki kriptografi seperti pisau Swiss Army: mereka mencari tempat dimana penggunaannya dapat sebagai berbagai macam fungsi yang spektakuler. Bagian lain dari ke fleksibelannya ini ialah bahwa perbedaan / keragaman kegunaan membutuhkan sedikit sifat berbeda dari fungsi hash untuk memastikan keamanan. Telah banyak yang membuktikan tentang hal ini bahwa sangatlah sulit untuk menandai sebuah daftar dari fungsi sifat hash yang hasil keamanannya telah teruji diseluruh bidang.
Pada tulisan ini, kita telah memilih 3 (tiga) sifat yang krusial terhadap fungsi hash yang digunakan pada Bitcoin dan mata uang kripto yang lain. Meskipun begitu, tidak semua sifat ini diperlukan untuk setiap penggunaan fungsi hash. Sebagai contoh, puzzle friendliness hanya penting di pertambangan bitcoin, seperti yang akan kita lihat.
Para perancang sistem keamanan sering menyerah dan mendesain fungsi hash sebagai fungsi yang menghasilkan sebuah nilai acak yang berdiri sendiri pada setiap input yang memungkinkan. “Random Oracle Model” (Desain ramalan acak) ini digunakan untuk membuktikan keamanan dari sisa masalah yang ada di kriptografi. Terlepas dari perdebatan satu arah ini, alasan tentang bagaimana cara untuk mengurangi sifat keamanan yang kita inginkan pada penerapan kita terhadap sifat fundamental yang didasari sifat primitif ialah sebuah pelatihan intelektual yang berharga untuk membangun sistem keamanan. Presentasi kita pada bagian ini didesain untuk membantumu mempelajari keterampilan ini.

SHA-256 menggunakan sebuah compression function yang mengambil input 768-bit dan menghasilkan output 256-bit. Ukuran bloknya 512 bits. Lihat bagan 1.3 sebagai gambaran bagaimana SHA-256 bekerja.
 
Kita telah membahas tentang fungsi hash, fungsi hash kriptografi dengan sifat yang spesial, aplikasi / penerapan dari sifat tersebut, dan fungsi hash tertentu yang kita gunakan dalam Bitcoin. Pada bagian selanjutnya, kita akan membahas cara penggunaan fungsi hash untuk membangun struktur data yang lebih rumit yang digunakan dalam sistem distribusi seperti Bitcoin.


Catatan Kaki
1.   Instantiation adalah sebuah penciptaan dari sebuah contoh nyata dari sebuah realisasi abstrak seperti penggolongan objek atau proses computer.
http://whatis.techtarget.com/definition/instantiation
2.   Fungsi hash adalah fungsi matematis yang mengubah nilai input numeric menjadi nilai numeric yang terkompresi.
http://www.immersa-lab.com/fungsi-hash-dalam-kriptografi.htm
3.   Pengertian min-entropy adalah cara yang paling konservatif dalam mengukur ketidakpastian dari suatu hasil.
https://en.wikipedia.org/wiki/Min_entropy
4.   Kriptografi dapat didefinisikan sebagai ilmu dan pelajaran untuk tulisan rahasia dengan pertimbangan bahwa komunikasi dan data dapat dikodekan untuk mencegah dari mata-mata atau orang lain yang ingin mengetahui isinya.
http://www.sarjanaku.com/2012/11/pengertian-kriptografi-definisi.html
5. Infeasible dapat didefinisikan sebagai tidak mampu, tidak mungkin, mustahil
https://artikata.com/arti-95553-infeasible.html
6. Concatenate untuk menggabungkan dua atau beberapa string teks menjadi satu string.
https://support.office.com/id-id/article/concatenate-fungsi-concatenate-8f8ae884-2ca8-4f7a-b093-75d702bea31d
7. Pengertian algoritma pada dasarnya adalah susunan logis dan sistematis yang digunakan untuk memecahkan atau pun menyelesaikan suatu permasalahan tertentu.
https://pengertiandefinisi.com/pengertian-algoritma-dalam-dunia-pemrograman-komputer/
8. Bit adalah satuan unit data terkecil dalam komputasi digital yang pada dasarnya terdiri dari satu digit biner (bisa berupa nilai 0 ataupun 1)
http://www.votecamejo.com/technology/bit-dan-byte-pengertian-serta-cara-membedakan/
9. Arti implementasi menurut KBBI (Kamus Besar Bahasa Indonesia) yaitu pelaksanaan / penerapan. Sedangkan pengertian umum adalah suatu tindakan atau pelaksana rencana yang telah disusun secara cermat dan rinci (matang).
https://alihamdan.id/implementasi/
10. String pada dasarnya adalah kumpulan dari karakter-karakter (karakter bertipe data char)
http://hwsmartsolution.com/blog/2016/02/27/pengertian-string-dan-contoh-program-menampilkan-string-pada-c/
11. Kata elemen berasal dari kata Latin elementum yang berarti "bagian-bagian dasar yang mendasari sesuatu"
https://id.wikipedia.org/wiki/Elemen


legendary
Activity: 2170
Merit: 1789
Reserve spot untuk analisis translasi #1.



#Partisipasi Challenge

Nama akun: antonio88s
Challenge yang diikuti: Kontribusi di Thread Edukasi Bitcoin
Jawaban:

APPLICATION: COMMITMENS

Sekarang, mari kita lihat kepada sebuah aplikasi dari sifat hiding. Secara khusus, yang ingin kita lakukan adalah sesuatu yang disebut dengan komitmen. Komitmen adalah analog digital yang mengambil sebuah nilai, lalu menyegelnya kedalam sebuah amplop, dan menaruh amplop tersebut pada meja dimana semua orang dapat melihatnya. Ketika kalian melakukan itu, kalian telah berkomitmen kepada diri kalian sendiri tentang apa isi/nilai dalam amplop itu. Sedangkan kalian belum pernah membuka amplop itu. Meskipun kalian telah berkomitmen kepada isi/nilainya, isi/nilai tersebut akan tetap bersifat rahasia dari semua orang. Setelah itu, kalian dapat membuka amplop itu dan membuka isi/nilai yang sebelumnya kalian telah berkomitmen terhadapnya.

Skema komitmen. Skema komitmen terdiri dari dua algoritma:
•   com: commit(msg, nonce) Fungsi komit mengambil sebuah pesan dan nilai acak rahasia, yang disebut nonce, yg menjadi sebuah input dan menghasilkan sebuah komitmen.
•   verify(com, msg, nonce) Fungsi verifikasi mengambil sebuah komitmen, nonce, dan pesan sebagai sebuah input. Hal tersebut menghasilkan nilai benar apabila com == commit(msg, nonce) dan salah apabila memiliki kondisi sebaliknya.

Kita memerlukan dua sifat keamanan ini harus ada dan bertahan:
•   Hiding: Diberikan oleh com, hal ini tidak mungkin untuk menemukan msg.
•   Binding: Hal ini tidak dapat untuk menemukan dua pasang (msg, nonce) dan (msg’, nonce’) seperti msg != msg dan commit(msg, nonce) == commit(msg’, nonce’).

Untuk menggunakan skema komitment, kita pertama perlu mengadakan sebuah nonce yang acak. Setelah itu, kita menerapkan fungsi komit untuk nonce ini bersama-sama dengan msg, nilainya telah dikomit juga, dan kita menerbitkan komitmen com. Tahap ini andaikan menaruh amplop yang tersegel ke meja. Kemudian, apabila kita ingin untuk membuka nilai yang dimana kita telah berkomitmen sebelumnya, kita mempublikasikan nonce yang acak yang kita gunakan sebelumnya untuk menciptakan komitmen ini, dan pesan, msg. Sekarang semua orang dapat memverifikasi msg itu yang memang telah komit sebelumnya. Tahap ini andaikan membuka sebauh amplop.

Setiap kali kalian komit sebuah nilai, penting diingat bahwa kalian harus memilih sebuah nonce acak yang baru. Dalam kriptografi, nonce yang digunakan dalam sebuah nilai hanya dapat digunakan sekali saja.

Dua sifat keamanan tersebut mengharuskan bahwa algoritma harus bertindak seperti menyegel amplop dan membuka amplop. Pertama, memberikan com, sebuah komitment, sehingga seseorang yang melihat amplop tersebut tidak bisa melihat apa pesannya. Sifat kedua sebagai pengikat. Hal ini memastikan bahwa ketika kalian komit dengan apa yang ada di dalam amplop, kalian tidak dapat merubahnya kemudian. Hal ini membuat tidak bisa menemukan dua pesan yang berbeda, sehingga kalian hanya dapat komit pada satu pesan saja dan kemudian mengklaim pesan lain yang telah di komit.


Jadi, bagaimana kita tahu bahwa dua sifat ini ada ? Sebelum kita menjawab ini, kita perlu mendiskusikan bagaimana kita akan mengimplementasikan skema komitmen. Kita dapat melakukannya dengan menggunakan fungsi hash kriptografi. Berdasarkan dengan skema berikut:
commit(msg, nonce) := H(nonce || msg),
dimana nonce adalah 256-bit nilai acak

Untuk komit terhadap sebuah pesan, kita adakan sebuah 256-bit nonce acak. Lalu kita gabungkan nonce dan pesan dan menghasilkan hash dari gabungan nilai tersebut menjadi sebuah komitmen. Untuk memverifikasi, seseorang akan menghitung hash yang sama dari nonce yang mereka berikan dari gabungan dengan pesan. Dan mereka akan mengecek apakah hasilnya sesuai dengan komitmen yang mereka lihat.

Mari kita lihat pada dua sifat yang memerlukan skema komitmen. Jika kita mengganti fakta yang menghasilkan komit dan memverifikasi seperti halnya H(nonce || msg) untuk com. Maka sifat ini akan terjadi:
•   Hiding: Pemberian H(nonce || msg), ini tidak mungkin untuk menemukan msg.
•   Binding: Ini tidak mungkin untuk menemukan dua pasang (msg, nonce) dan (msg’, nonce’) sedemikian hingga msg != msg’ dan H(nonce || msg) == (nonce’ || msg’).

Sifat hiding dari komitmen ini sebenarnya adalah sifat hiding yang kita perlukan untuk fungsi hash. Jika key yang dipilih menggunakan 256-bit nilai acak, maka sifat hiding menjelaskan bahwa jika kita memiliki gabungan dari key dan pesan, maka ini tidak mungkin untuk mengembalikan pesan dari output hash. Dan ternyata sifat binding terimplikasi dari sifat collision-resistance oleh fungsi hash. Apabila fungsi hash kebal tumbukan, maka ini tidak mungkin untuk menemukan nilai yang berbeda dari msg dan msg’ sedemikian hingga H(nonce || msg) = H(nonce’ || msg’), karena nilai-nilai seperti itu akan menjadi tumbukan. (Perhatikan bahwa implikasi terbalik tidak akan terjadi. Artinya, ini tidak mungkin kita menemukan tumbukan, tapi tidak ada satupun dari itu yang berbentuk H(nonce || msg) == H(nonce’ || msg’). Misalnya, apabila kita hanya dapat menemukan tumbukan dimana dua nonce berbeda menghasilkan komitmen yang sama untuk pesan yang sama, maka skema komitmen akan tetap binding, tetapi fungsi hash bukan kebal tumbukan).

Oleh karena itu, jika H adalah fungsi hash dimana kebal tumbukan dan hiding, skema komitmen ini akan bekerja, dalam artian bahwa itu akan memiliki sifat keamanan yang diperlukan.

Sifat 3: Puzzle Friendliness

Sifat keamanan yang ketiga yang kita perlukan dari fungsi hash adalah puzzle friendly. Sifat ini sedikit rumit. Pertama, kita akan menjelaskan tentang kebutuhan teknis dari sifat ini dan kemudian memberikan penerapan yang mengilustrasikan kenapa sifat ini diperlukan.
Puzzle friendliness. Sebuah fungsi hash H dikatakan puzzle friendly apabila setiap kemungkinan output n-bit bernilai y, jika k dipilih dari distibusi min-entropy tinggi, maka tidak mungkin untuk menemukan x sehingga  H(k || x) = y pada waktu yang signifikan kurang dari 2n.
Secara nalar, apabila seseorang ingin memiliki target bahwa fungsi hash harus memiliki output tertentu nilai y, dan bagian dari input itu dipilih dari cara acak, maka ini akan sangat sulit untuk menemukan nilai lain yang sepenuhnya memenuhi target.

Aplikasi: Search Puzzle
Mari kita tilik penerapan yang menggambarkan kegunaan dari sifat ini. Pada penerapan ini, kita akan membuat search puzzle, sebuah permasalahan perhitungan yang membutuhkan ruang besar untuk menemukan solusinya. Secara khusus, sebuah search puzzle tidak memiliki jalan pintas. Yang artinya, tidak ada cara untuk menemukan sebuah solusi yang tepat selain mencari pada ruang yang besar.
Search puzzle. Sebuah search puzzle terdiri dari
•   Sebuah fungsi hash, H,
•   Sebuah nilai, id (dimana kita menyebutnya puzzle-ID), dipilih dari distribusi min-entropy tinggi, dan
•   Sebuah target Y.
Sebuah solusi untuk puzzle ini adalah nilai, x, seperti yang

Pemahamannya adalah: jika H memiliki output n-bit   , maka dapat mengambil apapun nilai-nilai 2n. Untuk memecahkan puzzle ini diperlukan untuk menemukan input sehingga output bisa termasuk dalam set Y, yang biasanya lebih kecil dari semua kumpulan output. Ukuran dari Y menentukan sesulit apa puzzle ini. Apabila Y adalah kumpulan dari semua string n-bit, maka puzzle akan mudah, namun apabila Y hanya memiliki satu elemen, maka puzzle akan sangat sulit. Puzzle ID memiliki min-entropy tinggi untuk memastikan bahwa tidak akan ada jalan pintas. Sebaliknya, apabila nilai tertentu dari ID mirip, maka seseorang dapat berbuat curang, misalnya, dengan menghitung terlebih dengan ID itu untuk menemukan solusi dari puzzle.

Apabila fungsi hash ini puzzle friendly, maka tidak ada strategi pemecahan yang lebih baik dari puzzle ini selain hanya mencoba nilai acak x. Dan, jika kita ingin membuat puzzle yang sulit untuk dipecahkan, kita dapat menggunakan cara ini selama kita bisa menghasilkan puzzle-ID dengan cara acak. Kita akan menggunakan cara ini nanti, ketika kita membicarakan tentang menambang Bitcoin, dimulai dari bagian 2- menambang adalah kependekan dari komputasi puzzle.

SHA-256

Kita telah berdiskusi tida sifat dari fungsi hash dan satu aplikasi dari setiap sifat ini. Sekarang mari kita bahas fungsi hash yang akan sering kita gunakan dalam buku ini.
Ada banyak fungsi hash, namun ini paling utama digunakan oleh Bitcoin, dan ini sangat bagus untuk digunakan. Disebut SHA-256.

Perlu diingat bahwa kita memerlukan fungsi hash kita dapat bekerja dalam input dengan panjang tertentu. Selama kita dapat membuat fungsi hash yang bekerja pada input yang memiliki panjang tetap, maka ada sebuah metode yang untuk mengubahnya menjadi fungsi hash yang berkeja pada input dengan pajang tertentu. Ini disebut dengan transformasi Merkle-Damgard. SHA-256 adalah salah satu fungsi hash yang sering digunakan dalam metode ini. Dalam terminology umum, panjang yang tetap dari fungsi hash yang kebal tumbukan disebut fungsi kompresi. Ini telah dibuktikan bahwa apabila fungsi kompresi kebal tumbukan, maka fungsi hash secara keseluruhan akan kebal tumbukan juga.

Transformasi Merkle-Damgard sangat sederhana. Fungsi kompresi mengambil input dengan panjang m dan menghasilkan output dengan panjang n yang lebih kecil. Input untuk fungsi hash tersebut, dapat dalam berbagai ukuran, kemudian dibagi dalam blok-blok dengan panjang m –n. Cara kerjanya adalah sebagai berikut: pindahkan setiap blok bersamaan dengan output dari blok sebelumnya kedalam fungsi kompresi. Perhatikan bahwa panjang input akan menjadi (m - n) +m = m, yang merupakan panjang input untuk fungsi kompresi. Untuk blok pertama, yang sebelumnya tidak ada output dari blok sebelumnya, kita menggunakan initialization vector (IV pada gambar 1.3). Angka ini akan kembali digunakan untuk setiap pemanggilan fungsi hash, dan pada penerapannya kita dapat melihat dalam standard dokumen.
Outpur dari blok terakhir adalah hasilnya



Gambar 1.3. Fungsi hash SHA-256 (sederhana). SHA-256 digunakan oleh transformasi Merkle-Damgard untuk membalik panjang tetap fungsi kompresi yang kebal tumbukan menjadi fungsi hash yang dapat menerima panjang input tertentu. Input memiliki panjang kelipatan dari 512 bits. IV memiliki arti initialization vector.



Pengandaian Fungsi Hash
Fungsi Hash diandaikan pisau Swiss Army dalam kriptografi: mereka menemukan tempat pada setiap penerapan. Sisi lain dari berbagai kegunaan ini adalah penerpan yang berbeda memerlukan sifat yang berbeda dari fungsi hash untuk menjamin keamanan. Ini telah dibuktikan bahwa sangat sulit untuk menjabarkan sifat fungsi hash yang akan menghasilkan keamanan yang telah terbukti di seluruh penggunaan.
Dalam buku ini, kita memilih tiga sifat yang sangat krusial yang digunakan oleh fungsi hash pada Bitcoin dan cryptocurrencies lain. Tidak semua sifat dari fungsi hash dibutuhkan. Sebagai contoh, puzzle friendliness hanya digunakan untuk menambang Bitcoin seperti yang kita lihat.
Desain dari system yang aman sering kali sering dibuang dan model fungsi hash sebagai fungsi yang menghasilkan nilai acak yang independen dari setiap kemungkinan inputan. Kegunaan dari “random oracle model” ini adalah untuk membuktikan bahwa keamanan masih kontroversial dalam kriptografi. Terlepas dari dimana sisi dari debat ini, pembahasan ini digunakan untuk membangun sistem yang aman. Presentasi dalam bagian ini ditujukan agar dapat membantu untuk mempelajari tentang keahlian ini.



SHA-256 menggunakan fungsi kompresi yang mengambil input 768-bit dan menghasilkan output 256-bit. Ukuran blok adalah 512 bits. Lihat pada gambar 1.3 untuk gambaran bagaimana SHA-256 bekerja.

Kita telah membicarakan tentang fungsi hash, fungsi hash kriptografi dengan sifat khusus, penerapan untuk sifat tersebut, dan fungsi hash khusus yang kita gunakan dalam Bitcoin. Pada bagian selanjutnya, kita akan berdiskusi cara menggunakan fungsi hash untuk membangun struktur data yang lebih rumit yang digunakan dalam system distribusi seperti bitcoin.

Fungsi hash adalah suatu fungsi yang berguna untuk mengkompresi/memperkecil sebuah string  yang panjang menjadi sebuah string yang lebih pendek.
Sumber : https://stsn6.wordpress.com/2009/10/15/konsep-fungsi-hash-function-pada-aplikasi-kriptografi/  
member
Activity: 168
Merit: 24
#Partisipasi Challenge #1 Batch #2
Nama akun : [Gembul0705]
Link profile : [ https://bitcointalksearch.org/user/gembul0705-1943440 ]
Sudah diapprove via pm? :Ya
jr. member
Activity: 112
Merit: 5
#Partisipasi Challenge #1 Batch #2
Nama akun : sulwan2612
Link profile : https://bitcointalksearch.org/user/sulwan2612-1943125
Sudah diapprove via pm? :Ya
member
Activity: 112
Merit: 15
#Partisipasi Challenge #1 Batch #2
Nama akun : iwanirawan
Link profile : https://bitcointalksearch.org/user/iwanirawan-1942189
Sudah diapprove via pm? :Ya
legendary
Activity: 2170
Merit: 1789
Quick update!

Hasil analisis partisipasi challenge #5 telah direview dan disetejui oleh moderator. Semua member yang dinilai layak mendapatkan merit telah dikirimi merit sesuai dengan jumlah yang dinilai layak. Challenge #5 akan dipersiapkan untuk batch #2.

Stay tuned.
legendary
Activity: 2170
Merit: 1789
Hasil analisis partisipasi challenge #5 - Reviews confirmed.



Pertanyaan #1: Bitcoin menggunakan algoritma enkripsi SHA256 untuk melakukan hash pada tiap bagian blockchain, dengan tiap block dilakukan fungsi hash sebanyak 2 kali. Mengapa demikian?

Untuk menjawab pertanyaan ini, setidaknya ada satu poin penting yang perlu dijelaskan oleh partisipan, yaitu mengapa satu kali hash tidak cukup dan sebabnya apa. Alasan generik biar lebih aman dan sejenisnya kurang cukup karena itu tidak menjelaskan memangnya satu kali apa masih kurang aman. Setidak-tidaknya agan-agan harus bisa menjelaskan kelemahan SHA-256 (dalam hal ini adalah adanya length-extension attacks) sehingga diperlukan adanya hashing sebanyak dua kali (atau SHA-256D) untuk memperkuat agar hash tidak mudah dijebol. Akan sangat lebih baik apabila sampai menjelaskan analisis praktikal mengenai perbandingan probabilitas waktu dan sumber daya yang diperlukan untuk melakukan length-extension attacks apabila hanya dilakukan hashing sebanyak satu kali dengan dua kali.

Quote from: 5/3/2018 22:27:03   evilsign   https://bitcointalksearch.org/user/evilsign-1031765
   
Ya supaya aman, tidak terjadi duplikasi transaksi. Ini sudah rancangan dari pak satoshinya. Kalau tidak salah sebenarnya sha256 itu adalah algorithma umum di dunia komputer. Sedangkan untuk bitcoin itu sendiri harusnya disebut SHA256D, D itu berarti Double. Di forum luar saya biasa nemuin istilah double sha256

Jawaban kurang tepat. Tidak menjawab masalah intinya dan terkesan normatif.

Quote from: 5/4/2018 15:21:45   abhiseshakana   https://bitcointalksearch.org/user/abhiseshakana-1878246
1. Dengan adanya fungsi hash sebanyak dua kali, membuat Sha256 lebih kuat untuk menahan Force brute attack (metode peretasan password). Karena dengan adanya 2x hash, peretasan yang masuk akan lebih susah untuk memecahkan kombinasi dari Sha256 itu sendiri.
2. Untuk hash yang kedua mempunyai ukuran yang lebih pendek (nilai yg lebih kecil), sehingga input yang diterima dapat diproses dengan cepat. Sehingga secara keseluruhan proses implementasi mudah dilakukan jika dibandingkan dengan algoritma single hash.

1. Walaupun menyebutkan salah satu jenis serangan kriptografi, akan tetapi tidak menyebutkan jawaban yang tepat (atau mendekati). Brute-force dengan length-extension attack itu berbeda.
2. Sepertinya agan keliru. Karena ada dua lapis hash, maka implementasi dua-kali hash ini justru secara praktik lebih memperlama/mempersulit karena data yang masuk harus dienkripsi sebanyak dua kali. Dengan demikian kalau masalah utamanya adalah kemudahan dalam melakukan hashing maka seharusnya yang dipilih adalah hash sebanyak satu kali saja tanpa pengulangan.

Quote from: 5/7/2018 5:31:17   Protogenox   https://bitcointalksearch.org/user/protogenox-1807878
Karena pada saat satoshi menciptakan bitcoin, encrypt type sha256 lah saat itu yang paling aman maka beliau memlih itu dan kenapa di enkripsi 2 kali, alasan pertama adalah security/keamanan,  jika hanya di hash sekali kemudian mampu di decrypt maka ini akan membahayakan pengguna namun jika dihash 2 kali fungsi hash tidak akan mudah di decrypt atau fungsi hash tidak akan tertutup maka pengguna akan lebih aman. Yang kedua adalah alamat bitcoin yg dihasilkan akan lebih pendek jika pada umumnya alamat yg dihasilkan akan memiliki panjang 256 bit namun pada bitcoin alamat yg dihasilkan dari hash tsbt akan lebih pendek menjadi 160 bit ini akan membuat pengguna lebih nyaman tentunya karena alamat yg dihasilkan lebih pendek.

Jawaban pertama generik dan kurang menjelakan lebih dalam lagi. Masih belum bisa menjawab kenapa tidak 3, atau 4, atau 5 sekalian? Selain itu jawaban yang kedua sepertinya agak miss dari poin pertanyaan ini yang menanyakan hashing pada tiap block. (CMIIW)

Quote from: 5/11/2018 20:00:52   payjoe93   https://bitcointalksearch.org/user/payjoe93-1961841
Pengertian SHA256 adalah suatu script / kode alogaritma untuk mengelola suatu data ( Block ) yang masuk dengan cara membandingkan & memperhitungkan suatu data dengan rumus alogaritma, sehingga data ( Block ) yang keluar dapat di tentukan & di ketahui. SHA256 di ciptakan oleh NSA ( National Security Agency ) yang mana SHA256 juga memiliki keamanan data & privasi. SHA256 dalam BITCOIN berperan berbeda-beda. SHA256 juga berperan untuk menciptakan suatu BITCOIN ADDRESS. Berbeda dalam MINING, SHA256 berfungsi untuk mengelola suatu MINING untuk mendapatkan Hasil / yang biasa di kenal dengan SHARES. Analogi dalam kehidupan SHA256 adalah, SELANG AIR. SHA256 katakanlah selang berdiameter 10cm. Di sebuah tampungan air tersebut ada bermacam - macam bola warna warni dan berdiameter berbeda - beda. Hanya warna merah & hijau yg berdiameter 10cm. Sedangkan kuning berdiameter 8cm. Tampungan air tersebut di alirkan ke sebuah ember menggunakan SELANG ( SHA256), maka bola yang akan melewati selang tersebut dan masuk ke ember adalah Merah, Hijau & Kuning.

Tidak menjawab pertanyaan yang ditanyakan. Kami tidak menanyakan apa itu SHA256.


Pertanyaan #2: Mengapa kita memerlukan adanya konfirmasi (atau banyak konfirmasi) sebelum kita bisa mengirimkan Bitcoin yang kita terima?

Untuk pertanyaan ini saya rasa jawabannya relatif mudah, agan hanya perlu menunjukkan kenapa harus ada konfirmasi, apa yang terjadi bila tidak ada konfirmasi sehingga mau tidak mau diperlukan konfirmasi sebelum Bitcoin bisa kita gunakan.

Quote from: 5/3/2018 22:36:32   evilsign   https://bitcointalksearch.org/user/evilsign-1031765
Ya karena sistem crypto (bitcoin) ini kan decentralisasi, konfirmasi dibutuhkan untuk memvalidasi transaksi atau biasa disebut konsensus,ada PoW dan PoS untuk menentukan block yang valid. Kalau bitcoin kan protokolnya PoW, melalui miner seperti ethereum juga, miner ini memecahkan algorithma, lalu dikonfirmasi, dan untuk bitcoin dibutuhkan 6 konfirmasi bahwa transaksi itu benar-benar valid dan dapat dimasukkan ke blockchain.

Jawabannya kurang detail dan terkesan normatif. Agan bisa memperdalam jawaban seperti ini ke depannya dengan menjelaskan mengapa angka 6 itu bisa menjadi ukuran misalnya, dan seterusnya. Akan tetapi masih nyambung dengan pertanyaan yang diajukan.

Quote from: 5/4/2018 16:26:27   goffbar   https://bitcointalksearch.org/user/goffbar-1975286
Agar terbukti bahwa Bitcoin yang terkirim adalah asli dan bukan hasil penipuan atau SCAM. Selain itu hal tersebut mencegah terjadinya salah pengiriman sehingga orang yang dikirim tidak dapat menggunakan Coin itu.

Jawabannya masih cenderung normatif, saya rasa agan perlu memperdalamnya.

Quote from: 5/11/2018 20:01:50   payjoe93   https://bitcointalksearch.org/user/payjoe93-1961841
   
Untuk memastikan bahwa anda ( pemilik akun ) benar - benar melakukan transaksi. Biasanya konfirmasi akan masuk di Email anda, ada juga yang menggunakan Kode unik, dan masih banyak lagi konfirmasi - konfirmasi setiap Exchange / Wallet. Selain itu, manfaat yang kita dapat adalah kita bisa memastikan kembali apakah Alamat Penerima yang kita isi sudah benar / belum.

Err, wait. Sepertinya salah memahami maksud pertanyaan di atas.

Quote from: 5/16/2018 11:39:16   Protogenox   https://bitcointalksearch.org/user/protogenox-1807878
Karena jika hanya dengan 0/1 konfirmasi transaksi kita akan rentan dengan serangan Race attack atau Finney attack atau bisa dikatakan juga double spends yang jika dipersentasekan 51% rentan. Namun dengan 3 atau lebih, atau 6 konfirmasi secara matematis mustahil bagi penyerang dengan kurang dari 51% dari semua kapasitas penambangan untuk mendapatkan enam blok berturut-turut. dan masih melampaui rantai blok terpanjang. Dengan 51% atau lebih dari 51% penyerang dapat memperoleh enam konfirmasi dengan membuat blockchain paralel di mana hanya transaksi yang disetujui oleh penyerang yang dimasukkan ke dalam blok. So bisa dikatakan dengan 6 konfirmasi bisa ditetapkan bahwa transaksi itu telah aman dan menjadi hak penerima maka jika telah aman tanpa cacat dan diterima barulah bitcoin yg udah jadi hak penerima itu bisa kita teruskan atau kita kirimkan lagi.

Refrensi : https://bitcoin.stackexchange.com/questions/1170/why-is-6-the-number-of-confirms-that-is-considered-secure
https://bitcoin.stackexchange.com/questions/8360/how-many-confirmations-do-i-need-to-ensure-a-transaction-is-successful
Untuk referensi apa itu attack finney attack bisa di lihat di : https://startupcto.io/bitcoin-race-attack/

Nice answer.


Pertanyaan #3: Bagaimana solusi yang memungkinkan untuk mengatasi masalah biaya transfer yang tinggi dan konfirmasi transaksi yang lambat?

Pertanyaan ini bersifat terbuka. Agan bisa menjawab dengan menyampaikan bagaimana penerapan penyelesaian masalah biaya transfer dan konfirmasi yang lama yang telah diterapkan sampai saat ini, ataupun memberikan alternatif gagasan mengenai bagaimana solusi yang memungkinkan untuk mengatasi masalah tersebut ke depannya di luar dari solusi alternatif yang sudah ada dan diterapkan.

Quote from: 5/3/2018 22:49:30   evilsign   https://bitcointalksearch.org/user/evilsign-1031765
Waduh kalau ini cukup kompleks jawabannya haha. Kalau menurut saya sebenarnya terciptanya bitcoin cash, bitcoin diamond, dan lain sebagainya yang tercipta dari HardForknya bitcoin ini sudah menjadi "jawaban" dari solusi kelemahan bitcoin itu, yaitu masalah lelet dan mahalnya fee transaksi, tapi sepertinya "gagal". Ini juga menunjukkan kelemahan BTC yang sangat fatal pada desainnya yang cuman punya blok sebesar 1MB saja. Sedangkan untuk segwit, segwit 2x, lightning apalah itu saya jujur jg belum paham mendetail, cuman intinya sepertinya ingin mempercepat atau mengimprove block btc.

Jawaban agan tidak menjelaskan mengapa itu menjadi solusi atas masalah yang sudah ada. Walaupun menyinggung LN pun juga tidak menjelaskan secara mendetail, walaupun agan seharusnya bisa mempelajarinya dulu sebelum menjawab pertanyaan ini.

Quote from: 5/4/2018 16:17:17   goffbar   https://bitcointalksearch.org/user/goffbar-1975286
Pertanyaan #3   Untuk membuat biaya transfer menjadi lebih rendah, tidak ada cara lain lagi selain memperkecil jumlah transfer. Semakin besar jumlah transfer maka akan semakin tinggi pula biaya transfernya. Hal itu pula menyebabkan kecepatan transfer semakin lambat dan jika ingin mempercepat waktu transfer dapat menambah biaya transfer. Saat ini ada yang disebut dengan Bitcoin Lightning Network yang akan mempercepat transaksi Bitcoin dengan sistem Multi Signature Address. Sumber Bitcoin Lightning Network https://bitcointalksearch.org/topic/edukasi-apa-itu-lightning-network-penjelasan-singkat-3395352

Menurut saya jawaban ini relatif berhubungan, walaupun pemaparannya kurang mendetail. Berkaitan dengan memperkecil jumlah transfer untuk mengurangi biaya tersebut, saya rasa nantinya akan percuma karena akhirnya kita juga perlu mengirimkan berulang-ulang dengan tingkat fee yang berbeda-beda, bahkan bisa jadi bertambah mahal karena kondisi network. Tapi lumayan juga dibandingkan jawaban yang lain.

Quote from: 5/5/2018 1:19:06   fahbil   https://bitcointalksearch.org/user/fahbil-1898722
untuk transfer ke indodax saya akan menggunakan XLM atau XRP tapi tidak terjebak untuk menggunakan doge jika transaksinya besar, untuk lainnya yang mempunyai fee rendah dan kecepatan transaksi dalam hitungan detik adalah EOS, Steem, XSPEC, NEO, BTS

Emm, sepertinya agan salah paham dengan pertanyaan di atas.

Quote from: 5/11/2018 20:02:45   payjoe93   https://bitcointalksearch.org/user/payjoe93-1961841
   
Jika biaya transaksi penghitungannya menggunakan %, hindari transaksi transaksi jumlah besar & jangan melakukan transaksi berkali - kali. Jika penghitungan transaksinya menggunakan nilai ( contoh : 0,000045 ), disarankan untuk transaksi dengan jumlah besar & berkali - kali ( Menerima & Mengirim ). Jika waktu konfirmasi lama segera hubungi CS/HELP SUPPORT via E-Mail / Chat, kirim NOMER LAPORAN yang belum terkonfirmasi.

Emm, sepertinya agan salah paham dengan pertanyaan di atas.


Pertanyaan #4: Mengapa Bitcoin menggunakan fungsi hash sebagai syarat bagi miner untuk menuliskan transaksi-transaksi baru pada blockchain melalui proses mining?

Untuk menjawab pertanyaan ini, pada dasarnya setidak-tidaknya harus terjelaskan mengenai 2 hal, yaitu apa itu fungsi hash dan mengapa dalam penulisan transaksi diperlukan hashing sebagai syaratnya. Apa saja yang menjadi dasar pertimbangan dalam penulisan pada blockchain membutuhkan hashing, kenapa tidak tanpa hashing saja, dan seterusnya.

Quote from: 5/3/2018 22:54:30   evilsign   https://bitcointalksearch.org/user/evilsign-1031765
Jawabannya saya rasa ya karena seperti pada pertanyaan sebelumnya tadi, nomor 2 apa ya kalau tidak salah. Karena desentralisasi, jadi butuh konfirmasi untuk memvalidasi. Misalkan saya ibaratkan ada suatu surat, yang membutuhkn 6 tanda tangan agar bisa dibilang resmi dan dapat di sahkan. Hampir sama seperti hash ini dimana hash adalah tanda tangan dari miner itu sendiri.

Quote from: 5/3/2018 23:31:38   evilsign   https://bitcointalksearch.org/user/evilsign-1031765

Ralat untuk nomor 4 ini,  hash ini maksud saya adalah sebagai kecocokan atau keasliannya. Bagaimana ya, saya gak susah menjelaskannya. Lebih enak menggunakan perumpamaan. Misal ada 6 orang pemimpin perusahaan, dan ada suatu kebijakan yang harus ditandatangani suratnya oleh ke 6 pemimpin perusahaan tersebut, dari mana kira-kira kita tau bahwa draft surat kebijakan tadi adalah asli dari perusahaan? bukan dari pihak lain? Nah disinilah hash itu diperlukan. Dalam analogi tanda tangan yang saya sebutkan pada jawaban sebelumnya tadi yang ingin saya ralat, hash ini misal sebuah surat ada ciri-cirinya,seperti kop surat, logo, cap perusahaan, atau ciri tertentu  yang menandakan bahwa surat itu asli dan otentik sebelum ditandatangani oleh ke 6 pemimpin perusahaan tadi. Jadi miner bitcoin dalam menyelesaikan block akan melihat/ berdasarkan hash,siapa yang hashnya cocok dengan block tersebut maka itulah block yang valid. Jadi kesimpulannya dari pertanyaan ke 4 ini kenapa bitcoin menggunakan fungsi hash xxx... adalah biar aman. Sekali lagi itu adalah proteksi, kalau duit fisik ada proteksinya seperti benang pengaman,serial number dll, nah kalau bitcoin ya pake hash."

Jawaban ini menurut saya relatif baik, sayangnya tidak menjawab pertanyaan ini secara utuh. Kenapa demikian? Karena yang ditanyakan bukanlah mengapa dalam sistem Bitcoin mengharuskan adanya hashing ketika pembuatan blok, akan tetapi lebih kepada segi mengapa miner dibebani beban itu ketika ingin menuliskan data yang dia dapat dari network. Jawaban agan evilsign lebih mengarah pada asumsi bahwa fungsi hash ada sebagai alat untuk melakukan validasi transaksi, akan tetapi tidak menyentuh aspek bahwa fungsi hash tersebut juga berperan sebagai alat untuk menjaga agar value Bitcoin tetap atau bahkan meningkat karena miner akan senantiasa diharuskan untuk memperoleh hash yang tepat dengan kesulitan yang semakin meningkat.

Quote from: 5/11/2018 20:03:29   payjoe93   https://bitcointalksearch.org/user/payjoe93-1961841
Untuk membuat BLOK baru yang berisi transaksi - transaksi baru. Sebagai imbalannya seorang MINER akan mendapatkan beberapa BITCOIN karena telah menciptakan BLOK baru tersebut. Selain itu seorang MINER sangat berperan di jaringan BITCOIN.

Tidak menjawab pertanyaannya. Atau menjawab tapi jawabannya tidak seperti yang diharapkan. Agan harus menjelaskan mengapa pembuatan blok itu harus dilalui dengan melakukan hashing.


Pertanyaan #5: Saat ini kita tidak memiliki fitur untuk menarik coin yang telah kita kirimkan pada sebuah address (baik sudah dikonfirmasi atau tidak). Menurut agan apakah hal ini merupakan suatu fitur yang perlu ditambahkan pada Bitcoin? Mengapa demikian?

Untuk menjawab pertanyaan ini, setidaknya agan-agan bisa menunjukkan dampak baik dan negatifnya ketika tidak ada dan ada fitur penarikan uang. Pertanyaan ini bersifat terbuka, alias tidak ada jawaban tunggal yang saat ini dipegang oleh saya. Kreativitas menjawab pertanyaan ini yang lebih ditekankan untuk menjawab pertanyaan tersebut.

Quote from: 5/3/2018 23:01:41   evilsign   https://bitcointalksearch.org/user/evilsign-1031765
Hmm, saya rasa ini belum perlu deh. Buat apa bisa dibalikin? nanti malah bikin repot lagi. Lagian selama ini bila kita transfer duit ke rekening bisa dibalikin alias dibatalin ? kan nggak ya? Maaf kalau salah mohon dikoreksi. Soalnya ini kan alat pembayaran, ya searah dong. Kecuali ada perjanjian antara buyer dan seller, bukannya dibalikin atau dibatalin bahasa sistemnya, melainkan di kirim lagi dari arah yang berbeda. Misal tadinya A ngirim ke B. Ya udah itu 1 transaksi. Kalau ada something misalkan pembatalan proses pembelian, ya si B melakukan transaksi lagi dengan mengirim sejumlah dana ke A. tetep saja terjadi 2 kali proses transaksi kan, tanpa membatalkan transaksi pertama tadi. Kalau misal ada transaksi reversible nanti bakalan muncul masalah baru lagi.

Jawabannya tidak perlu dibalikin. Dasarnya:
1. Yang namanya alat pembayaran harusnya searah, tidak bisa dua arah. (Dasarnya apa belum dijelaskan. Analogi dengan transfer duit ke rekening agak kurang match menurut saya, atau mungkin harusnya lebih dieksplisitkan lagi.)
2. Lebih prefer ada sistem dikirim ulang dari arah yang berbeda. Artinya, transaksinya bukan pembatalan atau penarikan, melainkan kirim balik oleh si pihak kedua. Hal ini dinilai lebih baik karena bisa menghindari masalah baru yang muncul karena ada fitur penarikan uang. (Yaitu repot?)

Quote from: 5/4/2018 15:31:48   abhiseshakana   https://bitcointalksearch.org/user/abhiseshakana-1878246
Diperlukan sebuah fitur untuk menarik coin yang telah kita kirimkan pada sebuah address, tapi dengan kondisi fitur ini hanya berfungsi pada transaksi yang belum dikonfirmasi (unconfirm transaction). Karena pada kenyataannya banyak kasus Unconfirm transaction memakan waktu yg sangat lama, dah bahkan sampai expired. Dengan adanya fitur ini, kita tidak perlu cemas lagi manakala BTC kita terkatung-katung didalam blockchain tanpa ada satupun konfirmasi. Sehingga kita bisa merubah nilai fee, supaya transaksi lebih cepat untuk dikonfirmasi.

Dari jawaban ini disampaikan bahwa fitur menarik kembali transaksi ini diperlukan akan tetapi hanya pada kasus transaksi yang belum terkonfirmasi, dengan dasar karena koinnya stuck relatif lama sehingga bisa ditarik kembali lah supaya bisa lebih bermanfaat. Poin perubahan nilai fee tersebut sebenarnya tidak berhubungan secara langsung dengan masalah penarikan koin kembali, karena kita bisa mengubah jumlah fee atau mengakali transaksi yang stuck di blockchain dengan CPFP.

Quote from: 5/4/2018 15:59:14   goffbar   https://bitcointalksearch.org/user/goffbar-1975286
Boleh saja ditambahkan fitur tersebut, karena akan berguna apabila kita salah memberikan koin pada alamat orang lain. Dengan catatan pihak yang ditransfer coin menyetujui penarikan coin tersebut. Akan tetapi mungkin saja pihak tersebut tidak mau menyetujuinya karena mereka ingin mendapatkan coin. Tetapi fitur tersebut akan tetap berguna jika penarikan tersebut tidak mendapat biaya tambahan atau pajak.

Pendapat ini didasarkan pada asumsi bahwa hal tersebut secara praktis berguna apabila kita salah memberikan alamat pada orang lain, selama orang lain tersebut menyetujui penarikan koin tersebut. Analisis berikutnya memaparkan konsekuensi negatif atau potensi tidak bergunanya sistem ini ketika diterapkan yaitu bahwa penerima bisa saja menolak memberikan koinnya. Untuk masalah pajak atau biaya tambahan mungkin ini hubungannya lebih dekat dengan fee.

Quote from: 5/11/2018 20:04:07   payjoe93   https://bitcointalksearch.org/user/payjoe93-1961841
Menurut saya fitur tersebut tidak perlu di tambahkan. Akan lebih riskan jika kita bertransaksi P2P. Contohnya, saat kita membeli BITCOIN dengan UANG RUPIAH dengan metode P2P pemilik BITCOIN yang kita beli akan lebih mudah menarik kembali BITCOIN tersebut. Jikalau ada fitur MENARIK BOITCOIN kembali, akan lebih aman jika menambahkan fitur memasukkan KODE VERIFIKASI yang harus sesuai / sama antara pengirim & penerima sebelum nilainya masuk ke WALLET.

Sejujurnya saya kurang memahami bagian awalnya. Maksudnya apakah kalau fitur menarik kembali koin itu ditambahkan, hal ini akan lebih berbahaya ketika kita bertransaksi dua orang secara tertutup? Kalau iya, maka saya rasa kekhawatirannya lumayan masuk akal karena apabila sistem ini ditambahkan maka bisa saja pemilik awal bitcoin itu menarik kembali bitcoinnnya secara tiba-tiba setelah kita memberikan uang untuknya.

Untuk poin penambahan kode verifikasi itu menurut saya relatif menarik. Akan tetapi jawaban agan sebenarnya masih belum menyentuh aspek fundamentalnya, karena dasar dari penjelasan agan berkutat pada asumsi sistem penarikan Bitcoin tertentu yang bisa jadi berbeda. Dalam arti, jawaban tidak perlu ditambahkan tersebut berasumsi tidak adanya fitur verifikasi antara penerima dan pengirim dari Bitcoin, sementara jawaban yang menerima itu berasumsi pada adanya model verifikasi antara pengirim dan penerima dalam sistem tersebut. Akan tetapi pertanyaan fundamentalnya belum terjawab, mengapa fitur ini tidak perlu / perlu dan apakah bisa ditambahkan / tidak?
Pages:
Jump to: